B3 - T5 - Ecosistema Java 2 Flashcards
¿Qué significa Java SE?
Es un conjunto de tecnologías, herramientas y prácticas diseñadas en torno al lenguaje de programación Java.
¿Qué diferencia hay entre JDK y JRE?
JDK es el kit de desarrollo de Java que incluye herramientas como el compilador. JRE es el entorno de ejecución de Java que permite ejecutar aplicaciones pero no desarrollarlas.
¿Qué es el bytecode en Java?
Es un formato intermedio de código generado por el compilador de Java que es ejecutado por la JVM.
¿Cuál es el propósito principal de la JVM?
Ejecutar programas Java en cualquier sistema operativo sin necesidad de recompilarlos.
¿Qué herramientas gráficas proporciona Java para monitorear la JVM?
jconsole y VisualVM.
¿Qué hace el comando ‘javac’?
Compila el código fuente (.java) a bytecode (.class).
¿Para qué sirve el comando ‘java’?
Ejecuta bytecode en la JVM.
¿Qué es un archivo JAR?
Es un archivo comprimido que contiene clases, bibliotecas y otros recursos para aplicaciones Java.
¿Para qué sirve ‘javadoc’?
Genera documentación HTML a partir de los comentarios en el código fuente.
¿Qué etiquetas se utilizan en javadoc?
@author, @see, @since.
¿Qué es un hilo (thread) en Java?
Es una unidad de ejecución independiente dentro de un programa.
¿Qué métodos son fundamentales para la sincronización de hilos?
wait(), notify(), y synchronized.
¿Cuál es el propósito del Garbage Collector?
Liberar memoria eliminando objetos que ya no se utilizan.
¿Qué significa que Java no use punteros explícitos?
Que la memoria es manejada automáticamente por la JVM, eliminando errores como accesos indebidos.
¿Qué hace el modificador ‘final’ en una clase?
Indica que no se puede heredar de esa clase.
¿Qué diferencia hay entre ‘protected’ y ‘private’?
‘protected’ permite acceso en subclases y el mismo paquete; ‘private’ solo en la clase donde se define.
¿Qué es un método abstracto?
Es un método sin implementación que debe ser definido por las subclases.
¿Qué es la serialización?
Es el proceso de convertir un objeto en bytes para almacenarlo o transmitirlo.
¿Qué clase de Java permite serializar objetos?
Las que implementan la interfaz Serializable.
¿Qué es el compilador JIT?
Un compilador que convierte bytecode en código máquina nativo en tiempo de ejecución.
¿Qué almacena el Heap?
Objetos y variables dinámicas.
¿Qué almacena el Stack?
Variables locales y referencias de métodos.
¿Qué archivo describe las dependencias en Maven?
pom.xml.
¿Cuál es la estructura básica de directorios en Maven?
src/main/java para el código fuente y src/test/java para las pruebas.
¿Qué hace el recolector de basura (GC)?
Libera la memoria ocupada por objetos que ya no se utilizan.
¿Cómo se gestionan las excepciones en Java?
Usando bloques try, catch y finally.
¿Qué es Apache POI?
Una biblioteca para manejar documentos de Microsoft Office en Java.
¿Qué herramienta se usa para generar pruebas en lenguaje natural?
Cucumber.
¿Qué es Gradle?
Una herramienta de automatización de compilación que usa Groovy o Kotlin.
¿Cuál es la diferencia entre Ant y Maven?
Maven gestiona dependencias; Ant no.
¿Qué es la sobrecarga de métodos?
Definir métodos con el mismo nombre pero con parámetros diferentes.
¿Qué es el polimorfismo en Java?
La capacidad de un objeto de adoptar múltiples formas, dependiendo del contexto.
¿Qué es la encapsulación?
La ocultación de detalles internos de una clase, exponiendo solo lo necesario.
¿Qué es un paquete en Java?
Una forma de organizar clases e interfaces en un espacio de nombres.
¿Qué significa la palabra clave ‘native’ en un método?
Que el método está implementado en código nativo como C o C++.
¿Qué es una interfaz en Java?
Una definición de métodos que una clase debe implementar.
¿Cuál es la diferencia entre una clase abstracta y una interfaz?
Una clase abstracta puede tener métodos con implementación; una interfaz no hasta Java 8.
¿Qué es un enum en Java?
Un conjunto fijo de constantes.
¿Qué hace la anotación @Override?
Indica que un método sobrescribe a otro en una clase base.
¿Qué significa la anotación @Deprecated?
Indica que un elemento de código está obsoleto.
¿Qué significa JDBC?
Java Database Connectivity, una API para interactuar con bases de datos.
¿Qué archivo contiene la configuración de un repositorio local en Maven?
.m2/settings.xml.
¿Qué diferencia hay entre el área de código y el área de datos?
El área de código almacena instrucciones; el área de datos guarda información.
¿Qué herramientas de pruebas se usan en Java?
JUnit, Mockito y JMeter.