Tema6_Seccion2_LenguajeJava Flashcards

(75 cards)

1
Q

¿Con qué herramienta de la JDK se genera documentación HTML a partir del código fuente?

A

javadoc

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

¿Cuándo se utiliza final en la definición de un método?

A

Cuando no queremos que las clases “hijas” puedan sobreescribirlo

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

¿Una clase puede implementar varios interfaces?

A

Si. Lo que no puede es heredar de varias clases (no existe la herencia multiple)

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

¿Es posible instanciar una clase abstracta?

A

No, es una clase pensada para que hereden de ella y terminar de definir sus métodos abstractos

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

¿Cómo podríamos averiguar si un objeto pertenece a una clase que implementa el interface Pagable?

A

Existen dos metodos

    • API Reflexion –> obj.getClass().getInterfaces() –> … (procesar con un bucle e ir comprobando)
    • Con un operador especial Ej: if (objeto instanceof Pagable)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Para qué usamos la palabra reservada static en un atributo de una clase?

A

Para definir que ese atributo “pertenece” a la clase y no a los distintos objetos de la misma, es decir, la clase en Java también ocupa memoria.

Se usa asi –> Poliza.descuentoGlobal = 100

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

¿Qué uso tiene clase java.lang.Object?

A

Es la clase de la que hereda cualquier clase en Java (del sistema o las nuestras). De esta forma cualquier objeto en Java tendrá siempre una serie de metodos importantes como

  • toString()
  • equals()
  • hashCode()
  • wait()
  • notify()
  • finalize()
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

En java, el tipo int por ej. se convierte a su correspondiente clase wrapper Integer. ¿Cómo se denomina a esta característica?

A

Autoboxing

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

¿Como se declara una constante en Java?

A

static final

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

¿De qué dos formas se puede crear hilos en Java?

A
  • Heredando de la clase Thread
  • Implementando el interface Runnable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué significa en java la siguiente declaración?

public @interface Seguridad

A

Una anotación (a partir de la JDK1.5)

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

¿Quién libera la memoria en Java?

A

Garbage Collector

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

¿Se puede modificar un objeto de la clase String por ej. para transformarlo a mayusculas?

A

No, la clase String es inmutable. Para eso tenemos StringBuffer y StringBuilder

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

Si en un método nos pasan un parámetro de tipo Object, ¿podemos saber de que clase es realmente?

A

Si, con el metodo getClass() –> nos devuelve un objeto de tipo Class (API de la Reflexion)

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

Si yo tengo un objeto de la clase Factura, la expresión (obj instanceof Factura) dará true, ¿y la expresión (obj instanceof Serializable) ?

A

Dará true si la clase Factura implementa el interface Serializable o cualquier de sus padres

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

Se pueden implementar varios interfaces en una clase

A

Si, lo que no se puede es la herencia multiple

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

¿Que librerías conoce para manipular información en formato JSON en Java?

A

Jackson
GSON (de google)

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

¿Que librerías conoce para poder generar ficheros de log? Y una fachada

A

log4j
logback
slf4j es un fachada para cualquiera de ellas

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

¿Para que sirve la herramienta lint?

A

Analisis de codigo estatico

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

¿Como tiene que estar declarada una funcion para que el compilador sustituya las llamadas a la misma por su código?

A

inline

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

¿Que es register?

A

Un modificador de almacenamiento de variable que le sugiere al compilador almacenarla en un registro de la CPU en lugar de la RAM

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

¿Que significa la declaración #define MAX 10 y quien la gestiona?

A

Una macro que el preprocesador va a expandir/sustituir en todos los ficheros fuente

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

¿Con que modificador de variable local podemos preservar su valor entre distintas ejecuciones de una misma funcion?

A

static

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

¿Cual es el uso de make?

A

