Introdución á tecnoloxía Java

De Manuais Informática - IES San Clemente.
Revisión del 21:45 18 dic 2007 de Arribi (Hablar | contribs.) (→Exercicios)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Orixes da linguaxe

A linguaxe de programación Java nace no ano 1995 da man da empresa Sun Microsystems. O termo Java refírese a unha taza de café en argot americano, de aí o seu logotipo.

Java é unha linguaxe interpretada polo que pode executarse en calquera computador que teña un intérprete Java. A este intérprete chámaselle a Java Virtual Machine (JVM) ou máquina virtual de Java. A JVM non precisa un hardware nin un S.O. concreto. De feito, o eslogan de Java é “Write once, run everywhere”.

Características da linguaxe

Java é unha linguaxe orientada a obxectos, polo que incorpora toda a potencialidade deste paradigma de programación: reutilización de código, encapsulación, etc.

A súa sintaxe é similar á de C e C++. Permite desenvolver aplicacións convencionais, igual que estas linguaxes, pero tamén applets.

Fronte a C e C++ é unha linguaxe máis simple no que se refire ao tratamento de punteiros, xa que, dende o punto de vista do programador, non ten. Para xestionar a memoria utiliza unha ferramenta incluída na plataforma que se chama garbage collector que elimina obxectos cando non se utilizan.

Con Java pódense crear aplicacións concorrentes e incorpora mecanismos específicos para garantir a seguridade no contorno de desenvolvemento.

Por último, é unha linguaxe interpretada polo que incrementa a velocidade de desenvolvemento de programas, xa que se elimina o ciclo compilación-enlace-carga-verificación. Asemade, esta característica faino portable, é dicir, pode executarse en calquera computador que teña unha JVM (Java Virtual Machine), é dicir, un intérprete.

A máquina virtual de Java

O código fonte dos programas Java non se compilan directamente para crear código máquina dunha arquitectura de procesador concreta, senón que se traducen a un código intermedio chamado bytecodes. Estes bytecodes son instrucións que executan accións na máquina virtual (Java Virtual Machine), polo tanto serven para calquera arquitectura hardware.

Proceso de compilación en Java
Proceso de compilación en Java

A JVM non é como un intérprete dunha linguaxe de alto nivel no sentido de que a entrada da máquina virtual son bytecodes e a saída, código máquina, mentres que a entrada dun intérprete son instrucións da linguaxe e a saída, código máquina. Os bytecodes non son instrucións da linguaxe, senón código intermedio.

Deste xeito conseguimos que Java sexa multiplataforma xa que se pode executar en calquera arquitectura, sempre e cando teñamos unha máquina virtual para ela.

O xestor automático de memoria

Noutras linguaxes, como C, o programador é o encargado de reservar e liberar memoria para determinadas variables. Java usa unha ferramenta, o Recolector de Lixo (Garbage Collector), que comproba que memoria pode liberarse e libéraa automaticamente, sen intervención do programador. Con todo, existe a posibilidade de liberar recursos mediante mecanismos específicos que se verán noutras seccións.

A seguridade da plataforma Java

Java incorpora mecanismos específicos para garantir a seguridade do sistema. Por unha parte, todo o código execútase dentro da máquina virtual e por outra, cando se cargan os bytecodes existe un proceso de verificación dos mesmos antes de que estes se executen.

Exercicios

  1. Cal é a diferencia entre un compilador e un intérprete?
  2. Que son os bytecodes?
  3. Cal é a diferencia entre a Java Virtual Machine e un intérprete?
  4. Descrebe coas túas palabras tres características da linguaxe de programación Java.
  5. Busca exemplos en Internet de linguaxes de programación interpretados, como Java
  6. Utilizando un editor de textos copia o seguinte código fonte no teu computador:
/**
* A clase MeuPrograma implementa unha aplicación que
* simplemente imprime o texto "¿Qué hay de nuevo, viejo?" na saída estándar.
*/
class MeuPrograma {
   public static void main(String[] args) {
     System.out.println("¿Qué hay de nuevo, viejo?"); // Mostra a cadea.
   }
}

Compila o código fonte utilizando a ferramenta javac e tecleando a seguinte orde (ollo coas maiúsculas e minúsculas):

javac MeuPrograma.java

Isto dará como resultado un ficheiro .class que traduce o texto que acabas de teclear a instrucións para a JVM.

  1. Que cres que conterá o ficheiro .class?

Comproba que o programa funciona en GNU/Linux e en MS-Windows e que o resultado é o mesmo. Para elo executa o ficheiro .class mediante a orde:

java MeuPrograma