Diseño y Desarrollo

Una pregunta… ¿Cómo funciona Java?

Java es un lenguaje de programación desarrollado inicialmente por Sun Microsystems y que según muchos especialistas está llamado a transformar la Web, permitiendo crear programas interactivos e incorporar características multimedia. Java es un lenguaje orientado a objetos similar a C++ que nos permite desarrollar aplicaciones completas e independientes, no sólo para internet sino también para cualquier ámbito. Además, otra de las características más importantes del lenguaje java es la posibilidad de que las aplicaciones con el construídas sean operativas bajo diferentes plataformas.

Los programas java destinados a la Web se ejecutan dentro de los navegadores que estén preparados para ello, todos los navegadores modernos lo están, y son conocidos como applets (miniaplicaciones). Cuando al navegar se encuentra una página que alberga un applet java se pone en funcionamiento lo que es llamado «máquina virtual», que prepara al navegador para la ejecución automática de esta miniaplicación, que previamente es descargada desde el servidor al ordenador cliente.

  • La llegada de Java

En 1991, la empresa Sun Microsystems crea el lenguaje Oak (de la mano del llamado proyecto Green). Mediante este lenguaje se pretendía crear un sistema de televisión interactiva. Este lenguaje sólo se llegó a utilizar de forma interna. Su propósito era crear un lenguaje independiente de la plataforma y para uso en dispositivos electrónicos. Se intentaba con este lenguaje paliar el problema fundamental del C++; que consiste en que al compilar se produce un fichero ejecutable cuyo código sólo vale para la
plataforma en la que se realizó la compilación. Sun deseaba un lenguaje para programar pequeños dispositivos electrónicos. La dificultad de estos dispositivos es que cambian continuamente y para que un programa funcione en el siguiente dispositivo aparecido, hay que rescribir el código. Por eso Sun quería crear un lenguaje independiente del dispositivo.

En 1995 pasa a llamarse Java y se da a conocer al público. Adquiere notoriedad rápidamente y pasa a ser un lenguaje totalmente independiente de la plataforma y a la vez potente y orientado a objetos. Esa filosofía y su facilidad para crear aplicaciones para redes TCP/IP ha hecho que sea uno de los lenguajes más utilizados en la actualidad. La versión actual de Java es el llamado Java 2. Sus ventajas sobre C++ son:

* Su sintaxis es similar a C y C++
* No hay punteros (lo que le hace más seguro)
* Totalmente orientado a objetos
* Muy preparado para aplicaciones TCP/IP
*Implementa excepciones de forma nativa
*Es interpretado (lo que acelera su ejecución remota, aunque   provoca que las aplicaciones Java se ejecuten más lentamente   que las C++ en un ordenador local).
*Permite multihilos
*Admite firmas digitales
*Tipos de datos y control de sintaxis más rigurosa
*Es independiente de la plataforma
*La última ventaja (quizá la más importante) se consigue ya que   el código Java no se compila, sino que se precompila, de tal   forma que se crea un código intermedio que no es   ejecutable. Para ejecutarle hace falta pasarle por un intérprete   que va ejecutando cada línea. Ese intérprete suele ser la   máquina virtual de Java.

  • Características de Java

Un programa C o C++ es totalmente ejecutable y eso hace que no sea independiente de la plataforma y que su tamaño normalmente se dispare ya que dentro del código final hay que incluir las librerías de la plataforma .

Los programas Java no son ejecutables, no se compilan como los programas en C o C++. En su lugar son interpretados por una aplicación conocida como la máquina virtual de Java (JVM). Gracias a ello no tienen porque incluir todo el código y librerías propias de cada sistema.

Previamente el código fuente en Java se tiene que precompilar generando un código (que no es directamente ejecutable) previo conocido como bytecode o J-code. Ese código (generado normalmente en archivos con extensión class) es el que es ejecutado por la máquina virtual de Java que interpreta las instrucciones de los bytecodes, ejecutando el código de la aplicación.

El bytecode se puede ejecutar en cualquier plataforma, lo único que se requiere es que esa plataforma posea un intérprete adecuado (la máquina virtual de esa plataforma). La máquina virtual de Java, además es un programa muy pequeño y que se distribuye gratuitamente para prácticamente todos los sistemas operativos. A este método de ejecución de programas en tiempo real se le llama Just in Time (JIT).

En Java la unidad fundamental del código es la clase. Son las clases las que se distribuyen en el formato bytecode de Java. Estas clases se cargan dinámicamente durante la ejecución del programa Java.

Comments
To Top