El principio básico de Java es la portabilidad. El código fuente no se compila en código de máquina para un procesador específico; en lugar de eso, se compila en código de bytes, una representación intermedia. El código de bytes lo ejecuta la JVM, que está disponible en todas las plataformas principales.
La ejecución de un programa Java consta de tres etapas. Primero escribe el código fuente en archivos .java. Luego, el compilador javac lo convierte a código de bytes (archivos .class). Finalmente, la JVM interpreta o compila JIT el código de bytes en instrucciones nativas de la máquina.
A menudo se confunden tres términos, pero están anidados: JVM es el núcleo que ejecuta el código de bytes; JRE agrega las bibliotecas estándar; JDK agrega las herramientas de compilación y desarrollo en la parte superior.
Desde 2017, Java sigue una cadencia de lanzamiento predecible: una nueva versión cada 6 meses. Ciertas versiones se denominan LTS (soporte a largo plazo) y reciben actualizaciones de seguridad durante varios años.
Java está presente en prácticamente todas las áreas del desarrollo de software, desde sistemas bancarios y aplicaciones de Android hasta canales de big data y plataformas en la nube.
Java tiene varias características que lo distinguen. La escritura estática fuerte elimina toda una clase de errores en el momento de la compilación. Garbage Collector libera a los desarrolladores de la gestión manual de la memoria. El soporte multiproceso integrado y el vasto ecosistema Maven Central completan el panorama.