B03T13 -- Jakarta -- Autor: Antonio Moreno Flashcards

1
Q

¿Para qué sirven las utilidades rmic y rmiregistry de Java?

A
  • RMIC: compilador, generador de stubs en cliente y skeletons en servidor, todo para la comunicación cliente-servidor en programación distribuida.
  • RMIREGISTRY: servicio de nombres para registrar objetos distribuidos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Cómo se llama la utilidad que desemsambla ficheros .class de Java?

A

javap

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué es jdb?

A

Es el depurador de Java

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Qué son jmc y jconsole?

A

Herramientas de monitorización de la JVM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Nombra 5 modificadores de Java

A
  • final
  • static
  • abstract
  • protected
  • private
  • public
  • native
  • volatile
  • transient
  • synchronized
  • default
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Para qué se utiliza @FunctionalInterface en Java?

A

Para anotar que una clase es una interfaz funcional con un único método sin codificar (puede tener más métodos pero han de estar definidos), y que podrá ser rellenado más tarde en tiempo de ejecución a través de funciones lambda.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué devuelve el siguiente código en Java?

public class Principal {
 @FunctionalInterface
 interface Matematicas {
 public double operacion(double x, double y);
 }

public static void main(String[] args) {
Matematicas o = (x, y) -> x + y;
System.out.println(o.operacion(2, 3));
}
}

A

No devuelve nada, pero sí saca por consola el número 5.0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué es un Stream de Java?

A

Una secuencia de elementos que soportan operaciones de agregación secuenciales y paralelas (filter, map, reduce, min, max, average, allMatch, anyMatch, count, distinct, findAny, findFirst, forEach, sorted, …)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Para qué sirve Predicate en Java?

A

Es una interfaz funcional (Functional Interface) que representa un predicado de un elemento de entrada. Es decir, tiene una función (test) que recibe un parámetro y devolverá un valor booleano.

Este predicado será usado en las operaciones de agregación de los Stream.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Con qué modificador se declara una función en una interfaz Java?

A

public interface Prueba {
resta(double a, double b);
default suma(double a, double b) {
return a + b;
}
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Nombra 2 IDE’s de Java

A
  • Eclipse
  • NetBeans
  • IntelliJ
  • BlueJ
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué JDK’s alternativos conoces?

A
  • OpenJDK
  • Amazon Corretto
  • IBM JDK
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cuáles son las últimas versiones publicadas de Java SE y Jakarta EE?

A

Java SE 16 y JEE 9

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿A quién ha cedido Oracle el control de las especificaciones de la JEE?

A

Eclipse Foundation

Se le cambió el nombre a Jakarta EE y pasó a formar parte de la iniciativa Eclipse Enterprise For Java (EE4J)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Cómo se llama actualmente los antiguos JSR (Java Specification Request) que manejaba la JCP (Java Community Process)?

A

JESP (Jakarta EE Specification Process) manejado por la EE4J

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Cómo ha sido renombrado el espacio de trabajo de javax.* del antiguo JEE en la última versión de Jakarta EE?

A

jakarta.*

17
Q

¿Cuáles son los profiles que ofrece Jakarta?

A
  • Micro Profile: Este no está en Jakarta, pero es muy usado por Eclipse (que es quien está desarrollando Jakarta EE).
  • Web Profile: Contiene las “extensiones” necesarias para realizar un desarrollo web mediano (incluidas las de Micro Profile).
  • Full Profile: Contiene todas las “extensiones” apilables sobre la JVM (incluidas las de Web Profile)
18
Q

Nombra los 3 componentes de la capa de presentación de Java

A
  • JSP (JavaServer Pages): Similar a PHP, incrusta código Java entre el HTML que será compilado antes de ser enviado al cliente.
  • JSTL (JSP Standar Tag Library): Extiende JSP agregando bibliotecas nuevas (core, xml, sql, fmt, …) con tags personalizados. Se insertan en un .jsp. Cada biblioteca ha de ser incluida manualmente con .
  • JSF (JavaServer Faces): Conjunto de componentes para representar UI (tags predefinidos), gestión de estados, administración de Beans, etc.
19
Q

¿Cuáles son las 4 bibliotecas principales de JSTL?

A
  • Core
  • XML
  • Internacionalización
  • SQL
20
Q

Enumera al menos 3 etiquetas de la biblioteca Core de JSTL

A
21
Q

Menciona al menos 3 servidores que tenga implementada la API de servicios de JEE 9

A
  • JBoss
  • WildFly
  • Paray
  • Weblogic
  • Eclipse GlassFish
  • Apache TomEE
  • Open Liberty
  • Apusic
  • ManageFish
  • WebSphere Liberty
  • Tomcat 10*
22
Q

¿Qué hace la inyección de dependencias (servicio CDI)?

A

Minimiza el acomplamiento entre clases, ocultando la implementación (incluso la creación) de la clase usada.

23
Q

¿Cuál es el ciclo de vida de un Servlet?

A

La interfaz Servlet implementa 3 métodos que dan su ciclo de vida:

  • init(ServletConfig) - Se llama una sola vez al inicio.
  • service(ServletRequest, ServletResponse) - Se llama tantas veces como consultas al servicio.
  • destroy() - Se llama una sola vez al final del servicio.
24
Q

¿Qué hace el componente Filter?

A

Un componente usa el patrón de diseño Chain Of Responsability y que a su vez es un mini Servlet que se pueden encadenar. Están orientados a hacer un procesamiento de la request común a todas las llamadas, descargando de esa función a cada Servlet invocado.

25
Q

¿Cúantos objetos de Servlet y cuántos hilos tendremos si tenemos 3 Servlets diferentes y 6 usuarios haciendo cada uno 2 llamadas?

A

Hay un objeto por cada Servlet y un hilo por cada petición. Es decir, hay 3 objetos de Servlet y 12 hilos.

26
Q

¿Qué interfaces son usadas para dar seguridad a JEE de forma programática?

A

SessionContext y SecurityContext, haciendo uso de los métodos

  • getCallerPrincipal() - Obtiene el login de un usuario autenticado
  • isCallerInRole(String) - Determina si un usuario autenticado tiene un rol
  • authenticate(req, res, …) - Fuerza al usuario a autentificarse
27
Q

¿Cómo se añade la seguridad en un Servlet con anotaciones?

A

Se añade a la clase que implementa Servlet las anotaciones:

  • @BasicAuthenticationMechanismDefinition - Indica que el usuario debe autentificarse para acceder. Si no lo está, se muestra la pantalla de identificación.
  • @WebServlet(“/example”) - Indica la ruta de acceso al Servlet.
  • @DeclareRoles({…}) - Lista de roles permitidas
  • @ServletSecurity(@HttpConstraint(rolesAllowed=”…”)) - Limita los roles permitidos de la lista declarada de roles
28
Q
A