Ventajas y desventajas del intérprete de máquina virtual de Java

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 asemejan a aplicaciones de escritorio. El Intérprete de Máquina Virtual de Java que se ejecuta en segundo plano le permite disfrutar de estas ventajas, pero tiene desventajas notables.

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 de Java. Cuando visita una página web que tiene un programa Java, también llamado subprograma, su navegador activa la máquina virtual de Java que interpreta el código Java y ejecuta el subprograma. Como una máquina informática 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 subprogramas de Java pueden realizar tareas útiles que el código HTML normal no puede, Java se ejecuta aislado dentro de la máquina virtual de Java. La JVM garantiza que un subprograma renegado de un sitio peligroso no pueda acceder a los recursos del sistema, como los discos duros.

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

Aunque la JVM restringe las acciones de un subprograma, aún es posible que los atacantes exploten 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 subprograma en "Alto". Esta configuración garantiza que su navegador le avise cuando un subprograma no firmado intente ejecutarse. Como señala Microsoft, "la gran mayoría de los applets que explotan las vulnerabilidades de seguridad no están firmados". Una firma digital en un subprograma le permite saber quién lo creó y verificar que nadie modificó el subprograma 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 una pieza de 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:Es posible que se requiera algún ensamblaje

Si nadie instaló 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 utiliza su compilador justo a tiempo para convertir el código Java en un 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 tener que descargarlo de nuevo y seguir los pasos de compilación.