Antes de que existiera Adobe Flash y otras tecnologías web modernas, los propietarios de sitios usaban Java para crear sitios web atractivos e interactivos. Al igual que Flash, un programa Java reproduce películas, genera gráficos de alta calidad y admite aplicaciones complejas que se parecen a las aplicaciones de escritorio. El Java Virtual Machine Interpreter que se ejecuta detrás de escena le permite disfrutar de estas ventajas, pero tiene desventajas notables.

Mujer de negocios joven usando auriculares

Anatomía de una máquina virtual Java

El término Java tiene varios significados; puede referirse al lenguaje de programación que usan los desarrolladores para crear aplicaciones, la especificación de la interfaz del programador de aplicaciones o la especificación de la máquina virtual Java. Cuando visita una página web que tiene un programa Java, también llamado applet, su navegador activa la máquina virtual Java que interpreta el código Java y ejecuta el applet. Al igual que una máquina de computación real, la JVM procesa instrucciones y administra áreas de memoria.

Ventaja: Java se ejecuta en un área protegida

Imagine lo que podría pasar si una página web tuviera la capacidad de eliminar sus archivos o examinar sus documentos privados. Aunque los applets de Java pueden realizar tareas útiles que el código HTML normal no puede, Java se ejecuta aislado dentro de la máquina virtual Java. La JVM asegura que un applet renegado de un sitio peligroso no pueda acceder a los recursos del sistema, como los discos duros.

Desventaja: los cibercriminales pueden explotar la máquina virtual Java

Aunque la JVM restringe las acciones de un applet, los atacantes aún pueden explotar las debilidades en la plataforma Java. Por ejemplo, a principios de 2013, Microsoft vio tres ejemplos de applets diseñados para usar la ejecución remota de código para infectar computadoras. Oracle, el desarrollador de Java, lanzó una actualización que lo mantiene más seguro al establecer los niveles de seguridad predeterminados del applet en "Alto". Esta configuración garantiza que su navegador le avise cuando un applet no firmado intente ejecutarse. Como señala Microsoft, "la gran mayoría de los applets que explotan vulnerabilidades de seguridad no están firmados". Una firma digital en un applet le permite saber quién lo creó y verificar que nadie modificó el applet después de que el creador lo firmó.

Ventaja: talla única

"Plataforma cruzada" se refiere a la capacidad de un programa para ejecutarse con éxito en diferentes tipos de hardware. Debido a que Java es multiplataforma, los desarrolladores pueden escribir un código que se ejecuta en cualquier PC, Mac, teléfono celular y cualquier otro dispositivo que tenga una JVM. Java no siempre tiene que ejecutarse en un navegador. Puede descargar aplicaciones Java que se ejecutan en su escritorio como lo hacen los programas normales.

Desventaja: se puede requerir alguna asamblea

Si nadie instaló el Java Runtime Environment en su computadora, no puede usar Java. Visite la página web Verify Java Version y siga las instrucciones para descargar e instalar la última versión si no la tiene. Aunque no es una instalación larga, pueden ocurrir algunos problemas, así que consulte la página de solución de problemas de Java si necesita ayuda para que su instalación funcione.

Ventajas Adicionales

En un nivel detallado, Java Virtual Machines usa su compilador justo a tiempo para convertir el código Java en lenguaje de máquina de bajo nivel que se ejecuta tan rápido como las aplicaciones normales. Dado que los navegadores pueden almacenar en caché este código compilado, pueden reutilizarlo más tarde sin descargarlo nuevamente y seguir los pasos de compilación.