Automatizar el proceso de construcción

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
¿Son equivalentes estas dos declaraciones? int * datos1; int[] datos2;
Si
26
¿En que fichero de cabecera se encuentra la declaración de la funcion malloc(..) ?
stdlib.h
27
Nombre dos herramientas de depuración de C
gdb (linea de comando) ddd (entorno grafico)
28
¿Cuando se da el problema del diamante en c++ y como se soluciona?
Cuando una clase hereda de otras dos y estás a su vez lo hacen de una misma base. La solucion es que las dos clases que tienen una misma base especifique herencia “virtual” para que se puede resolver esa “repeticion” de miembros heredados
29
¿Como podemos utilizar los operadores ya definidos en el lenguaje sobre nuestros propios objetos?
Sobrecarga de operadores
30
¿Puede una clase totalmente independiente de otra, acceder directamente a los miembros privados de esta?
Si, siempre y cuando entre ellas haya una declaración de amistad
31
¿Con que palabra reservada podemos crear clases genéricas o parametrizables?
template
32
Si un atributo vemos que tiene el modificador “mutable”, ¿que quiere decir?
que su valor podrá ser modificado incluso aunque el metodo se haya definido como const
33
Si tenemos un parametro definido como “clase& param”, ¿como se accede a sus miembros?
con param.atributo o param.metodo()
34
Si tenemos un parametro definido como “clase* param”, ¿como se accede a sus miembros?
con param->atributo o param->metodo()
35
¿Qué podemos encontrar en la libreria STL?
Clases contenedoras (stack, set, list, …) Algoritmos (sort, find, count, binary_search, …) Iteradores Funciones (clases que han sobrecargado el operador() )
36
¿Que dos cosas hacen falta para poder usar el objeto “cout” para generar salida por pantalla?
include using namespace std;
37
Si queremos usar excepciones en C++, ¿tenemos que usar alguna clase base como en Java?
No, en C++ cualquier tipo puede ser utilizado en el throw, pero si existe la clase std::exception para ayudarnos a definir nuestra propia jerarquía de excepciones
38
¿Que dos formas existen para crear un objeto de la clase “persona”?
1. Persona p(“pepe”,10) 2. Persona* p = new Persona(“juan”,22)
39
¿Quien se encarga de estandarizar el lenguaje C++?
Su creador fue Bjarne Stroustup, pero ahora está dentro de la norma ISO 14882
40
¿Quién desarrolla el lenguaje C#?
ECMA 334
41
¿Para que sirve la declaración "sealed" en una clase c#?
Para definir que nadie puede heredar de ella.
42
¿Qué es una atributo en .NET?
Una manera de "configurar" en el propio código fuente distintos aspectos. Se puede aplicar sobre métodos, clases, parámetros, Podemos acceder a esa información mediante "Reflexion" Similar a las anotaciones de Java
43
¿Para que se usa el modificador de acceso "internal" en c#?
Para definir que esa elemento (clase o miembro) solo se puede "ver" desde su mismo ensamblado
44
Nombre tres "implementaciones" o entornos de ejecución de .NET
1. - .Net Framework 2. - .Net CORE 3. - Mono
45
¿Que componente del .Net Framework se encarga de la gestión de hilos, memoria, seguridad, ...?
CLR (Common Language Runtime)
46
En c#, ¿que diferencia hay entre una declaración "const" o "readonly"
1. - Cuando se declara una constante con la palabra clave "const", también se debe asignar el valor 2. - Con "readonly" se puede inicializar más tarde
47
En c#, ¿que diferencia hay entre declarar un parámetro como "out" o "ref"?
Los dos son parámetros que vamos a pasar por referencia, pero "out" al ser solo de salida no obliga a que el parámetro esté inicializado cuando se invoca al método
48
Si queremos usar un método de una clase pero sin tener que crear ningún objeto, ¿cómo habría que declararlo?
static en c# (igual que en Java)
49
Cuando se compila un programa .NET, ¿cómo se denomina al producto generado?
CIL (Common Intermediate Language). Antes llamado MSIL.
50
¿Cuales son los ficheros equivalentes en .NET a los Jar de JAVA?
Assemblies (tienen extensiones .dll o .exe)
51
¿Que podemos implementar si estamos usando ficheros con extension ASMX en .NET?
Web Services SOAP
52
¿Con que tecnología podemos desarrollar servicios REST en .NET?
ASP.NET Web API
53
¿En .NET cual es la tecnología de tipo ORM equivalente a JPA/Hibernate de JAVA?
Entity Framework
54
¿Con que tecnología de .NET podemos hacer algo equivalente al siguiente código de JAVA que usa Streams y expresiones Lambda? public int calcularPrecioTotalLambda() { int precioTotal = this.precios.stream().mapToInt(precio -> precio.intValue()).sum(); return precioTotal; }
LINQ var dataset = new [] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; ``` // the .NET example dataset.Where(x => x > 5).Sum(); ``` ``` // the Java example Arrays.stream(data).filter(x -> x > 5).mapToInt(Integer::intValue).sum ``` // Result: 40
55
¿Como se denomina al recurso equivalente de los metodos get y set de JAVA en .NET?
property
56
¿Cuales son los tres métodos del ciclo de vida de un servlet y dónde se encuentran definidos?
En el interface javax.servlet.Servlet tendríamos: 1. init(...) una sola vez 2. service(req,res) tantas veces como peticiones llegan 3. destroy(...) cuando paramos el app server
57
¿Cómo se implementa un bucle en JSTL?
‹%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %› ‹c:foreach items="${listaObjetos}" var="objeto"› ‹/c:foreach›
58
¿Cómo se denomina al tipo de EJB que el app server invoca cuando llega un mensaje a la queue de la que está escuchando ese EJB?
MDB (Message Driven Bean)
59
¿Que dos contenedores existen en un app server J2EE completo?
1.- Web Container (donde se ejecutan servlet y jsp) 2.- EJB Container (donde se ejecutan EJB Session y MDB)
60
¿Para que sirve el API JTA?
Nos ofrece acceso al servicio de control de transacciones distribuidas que tiene que tener implementado en el app server
61
¿En que interface del API de los servlets podemos encontrar un método para acceder a las cookies?
interface HttpServletRequest
62
¿Cuántas instancias se crean de un servlet dado?
UNA y solo UNA. Lo que se crean (para atender a los clientes) son hilos de ejecucion que el web container va seleccionando de un Thread Pool
63
Diga dos implementaciones del API JSF
1.- ICEFaces 2.- PrimeFaces
64
¿Cómo le decimos a maven que este proyecto lo empaquete como una aplicación web?
Dentro del pom.xml se pone war
65
¿Cuál de los siguientes productos no es un servidor de aplicaciones? Weblogic, WildFly o Jetty
Jetty porque solo es un contenedor/motor de servlets
66
¿Dónde se almacena la información conversacional del cliente dentro de una lógica de aplicación que pasa por varias pantallas distintas?
En el objeto HttpSession que se obtiene a partir del objeto HttpServletReques
67
¿Cómo se denomina al trozo de código java que se puede incrustar dentro de una página JSP?
Scriptlet
68
¿Qué objetos predefinidos podemos usar dentro de una página JSP?
1. request 2. page 3. session 4. out 5. application
69
¿Qué utilidad tiene el API JNDI?
1.- Poder recuperar objetos/recursos del arbol/directorio interno del app server 2.- Conectarnos con un servidor LDAP externo
70
¿Con qué parámetro se define la url de invocación de un servlet?
Con la etiqueta ‹url-pattern› dentro del web.xml
71
¿Con qué método se obtiene el valor de una variable que pasamos por la url?
Del objeto HttpServletRequest (que recibimos en el método doGet o doPost) sería el método getParameter(name)
72
¿Qué dos tipos de EJB Session existen?
* Stateless: No mantienen ningún estado ni información específica del cliente * Stateful: Mantienen el estado conversacional con un cliente
73
¿Cuál es el parámetro del método doFilter(...) con el que pasamos la ejecución al siguiente componente que le toque?
FilterChain chain --\> chain.doFilter(...)
74
¿Cómo podemos invocar a una JSP desde un servlet?
Ej. dentro de doGet(...) this.getServletContext().getRequestDispatcher("/pagina.jsp").forward(req,res)
75
¿Cómo podemos pasar un objeto de un servlet a una JSP para que lo pinte?
A través del objeto HttpServletRequest req.setAttribute("alias",objeto)