Java Flashcards
Cultura Java
Java vs C++
Java es un lenguaje que hace una compilación intermedia que interpreta un interprete (jvm). C++ Se compilar para un SO y una arquitectura de micro concreta
Que es JRE
Java Runtime Enviroment = jvm + Librerias básicas. Ejecuta el codigo bytecode compilado java.
Cómo se compone una clase java
public class Proyecto{
//Atributos
private String estado;
private String descripción;
//Constructor public Proyecto(String descripcion){ this.estado = "Iniciado"; this.descripcion=descripcion; } //Métodos public String getDescripcion (){ return this.descripcion; } public void setDescripcion(String descripcion){ this.descripcion = descripcion; } }
Que es Bytecode
Código que se genera al compilar código java. Es un código intermedio que necesita una máquina virtual para ser ejecutado.
Qué hace el comando ‘javac’
Compila el codigo java y lo convierte a bycode.
Qué es un fichero .java
Código fuente java. Ficheros de texto
Qué es un fichero .class
Código compilado java. Bytecode que se puede ejecutar en la jvm.
Generamos .class con ‘javac’
Qué es un fichero .jar
Empaquetado físico de ficheros .class, y algun fichero más, en un fichero, de tal manera que se puede ejecutar en la jvm.
Se empaquetan con la herramienta jar.
Hasta la versión 1.8 era la única manera de empaquetar.
Que son Java Modules
Agrupan físicamente clases a partir de la versión 1.9 de java. Divide los jar por funcionalidad a modo de librerias.
Qué es jdk
Java Developer Kit = Compilador + depurador + generador de código. javac + jre + librerias
Que hace el comando java
Ejecuta el programa en el interprete el codigo java. $java App.class
Que hace jshell
Interprete ReadEvaluatePrintLoop - REPL de comandos interactivo. A partir de Java9
Que hace javadoc
Generacion de documentacion html a partir de los fuentes.
/** Estos comentarios son de documentación
*
*@param
*@return
*@throws
*@author
*@since
*@see
*/
Que hace jar
Empaquetar clases compiladas, a veces con algun fichero mas como xml, etc
Que hace jarsinger
Firmar y verificar ficheros jar
Que hace keytool
Criptografia. Es un programa de utilidad con varias finalidades que se incluye en el JRE de Java 2 Versi n 1.4 y se distribuye con Host On-Demand para gestionar claves y certificados
Que hace wsimport
Generacion de clases automaticas para los clientes de web services de tipo SOAP. Herramienta mágica de Howarts
Que hace xjc
Compilador que genera clases java a partir de un XSD y al contrario (Marshall y Unmarshall). Herramienta mágica de Howarts
Que hace rmic
Compilador que genera clases java, stubs en cliente y skeletons en servidor, para su comunicacion C/S en programacion distribuida
Que hace rmiregistry
Servicio de nombres para registrar objetos distribuidos
Que hace javap
Desensamblador de ficheros .class
Que hace jdb
Depurador java
Que hace jdeps
Analizador de dependencias, de clases o paquetes
Que hace jm y jconsole
Herramientas de monitorización de la JVM
Que es JIT
Just-In-Time: traduce a código nativo con esta pieza situada en la jvm
Qué es POJO
Plain Old Java Objects: Un POJO es simple y llanamente una clase Java clásica que define un objeto de negocio. Nacieron con Hibernate y con la persistencia mediante clases java y no con dificiles interfaces. Ej: Tabla Libro <—> Clase Libro
Señale la respuesta correcta sobre los tipos de controladores (drivers) JDBC:
a) Los drivers tipo 1 utilizan Java puro para implementar un protocolo de red de proveedores del Sistema Gestor de Base de Datos.
b) os drivers tipo 3 utiizan un protocolo de red y middleware para comunicarse con un servidor.
c) Según la tecnología utilizada para conectarse a la base de datos, los drivers JDBC se categorizan en 3 tipos diferentes.
d) Los drivers tipo 2 son controladores “puente”, que utilizan otra tecnología (por ejemplo ODBC) para comunicarse con la base de datos
Mus
b) os drivers tipo 3 utiizan un protocolo de red y middleware para comunicarse con un servidor.
Indique cuál de las siguientes NO es una librería de Java proporcionada por la Apache Foundation:
a) Log4J
b) httpclient
c) commons-io
d) Mockete
d) Mockete
En Java SE 17, ¿con qué visibilidad se deben generar los atributos de la clase Data Access Object Solicitudes si se quiere tener acceso directamente desde cualquier otro objeto, sin mediación de métodos?
a) Se usará el modificador “public”.
b) Se usará el modificador “protected”.
e) No se usará ningún modificador.
d) Se usará el modificador “private”.
a) Se usará el modificador “public”.
En Java SE 17, ¿cuál de los siguientes tipos de colección no admite duplicados?
a) List
b) Stack
c) Collection
d) Set
d) Set
Qué elementos componen la máquina virtual java (JVM)
En nuestra aplicación Java, ¿qué paquetes usariamos para establecer la conexión a la base de datos de NOTIFICACION?
a) java.database
b) javax.naming y javax.sql
c) javax.io y javax.servlet
d) javax serviet
b) javax.naming y javax.sql
Se quiere desarrollar un microservicio para que el personal funcionario pueda consultar el estado de una notificación
enviada. ¿Qué especificación de la comunidad, alineada con Jakarta EE Core Profile, es la indicada para desarrollarlo?
a) Jakarta Authentication
b) Jakarta Batch
c) Microprofile
d) Jakarta Connectors
c) Microprofile
Para que sirve la ‘Stack’ en Java
Es una pila de ejecución. Vamos apilando el estado de la ejecución de ‘métodos’ cuando estos llaman a otros, conservando variables locales, parametros y dirección de retorno de la funciona a la que vamos a llamar.
NOTA: Cuidado con la recursividad. Stack overflow
En Java, una clase declarada como ‘abstract”
a) Puede no estar implementada o estarlo de manera incompleta.
b) Puede ser instanciada.
c) No puede ser extendida por subclases.
d) No existe el modificador abstract en Java.
a) Puede no estar implementada o estarlo de manera incompleta.
En la declaración de una clase en java, ¿mediante qué cláusula es posible definir un listado de uno o varios interfaces
para la clase en cuestión?
a) Mediante la cláusula ‘interfaces’.
b) Mediante la cláusula ‘declares’.
c) Mediante la clausula “implements’.
d) En Java no es posible declarar una clase con más de un interface.
c) Mediante la clausula “implements’.
En JAVA, siendo x=6 e y=3 (ambas variables de tipo int), la operación x^y da como resultado:
a) 216
b) 63
c) 3
d) 5
d) 5
Indique cuál de las siguientes opciones corresponde a una API de Java para el procesamiento de documentos en formato XML.
a) JNA
b) StAX
c) JNI
d) JPax
b) StAX
Qué es el HEAP en Java
Zona de la memoria donde se almacenan los objetos que se crean dinamicamente.
En JAVA podemos utilizar el interface PreparedStatement para:
a) Inicializar las variables locales del programa con valores preestablecidos.
b) Preparar los valores que introduciremos en un archivo de texto externo al programa.
c) Permitir ejecutar muchas veces una sentencia SQL.
d) Administrar el consumo de memoria que utilizan los objetos creados.
c) Permitir ejecutar muchas veces una sentencia SQL
Le piden opinión porque en uno de los módulos Java se detecta un bucle que concatena una cantidad muy elevada de cadenas de texto, penalizando el rendimiento. ¿Qué clase de java.lang habría que utilizar para mejorar la eficiencia?
a) StringConcat
b) StringConstruct
c) StringBuilder
d) StringCreator
c) StringBuilder
¿Cómo debe definir el equipo de desarrollo en Java una clase llamada Ejercicio si quiere impedir que se pueda heredar
de la misma?
a) closed class Ejercicio
b) final class Ejercicio
c) private class Ejercicio
d) immutable class Ejercicio
b) final class Ejercicio
Donde se almacenan los métodos en la JVM de Java
En el área reservada para ello y no en en HEAP. En el heap solo los objetos con los valores de los atributos y los métodos que son los mismos para todos se almacenan en en Method Area
¿Cuál de las siguientes opciones NO representa un tipo de datos primitivo de Java?
a) short
b) simple.
c) long
d) double
b) simple.
En el contexto de Java EE (ahora Jakarta EE), ¿en qué paquete se encuentran las clases e interfaces de Enterprise
JavaBeans?
a) java.ejb2
b) javax.ejb
c) javax.persistence.ejb
d) java.transaction.ejb
Para que sirve ‘this’ dentro de una clase Java
Es el indicador de un atributo / metodo del propio objeto
En Java, una variable definida con el modificador de acceso protected, es accesible:
a) Desde cualquier clase.
b) Unicamente desde la clase en la que se ha definido
c) Únicamente desde las clases que están dentro del mismo paquete.
d) Desde la clase en la que se ha definido, sus subclases, y desde las clases dentro del mismo paquete.
d) Desde la clase en la que se ha definido, sus subclases, y desde las clases dentro del mismo paquete.
Spring Boot es:
a) Una plataforma de desarrollo móvil basada en Javascript que permite desarrollo de apps multiplataforma.
b) Una plataforma que permite el desarrollo de aplicaciones web “autocontenidas” que llevan embebido el contenedor de servlets.
c) Una pletaforma que permite, entre otras cosas, la conexión lógica entre bases de datos relacionales clásicas y bases de datos NOSQL.
d) Una plataforma que permite automatizar las pruebas de sofware para aplicaciones con lenguaje de programación JAVA.
b) Una plataforma que permite el desarrollo de aplicaciones web “autocontenidas” que llevan embebido el contenedor de servlets.
En Java, el operador ‘==’ es:
a) Un operador arigmetico
b) Un operador relacional.
c) Un operador de asignacion
d) Un operador a nivel de bit.
c) Un operador de asignacion
En los módulos desarrollados en JAVA, se plantea como nuevo requisito realizar el registro de trazas a un fichero de logs. Indique qué librería podría utilizar en Java para ello:
a) log4j
b) logTrack
c) track4j
d) Nlog
a) log4j