notifications Notificaciones

Marcar todas como leídas

Ver más

lightbulb_outline

422 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 como 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

Como 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 como 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 Mirtual Machine, debemos de verlo como un todo, no podemos hablar de uno sin el otro. ?

Recomendaciones

Stack de Tecnologías

Lo lees en 1 Min.

Como mencioné en el tema pasado, los ejemplos del curso estarán escritos con JavaScript y NodeJS....

 

Desarrolladores Frontend que debes seguir en Twitter

Lo lees en 3 Min.

Las personas desde que empezamos a crecer, manifestamos cierta tendencia imitativa, la cual ...

 

Función map

Lo lees en 1 Min.

En Python, la función map nos permite aplicar una función sobre los items de un objeto iterable (...

 

Monitorear cambios en Ruby on Rails.

Lo lees en 1 Min.

Ruby on Rails nos brinda diferentes métodos y atributos con los cuales podemos conocer si se han ...