Tema 6. Java Flashcards

1
Q

En Java, ¿qué relación hay entre una clase y un interface?

A

Una relación de implementación (mediante la palabra reservada “implements”)

Notas:
- Una clase puede implementar varios interfaces
- Un interface funciona como un tipo (atributo/variable/parámetro)
- Un interface es u contrato funcional entre que debe cumplir la clase
- Un interface puede extender a otro interface (mediante la palabra reservada “extends”)
- Un interface (java8+) puede tener métodos con CÓDIGO (default y static)

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

Java: Uso de la palabra reservada “final” en una clase, un método y un atributo

A

En una clase, no se permite tener hijos a partir de esa clase

En un método, no se puede sobreescribir en un posible hijo

En un atributo, no se puede modificar

Ejs:
public final class Clase1 {…}
public final void informe(); {…}
final int numero;

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

Java: Uso de la palabra reservada “static”

A

Sirve para definir atributos y métodos de clase (no de instancia) para que siempre tenga el mismo valor en todos los objetos

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

En Java, ¿podemos añadir texto a un objeto de la clase String?

A

NO. Los objetos de la clase string son inmutables

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

Uso de la palabra reservada “Synchronized” en Java

A

Cuando varios hilos de ejecución comparten una “zona de de la memoria”. Esto sirve para que entren de 1 en 1

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

Java: Diferencia entre “Hashtable” y “ArrayList”

A
  • Hashtable funciona por clave/valor
  • ArrayList funciona por índice
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Cuál es la clase base para las excepciones y los errores en Java?

A

Throwable

(La de excepciones es excepcion, throwable es para ambas)

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

Nombre dos librerías para generar ficheros de log en Java:

A
  • log4j
  • logback
  • tinylog
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué es @override y cuál es su utilidad?

A

Es una ANOTACIÓN (elemento de programación nuevo que salió en java5) que sirve para informar al compilador que estamos sobrescribiendo un método de mi padre.

Nota: No es obligatorio su uso, es una ayuda para que te salte el posible error mientras codificas

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

Herramienta en Java para empaquetar ficheros dentro de la compilación

A

jar

(Se compilan con javac)

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

¿Cómo se crea un hilo de ejecución en java?

A

Hay dos formas:

  • Heredando de Threads (pertenece a java.lang)
  • Implementando runnable

En ambos casos hay que sobreescribir el método run

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

Utilidad de javadoc

A

Generación de documentos HTML a partir de código fuente (.java)

El formato es: /** (info) */

Dentro de los comentarios se pueden usar metadatos: @author @see @since…

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

¿Qué diferencia existe entre el interface Statement y PreparedStatement del API JDBC?

A

Statement:
- Crea y ejecuta sentencias SQL estáticas
- No permite parámetros en las consultas
- Vulnerable a SQL Injection
- Menos eficiente: El motor SQL debe re-analizar la consulta cada vez

PreparedStatement:
- La SQL se compila una vez y se reutiliza
- Usa ? para parámetros
- Protección contra SQL Injection
- Mejor rendimiento: Reutiliza el plan de ejecución

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

¿Cómo podemos obtener la fecha y hora actual a partir de JDK 1.8?

A

Con java.time

import java.time.LocalDateTime;

LocalDateTime ahora = LocalDateTime.now();
System.out.println(“Fecha y hora actual: “ + ahora);

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

¿Cuál es la utilidad de la interfaz de Java iterable?

A

Acceder al objeto “iterador” de CUALQUIER COLECCIÓN y así poder recorrerla de forma genérica

Nota: Es un patrón (técnica) de diseño (de comportamiento del catálogo GoF)

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

¿Cómo podemos en Java acceder al elemento que está en la cima de un Stack sin borrarlo?

17
Q

Utilidad del bloque Finally

A

Después del try/catch el bloque finally se ejecuta SIEMPRE, tanto si hubo excepción como si no

18
Q

Nombre del método que sirve para lanzar los hilos

A

start();

No confundir con run(); que representa el cuerpo del hilo que sobreescribimos y solo representa el cuerpo del hilo

JRE (planificador) -> start() -> run()

19
Q

¿Qué dos métodos de Object es aconsejable sobreeescribir en tus clases de negocio (ej. Producto)?

A

Método equals(Object o) -> devuelve un boolean
Método toString() -> String

20
Q

Utilidad de la herramienta Apache Maven

A

Es na herramienta Java para ayudarnos a la automatización de la construcción de proyectos en Java

A) Descargar librerías de terceros que queremos usar en nuestro proyecto (gestión de dependencias)
B)

21
Q

Utilidad del interface java.io.Closeable

A

Libera recursos del sistema (Asegura que recursos como descriptores de archivos, sockets o conexiones sean liberados cuando ya no se necesiten)

22
Q

Utilidad del comando peek();

A

Acceder al elemento que está en la cima de un Stack sin borrarlo

23
Q

¿Cómo se define una constante en Java?

A

Con static final

Ejemplo:

public static final int nombre_constante = 200;

24
Q

Uso de las librerías de Java “BouncyCastle” y “Apache POI”

A

BouncyCastle -> Funciones de criptografía

Apache POI -> Trabajar con ficheros de Office (word, ppt, excel…)