Los programas
Java se compilan a un lenguaje intermedio, denominado Bytecode. Este código es
interpretado por la máquina virtual de Java del entorno de ejecución (JRE) y
así se consigue la portabilidad en distintas plataformas. El JRE es una pieza
intermedia entre el código Bytecode y los distintos sistemas operativos
existentes en el mercado. Un programa Java compilado en Bytecode se puede ejecutar
en sistemas operativos como Windows, Linux, Mac Os, Solaris, BlackBerry OS, iOs
o Android utilizando el entorno de ejecución de Java (JRE) apropiado.
Una de las
características más importantes de los lenguajes de programación modernos es la
portabilidad. Como se ha comentado antes, un programa es portable cuando es
independiente de la plataforma y puede ejecutarse en cualquier sistema operativo
y dispositivo físico. Los programas Java son portables porque se ejecutan en
cualquier plataforma. Sucede algo parecido con las fotografías o los ficheros
PDF. Las fotografías con formato JPEG son portables porque un archivo JPEG lo
podemos visualizar con distintos visores de fotos y en dispositivos como
ordenadores, tabletas o celulares. El formato JPEG es un estándar para
almacenar archivos de imagen. Todas las imágenes JPEG tienen el mismo formato y
los visores de fotos están diseñados para mostrar las imágenes con este formato.
De forma similar, los archivos PDF (Portable Document Format) son portables. El
formato PDF fue desarrollado por Adobe Systems con la idea de que estos
archivos se puedan ver en cualquier dispositivo que tenga instalado Adobe
Acrobat Reader, el software de visualización de documentos PDF.
La
portabilidad de Java ha contribuido a que muchas organizaciones hayan desarrollado
sus sistemas de comercio electrónico y sus sistemas de información en Internet
con Java. El proceso de desarrollo y de mantenimiento de los sistemas resulta
menos costoso y las aplicaciones son compatibles con distintos sistemas
operativos.
La evolución
del lenguaje de programación Java ha sido muy rápida. La plataforma de
desarrollo de Java, denominada Java Development Kit (JDK), se ha ido ampliando
y cada vez incorpora a un número mayor de programadores en todo el mundo. En
realidad Java no solo es un lenguaje de programación. Java es un lenguaje, una
plataforma de desarrollo, un entorno de ejecución y un conjunto de librerías
para desarrollo de programas sofisticados. Las librerías para desarrollo se
denominan Java Application Programming Interface (Java API).
El siguiente
imagen muestra los elementos de la plataforma Java, desde el código fuente, el
compilador, el API de Java, los programas compilados en Bytecode y el entorno
de ejecución de Java. Este entorno de ejecución (JRE) y la computadora virtual
(JVM) permiten que un programa compilado Java se ejecute en distintos sistemas
operativos.