Lenguaje interpretado (por su máquina virtual) pero es compilado previamente
Además del lenguaje, se proporciona toda una plataforma sobre la que se puede desarrollar (incluso con otros lenguajes)
Componentes principales
El compilador de Java (javac)
La máquina virtual de Java (JVM)
La máquina virtual (JVM: Java Virtual Machine)
Los principales componentes de la Java Virtual Machine son:
Java Stack: Zona de memoria donde se almacenan las llamadas a métodos y las variables locales y referenciadas
Java Heap: Zona de memoria donde se almacenan los objetos creados
Garbage collector (Recolector de basura): Se encarga de liberar aquellos objetos que ya no es necesario mantener en memoria (sin que el programador tenga que hacer nada)
Kit de desarrollo/ Entorno de ejecución
JDK
Compilador java (javac):
La JVM y el comando java para ejecutar las aplicaciones
Utilidad para empaquetar aplicaciones (jar): Biblioteca de clases
Lo necesita cualquier programador que quiera desarrollar aplicaciones en lenguaje Java
JRE
No incluye las herramientas javac y jar
Lo necesita cualquier usuario que quiera ejecutar aplicaciones Java en su equipo