No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
19 Hrs
30 Min
45 Seg

Qué es la Java Virtual Machine

2/37

Lectura

¿Qué es una Java Virtual Machine?

Una virtual machine es una virtualización o simulación de un sistema operativo o de los procesos que ocurren dentro de este. En nuestro caso, la Java Virtual Machine pertenece al segundo tipo y se encarga de simular los procesos que ocurren dentro de un sistema operativo. A este tipo de máquinas virtuales se les llama Process Virtual Machines.

¿Qué ventaja nos da?

Nos ayuda a manejar los punteros y las referencias de memoria que en otros tipos de lenguaje como C o C++ hay que manejar manualmente. Para esto se utiliza un proceso llamado garbage collection. Este proceso se encarga de revisar qué referencia de memoria no se está utilizando para eliminarla y así reducir la cantidad memoria que puede consumir un programa.

¿Cómo funciona la JVM?

La JVM funciona como un punto medio entre el código que nosotros escribimos y lo que entiende el sistema operativo del ordenador. Dependiendo del sistema operativo que uses puede variar. La JVM nos ayuda a que nuestro código se ejecute en Linux, Windows y MacOS. Nuestro código es convertido por la JVM a un lenguaje que puede entender el sistema operativo llamado Java Bytecode.

En palabras más simples, nosotros ingresamos código de Kotlin y se transforma en Bytecode. Este proceso puede ocurrir con otros lenguajes como Java, esto hace que nuestro código de Kotlin pueda ser utilizado desde Java y el código de Java pueda ser utilizado en Kotlin.

Aportes 20

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Bytecode vs lenguaje ensamblador
Bytecode es similar a lenguaje ensamblador en que no es un lenguaje de alto nivel, pero todavía es algo legible, a diferencia del lenguaje de máquina. Ambos pueden considerarse “lenguajes intermedios” que se encuentran entre el código fuente y el código de máquina. La principal diferencia entre los dos es que el código de bytes se genera para una máquina virtual (programa.), mientras que el lenguaje ensamblador se crea para un CPU (hardware).

Perdone profe, pero la defincion en los ultimos 2 parrafos no es correcta.

Al realizar la compilacion de un fichero, el compilador (JAVAC) y no la JVM, se encarga de convertir el codigo a Bytecode. Los ficheros (.class) resultantes son ejecutados por la JVM y traducidos a codigo maquina, para que luego ese codigo maquina, sea ejecutado por el procesador.

Saludos!

La JVM interpreta el bytecode en algo que cada sistema operativo puede entender

Muy interesante como puede llegar al mismo punto desde diferentes lenguajes. Desde luego, es muy poderosa la JVM.

La similitud entre ambos lenguajes, hacen que kotlin sea la nueva actualización de java, uno de los códigos base en la programación de multiplataforma, kotlin nace como la alternativa o como un hijo de todo lo aprendido por java.

Kotlin potencializa el código, ayudándolo a simplificar una sintaxis algo robusta y rígida en la programación con java.
Mejora la compilación y los tiempos de respuesta en la virtualización del su código fuente.

![]

El grabage collector "solo" se encarga de elimininar los objetos que estan en memoria pero ya no estan referenciados, y no tiene nada que ver con el manejo de punteros.
La principal ventaja de que use la JVM, por encima de cualquier otra, es la portabilidad. Una vez que obtenemos el bytecode, el mismo puede ser ejecutado en cualquier sistema operativo con solo instalarle una JVM. Esta es la principal ventaja sobre un lenguaje compilado, este ultimo crea un ejecutable que es mucho mas veloz, pero que no es portable entre sistemas operativos.
Te has preguntado, como es que el bytecode generado por JVM es ejecutado finalmente por el procesador? Bueno aquí la respuesta: El bytecode generado por la **Java Virtual Machine (JVM)** es un conjunto de instrucciones que se ejecuta en la máquina virtual. Permíteme explicarte cómo funciona: 1. **Compilación a bytecode**: * Cuando compilas un programa Java, el **compilador** traduce el código fuente en **bytecode**. Este bytecode es independiente de la plataforma y se almacena en archivos `.class`. * Cada método en una clase Java se compila en una serie de instrucciones de bytecode. 2. **Carga de clases**: * Cuando ejecutas un programa Java, la JVM carga las clases necesarias en memoria. * La JVM interpreta el bytecode y lo ejecuta en tiempo de ejecución. 3. **Interpretación y ejecución**: * La JVM tiene un **intérprete** que lee las instrucciones de bytecode y las ejecuta. * El intérprete convierte las instrucciones en llamadas al sistema operativo o instrucciones específicas del procesador. 4. **Optimización Just-In-Time (JIT)**: * Para mejorar el rendimiento, la JVM utiliza una técnica llamada **compilación JIT**. * El JIT traduce partes del bytecode en código de máquina nativo durante la ejecución. * Esto permite que las instrucciones se ejecuten más rápido en el procesador. 5. **Ejecución en el procesador**: * El procesador ejecuta las instrucciones de máquina nativa generadas por el JIT. * Estas instrucciones son específicas de la arquitectura del procesador y se ejecutan directamente en la CPU. [**En resumen, el bytecode generado por la JVM se ejecuta mediante un proceso de interpretación y, en algunos casos, compilación JIT, antes de llegar al procesador para su ejecución**](https://www.javatpoint.com/java-bytecode)**.**
La maquina virtual el poder de estos lenguajes para garantizar interoperabilidad en diferentes S.operativos
Saludos
[Mega4D](https://togeldana.sardengeprek.ac.id/) merupakan situs judi online terpercaya di indonesia dengan permainan judi resmi 2024. Hanya dengan daftar Mega4D hari ini semua pemain dapat dengan mudah memainkan permainan yang telah tersedia dari situs judi mega4d resmi. Pastinya semua game seru yang tersedia oleh bandar Mega4D berkualitas gampang jackpot maxwin. <https://togeldana.id/>https://mega4d.my.id/ [**https://mega4d-dana.com/**](https://mega4d-dana.com/) <https://mega4d-dana.com/> <https://newschoolkaidan.com/> [**https://newschoolkaidan.com/**](https://newschoolkaidan.com/)
```js es una plataforma virtual capaz de ejecutar y interpretar funciones ```
Excelente, muchas gracias
👍👍👍

la JVM propicia la interoperabilidad entre distintos ecosistemas desde el punto de vista de sistemas operativos

Deberían por favor renovar este curso, haciendo una ruta de desarrollo movil y muchisima más profundización en el tema ¿porque aún no implementan nada de esto?

Sin la JVM nuestro código fuente no seria entendido por el sistema operativo de nuestras computadoras.

La JVM (Java Virtual Machine) se encarga de ejecutar el código de forma que funcione en cualquier dispositivo o sistema operativo.