¿Qué significan las siglas JDK y cuál es su función principal?
Java Development Kit. Es el conjunto de herramientas de software necesarias para desarrollar y compilar aplicaciones en Java.
¿Cuál es la diferencia fundamental entre el JDK y el JRE?
El JRE sirve solo para ejecutar programas (JVM + librerías); el JDK incluye el JRE más herramientas de desarrollo como el compilador (javac).
¿Qué componente de Java permite la filosofía ‘Write Once Run Anywhere’ (WORA)?
La JVM (Java Virtual Machine) que interpreta el bytecode de forma independiente al hardware y S.O.
¿Qué comando se utiliza para compilar un archivo fuente .java y qué genera?
Se utiliza ‘javac’ y genera un archivo ‘.class’ que contiene bytecode.
¿Qué es exactamente el Bytecode?
Es un código intermedio, de bajo nivel y neutral respecto a la plataforma que es ejecutado por la JVM.
¿Qué comando Java se utiliza para ejecutar una clase compilada.class y qué método busca por defecto?
Se utiliza el comando ‘java’ y busca el método ‘public static void main(String[] args)’.
¿Para qué sirve la herramienta ‘javadoc’ incluida en el JDK?
Para generar documentación técnica en formato HTML a partir de los comentarios especiales (/** … */) del código fuente.
¿Qué herramienta del JDK permite empaquetar múltiples clases y recursos en un solo archivo comprimido?
La herramienta ‘jar’ (Java Archive).
¿Qué es el compilador JIT (Just-In-Time)?
Un componente de la JVM que compila el bytecode a código máquina nativo en tiempo de ejecución para mejorar el rendimiento.
¿Qué herramienta introducida en Java 9 permite un entorno interactivo REPL (Read-Eval-Print Loop)?
JShell.
¿Qué herramienta del JDK se usa para listar los procesos Java (JVM) activos en el sistema?
jps (Java Virtual Machine Process Status Tool).
¿Para qué sirve la herramienta ‘jstack’?
Para obtener un volcado de la pila (stack trace) de los hilos de un proceso y detectar bloqueos o deadlocks.
¿Qué herramienta del JDK genera un volcado de memoria (heap dump) para analizar fugas de memoria?
jmap.
¿Cuál es la función de ‘jstat’?
Monitorizar estadísticas de rendimiento de la JVM, especialmente del Garbage Collector y la compilación.
¿Qué herramienta gráfica se utiliza para monitorizar y gestionar aplicaciones Java mediante JMX?
jconsole (o Java Mission Control).
¿Qué comando usarías para ver el bytecode desensamblado de un archivo .class?
javap (The Java Class File Disassembler).
¿En qué parte de la arquitectura Java residen las librerías estándar (API)?
Dentro del JRE (Java Runtime Environment).
¿Qué significa que Java sea un lenguaje ‘interpretado y compilado’ a la vez?
Es compilado porque el código fuente pasa a bytecode (javac), e interpretado porque la JVM lee ese bytecode línea a línea (o vía JIT).
¿Qué herramienta del JDK se usa para firmar archivos JAR?
jarsigner.
¿Qué componente de Java es el encargado de la gestión automática de la memoria (liberar objetos no usados)?
El Garbage Collector (GC), que reside dentro de la JVM.
¿Qué significan las siglas JRE y cuál es su propósito?
Java Runtime Environment. Proporciona el entorno necesario para ejecutar aplicaciones Java, pero no para desarrollarlas.
¿Cuáles son los dos componentes principales del JRE?
La Máquina Virtual de Java (JVM) y las bibliotecas de clases estándar (Java API).
¿Qué es el CLASSPATH en Java?
Es una variable de entorno o parámetro que indica a la JVM y a las herramientas de Java dónde buscar las clases (.class) y paquetes definidos por el usuario.
¿Cuál es el parámetro de línea de comandos para especificar el CLASSPATH al ejecutar una aplicación?
-cp o -classpath.