B3T6 JAVA Flashcards

1
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
2
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
3
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
4
Q

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

A
  1. Heredando de la clase Thread
  2. Implementando el interface Runnable

Ambos sobreescriben el método run @override

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
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
6
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

Lo contrario es unboxing

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

¿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
9
Q

¿Qué contiene la JDK?

A

Contiene las herramientas para los desarrolladores + JRE((clases bases rt.jar o module java.base) + JVM)

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

Nombra tres JDK´s disponibles

A
  • OpenJDK [IR -> Implementación de referencia desde la versión 7]
  • Amazon Corretto
  • IBM JDK

La Java Virtual Machine Specifications tiene todo lo necesario para que cualquiera pueda crear su propia JVM

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

Nombra 3 IDEs para JAVA

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

¿Para que sirve JIT?

A

JIT = Just In Time

Sirve para compilar de bytecode a código máquina en tiempo de ejecución

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

De que dos formas podemos controlar errores en JAVA

A
  • Checked : Extend Exception –> Plagan de try catch + trows el código.
  • Unchecked: Implements RuntimeException –> Mas limpio el código
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Nombra implementaciones de registro de logs en JAVA

A

. Log4J
- Logback
- TinyLog
- Apache Commons Logging

SLF4J es la fachada

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

¿Cómo podemos conseguir que un método solo permita un hilo de ejecución de forma simultánea?

A

Con la palabra reservada synchronized

-> Los objetos al heredar de Object tienen las funciones wait() y notify(), para los hilos que queden en cola

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

Nombra tres productos que implementan la api JPA

A
  • Hibernate
  • TopLink
  • OpenJPA
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Para qué sirve Maven y cual es el fichero principal?

A

Maven es una herramienta de automatizacion. Se basa en repositorios, dependencias y archetypes(plantillas de proyectos)

El fichero principal es POM.xml-> Cada dependencia tiene su propio group_id, artifact_id y version.
Guarda info de configuración en la carpeta .m2

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

¿Con que clase podemos hacer programación asíncrona en JAVA?

A

Clase CompletableFuture. Está en java.util.concurrent

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

¿Cómo se crea un objeto funcion?

A

Con @FunctionalInterface

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

¿Para que sirven los try-catch-with-resources?

A

Para liberar recursos de forma automática. Siempre que se implementen la interfaz Autocloseable

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

Nombra clases relacionadas con la interfaz autocloseable

A

-> La mayoría de las clases relacionadas con entrada/salida de datos
->Clases relacionadas con sist3emas de ficheros y flujos de red
->Conexión a bbdd mediante JDBC

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

¿Cuál es la última versión de JAVA disponible?

A

JAVA 20

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

¿Para que sirve javac, java, javadoc, jar y javap?

A

javac -> Compilador (pasa a bytecode)
java -> Intérprete
Javadoc -> genera documentación en html. Los comentarios tienen que ir /** sdfasdf @author nombre */
jar-> Empaquetar clases compiladas
javap -> Desesamblador de .class a .java

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

¿Qué tres métodos existen para cargar librerias de clase?

A
  • Variable de entorno CLASSPATH
  • Property cuando llamamos al intérprete: java -classpath ruta_a.jar
  • En el fichero manifest-> class-path
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Las apps con método main son monohilo?

A

Si.

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

Que es la sobrecarga?

A

Varios métodos con misma nomenclatura que recibe parámetros diferentes

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

¿Qué es el polimorfismo?

A

Método que puede recibir parámetros de superclases comunes

28
Q

¿Qué es la encapsulación?

A

Procedimiento para sólo poder acceder a los atributos mediante los métodos

29
Q

¿Qué es una superclase?

A

La clase de la que heredas y sus ancestros

30
Q

¿Qué es una clase base?

A

Clase que desciende de otra

31
Q

Indica las relaciones entre clases e interfaces

A
  • Relación entre clases -> Extends
  • Relación entre interfaces -> Extends
  • Relación entre clase e interface -> Implements
32
Q

En java por defecto se pasan los datos por valor o por referencia?

A

Por valor

33
Q

¿Cómo podemos comparar el contenido de dos objetos?

A

Sobreescribiendo la función equals.

== compara referencias, no contenido

34
Q

Nombra herramientas de automatización del desarrollo de JAVA

A
  • Ant (build.xml)
  • Maven (Pom.xml)
  • Gradle (build.gradle)
  • Ivy -> Extensión de ant para dependencias
  • Jenkins -> Integración continua
35
Q

Cual de estas dos clases permite objetos nulos: hashtable o hashmap?

A

Hashtable -> Es threadsafe
Hashmap permite nulos -> No es threadsafe

36
Q

¿Qué son los modules en JAVA?

A

Es una técnica de agrupación por encima de los paquetes

37
Q

¿Cual es la visibilidad default de una clase en un paquete?

A

Visibilidad a nivel de paquete (Misma clase, mismo paquete clase heredada, mismo paquete clase no heredada)

