notifications Notificaciones

Marcar todas como leídas

Ver más

lightbulb_outline

1681 veces ha sido leído este artículo

Cómo funciona la maquina virtual de Java

Lo lees en 2 Min.

Una de las principales características de Java es que una vez nosotros codificamos un programa este puede ser ejecutado N cantidad de veces en diferentes plataformas. A esta característica lo conocemos cómo WORA (Write Once Run Everywhere). Esto es posible gracias a la máquina virtual de Java, pero, ¿Exactamente cómo funciona?.

Bien, en este post hablaremos de la máquina virtual de Java y veremos por qué es una parte crucial en el desarrollo de aplicaciones Java.

Máquina virtual y ByteCode

Cómo sabemos Java es un lenguaje compilado. Nuestros archivos con extensión .java no pueden ser comprendidos por nuestros dispositivos. Lo que debemos de hacer es compilarlos:

javac archivo.java

Sin embargo, el proceso de compilación tampoco entrega código que la máquina pueda comprender (unos y ceros), en cambio, produce archivos con extensión .class, estos archivos se componen de Bytecode.

Bytecode es un conjunto de instrucciones altamente optimizadas, que se encuentran diseñadas para ser ejecutadas por el sistema de tiempo de ejecución de Java, llamado Java Virtual Machine (JVM) o por su traducción al español máquina virtual de Java.

Es en esencia, la JVM es quien interpreta y ejecuta el código Bytecode, de tal manera que el dispositivo ya pueda realizar las tareas previamente escritas.

Como cada dispositivo, posee una arquitectura y un sistema operativo diferente, existe una JVM para cada entorno, para Windows, Linux, Mac, Android etc ... De esta manera cada JVM proporciona una biblioteca de recursos con la cual es posible acceder a características del dispositivo (Gráficos, Threads, interfaces de Red, etc...).

Una vez exista un archivo .class con las instrucciones en ByteCode este puede ser ejecutado en cualquier dispositivo, lo único que podría cambiar entre cada dispositivo es la JVM utilizada, mientras que el archivo se mantiene igual.

Aunque cada JVM se escribe en código nativo de la plataforma, todas comprenden el mismo bytecode, esto hace a las aplicaciones JAVA portables.

Podemos ver al JVM cómo un puente entre nuestras aplicaciones y el dispositivo en donde se esta ejecutando.

Tareas

JVM realiza múltiples tareas para poder garantizar la ejecución exitosa de nuestro programa.

Aqui un listado

  1. Verifica el código ByteCode.
  2. Reservar espacio en memoria para las variables y objetos creados.
  3. Libera la memoria no usada (garbage collection). .4 Llamado de funciones del dispositivo (APIs nativas)

Conclusión

Cuando nos referimos a Java no solo nos referimos al lenguaje de programación, también nos referimos a la JAVA Virtual Machine, debemos de verlo cómo un todo, no podemos hablar de uno sin el otro. ?

Recomendaciones

React Hooks

Lo lees en 4 Min.

Hace unos días, durante la ReactConf, Sophie Alpert quien maneja el equipo de desarrollo de React...

 

Utiliza ficheros Yaml para la configuración de tus aplicaciones

Lo lees en 2 Min.

En todas las aplicaciones sean del tipo que sean es necesario utilizar parámetros de configuració...

 

Crear pruebas automatizadas en Laravel con phpunit

Lo lees en 2 Min.

Hola developers. En esta ocasión quiero compartir como empezar a utilizar TDD (Test Driver Devel...

 

Resumen de la Semana (Octubre 8-14)

Lo lees en 5 Min.

Introducción Hola Codiers. Esta semana estamos cargados de noticias de tecnología, desde lanzami...

 

Comunidad