38
Q

Ordena las restricciones de privacidad de mas privado a menos:
default, private, protected, public

A
  • Private(sólo para la misma clase)
  • Default(Nivel de paquete)
  • Protected(Nivel de paquete + paquete diferente que hereda)
  • Public(todos)
39
Q

¿Para que sirve el modificador transient?

A

[Transitivo]
Para no guardar la info en disco
No serializar un atributo

Ej.
private transient String Password;

40
Q

¿Para que sirve el modificador native?

A

Para definir un método que no se va a definir en Java, sino en otro lenguaje

41
Q

¿Para que sirve la librería Apache Tika?

A

Para detección y extracción de contenido de multitud de formatos

42
Q

¿Para que sirve la librería BouncyCastle?

A

Para criptografía

43
Q

¿Cual es el padre de todas las colecciones?

A

Iterable
(Lo es de List, Queue, Set)

Map es una colección, pero no hereda de collection ni de iterable

44
Q

Nombra las funciones de java.sql

A

Driver
Connection
Statement
Resultset/ResultSetMetadata

45
Q

¿Qué es Throwable?

A

Es la superclase de los errores las excepciones.

Object->Throwable ->Exception -> RuntimeException ->-….

46
Q

¿Podemos configurar un método por defecto en un interfaz?

A

Si con la palabra reservada default

47
Q
A
48
Q

Metodos de la clase object de java

A
  • Clone(): duplica objeto.
  • equals: determina si un objeto es igual a otro.
  • finalize(): llama antes de que un objeto no utilizado sea reciclado.
  • getClass(): obtiene la clase de un objeto en tiempo de ejecución
  • hashCode(): devuelve el código asociado al objeto que realiza la llamada.
  • notify(): reiniciar la ejecución de un hilo en espera en el objeto que realiza la llamada
  • notifyAll(): reiniciar la ejecución de todos los hilos en espera en el objeto que realiza la llamada
  • toString(): devuelve una cadena que describe el objeto
49
Q

Indica cómo hay que recorrer un array básico y un array tipo List

A

El tipo List:
List<Integer> lista = arrays.asList(2,4,6,8);
for(int i=0; i<lista.**sice()**;i++)</Integer>

Tipo básico o primitivo:
int[] datos={2,3,4,5};
For(int i=0; i<datos.length; i++)

50
Q

Que significa el término POJO?

A

Se refiere a las clases de java que se relacionan con tablas de BBDD de forma automática con hibernate xejemplo.
POJO= Plain Old Java Object

51
Q

¿Cómo se accede a un método de Java?

A

Clase:objeto.metodo

Si es un método de clase static:
clase:metodo

52
Q

Indica Frameworks basados en JAVA

A
  • Struts
  • Spring
  • Aries (de código abierto orientado al desarrollo de aplicaciones web de gestión, que se caracteriza por seguir el paradigma SPI (Single Page Interface))
53
Q

Diferencia entre atributos de una clase y métodos de un clase

A

Los atributos se declaran de la siguiente forma:
[ = ];
Los métodos de una clase se declaran de la siguiente forma:
() { }

54
Q

Indica los modificadores de acceso de las variables de JAVA

A

Public
Protected
Private
Default (Friendly )

55
Q

¿Qué es un tipo de clase INNER?

A

Una clase que no admite polimorfismo
Anidada, no estática, cuyas instancias existen unicamente dentro de una instancia de clase principal

56
Q
A
57
Q

Las apps de java con método main son multihilo o monohilo?

A

Monohilo

58
Q

En java como hacemos referencia al objeto padre del actual?

A

Super

59
Q

Los hijos de una clase que define un método estático. ¿Tienen o no tienen acceso a lo estático?

A

No

60
Q

Si declaramos una variable como private. ¿Podemos acceder a ella dsd los hijos?

A

No.
Lo privado se hereda, pero no se tiene acceso a él

61
Q

Para que sirven los modules en java?

A

Son una agrupación por encima de los paquetes

62
Q

Las interfaces pueden contener código?

A

Antes no, pero dsd la versión 1.7 en adelante se permite incluir código

63
Q

Cómo se crea una anotación en java?

A

Public @interface nomanotacion

64
Q

Que diferencia hay entre array y arraylist?

A

Array es fijo (número predefinido)
ArrayList es dinámico (no importa número de elementos)

ArrayList se define así:
ArrayLIst <Integer> nomvar = new ArrayList<Integer>();</Integer></Integer>

Importante!!! ArrayList siempre tiene que ser de una clase wrapper (no vale por ejemplo de int). Podemos dejarlo vacío sin especificar el tipo si queremos que nuestro array sea multitipos.

Para recorrer un ArrayList-> nomvar.sice()

Si es un array:
Int[] datos = {2,4,6}
Datos.length –>sin parentesis

65
Q

Para que sirve la notación @FunctionalInterface

A

Para declarar interfaces con una única función.