Tema5-Java Flashcards

(91 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

1.- Heredando de la clase Thread
2. - 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?

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

Cual es la diferencia entre Javac y java

A

javac es el compilador convierte un archivo .java en un .class( bytecode que entiende la JVM) y java es el interprete ejecuta y arranca el JRE

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

Como se llama la herramienta que genera documentacion html a partir de un .java y como se escribe,define varias anotaciones

A

javadoc, /** …@see … @author @thows since, etc
*/

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

Para que sirve jar y jarsigner

A

jar: empaquetar clases compiladas
* jarsigner: firmar y verificar ficheros jar.

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

Cual de las opciones define a wsimport?
a)compilador que genera clases java a partir de un XSD.
b)compilador que genera clases java, stubs en cliente y skeletons en servidor, para su comunicación C/S en progr distribuida. Remote Method Invocation.
c)generación de clases automaticas para los clientes de web services de tipo SOAP.
d)servicio de nombres para registrar objetos distribuidos.

A
  • xjc: compilador que genera clases java a partir de un XSD.
  • rmic: compilador que genera clases java, stubs en cliente y skeletons en servidor, para su comunicación C/S en progr distribuida. Remote Method Invocation.
  • wsimport: generación de clases automaticas para los clientes de web services de tipo SOAP.
  • rmiregistry: servicio de nombres para registrar objetos distribuidos.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Que es javap?

A

javap: desensamblador de ficheros .class. Analiza los .class y reconstruye el .java a partir de metadatos.

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

Dime que es jdb, jdebs y jmc

A
  • jdb: depurador.
  • jdeps: analizador de dependencias, de clases o de paquetes.
  • jmc y jconsole: herramientas de monitorización/profiling de la JVM. jmc ha desaparecido.
  • jjs: intérprete JavaScript.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Cuales son las tres formas de declarar una classpath
1.Variable de entorno CLASSPATH. 2.Property que estableces cuando se llama al intérprete. En el momento de lanzar la app. Ej: java -classpath /.../.../lib.jar 3.En el fichero Manifest.mf existe un "campo" llamado Class-Path
26
Cuando hablamos de que el valor de la variable local hay que buscarlo en la memoria principal y no en la cache de que elemento de programacion hablamos?
volatile: una variable dentro de un método es una variable local. Cada hilo tiene en una zona de memoria las variables locales. Con volatile indicas al hilo que el valor de la variable local debe buscarlo en memoria principal, no en su caché, ya que si hay concurrencia ese valor en caché puede estar desactualizado. Eliminamos inconsistencias. Usados para atributos.
27
Para que sirve NATIVE?
Defino un metodo que no va a definirse en JAVA, sino en otro lenguaje
28
Para que sirve TRANSIENT
Java permite guardar un objeto de la memoria en el disco o mandarlo por la red. A ese proceso se le llama serialización. Transient es para no serializar un atributo. Por defecto se puede serializar todo. Le indicas a la JRE que el atributo no se guarda en el disco duro
29
En que version de JAVA salio modules y para que sirve?
En la Java 1.9 tecnica de agrupacion por encima de los paquetes Permite organizar el código en módulos, que son una unidad superior a los paquetes.
30
Que es una interfaz?
-Define una serie de metodos que son por defecto public y abstractos, no tienen atributos.Obliga a una clase a implementar los metodos que tiene la interfaz, los metodos estan vacios -Desde Java 8, una interfaz puede tener métodos con implementación: default → método con código que puede heredarse static → método con código que no se hereda, se llama desde la interfaz -Una interfaz define qué debe hacer una clase, no cómo hacerlo.
31
Se pueden instanciar objetos en una interfaz y en una clase abstracta? Y pueden tener atributos?
No se pueden instanciar Una interfaz no puede tener atributos, pero si constantes interface Empleado { double SALARIO = 1200; // equivale a: public static final double SALARIO = 1200; } Una clase abstracta si puede tener atributos
32
Un mismo metodo puede comportarse de forma diferente segun el objeto que lo implemente, busca codigo generico
polimorfismo
33
Que es la sobrecarga?
Puede haber varios metodos con el mismo nombre en una misma clase pero con parametros diferentes, no confundir con la sobreescritura(overriding) que es cuando sobreescrimos un metodo de la clase padre
33
Dime la visibilidad de protected y de default
Default solo tiene visibilidad en el mismo paquete tenga la clase heredada o no Protected tiene visibilidad de todo menos diferente paquete clase no heredada
34
Que es record?
* Record: usado para almacenar valores y agruparlos en un único identificador.Desde la JDK 14 y estable desde la 16.
35
Cuales son las dos interfaces de usario?
Awt, JFC/Swing.
36
Dime las 5 apis de XML
* Soporte XML: JAXP: SAX, DOM, StaX, TrAX.
37
La capacidad de acceder a los metadatos (clase, atributos, métodos) de un objeto en tiempo de ejecución
* Reflection: capacidad de acceder a los metadatos (clase, atributos, métodos) de un objeto en tiempo de ejecución.
38
Define Streams
Es la capacidad de convertir una colección de objetos en un flujo de objetos sobre el que puedes aplicar operaciones como filter(filtrar elementos), map(transformar elementos), collect(recolectar resultados)for each(recorrer) o reduce
39
Una secuencia de elementos obtenida a partir de una colección u otra fuente de datos, sobre la que se pueden aplicar operaciones funcionales como filter, map, forEach, collect o reduce.
Stream
40
@functionalInterface
Function Predicate Consumer Supplier
41
Desde cuando esta JAVA.TIME
Java 8 java 1.8
42
Para que sirve netbeans
es un ide, como intellij y eclipse
43
Dime herramientas de automatizacion del desarrollo
Jenkins, integracion continua Ivy Gradle Maven Ant
44
Dime 4 versiones del JDK
IBM JDK, Amazon Corento, red hat, open JDK,zulo y oracle JDK
45
Dime dos libreria de generacion de PDFS
itext pdfbox
46
Dime una libreria de criptografia
BouncyCastle
47
Dime 4 librerias de logging
SLF4J,logback, log4j,TinyLog,Apache Common Logging
48
Para que sirve apache commons
Es una libreria de proposito general como GUAVA de google
49
Para que sirve apache FOP
Apache FOP es un procesador de XSL-FO que convierte documentos XML en otros formatos de salida, como PDF, PostScript, PCL, PNG, RTF, entre otros.
50
Apache Xerces
Apache Xerces es un parser (analizador) de XML que permite leer, analizar y validar documentos XML.
51
Apache Xalan
Es un procesador XSLT que se fusiona con XML y da como resultado otro documento de marcas. Apache Xalan es un procesador XSLT que toma un documento XML y una hoja XSLT, y produce otro documento de marcas (XML, HTML, texto, etc.) como resultado.
52
Apache Woodstox
Woodstox es un parser StAX de XML que permite procesar documentos de forma eficiente en streaming.
53
Para que sirve GSON y JACKSON
Manejo de informacion en JSON
54
Cual es la libreria para manejar documentos office
Apache POI
55
Apache TIKA
Detección y extracción de contenido de multitud de formatos
56
ETL para extracción de información, transformación y carga de ficheros.
* Pentaho Kettle ETL para extracción de información, transformación y carga de ficheros.
57
a partir de los atributos que yo defino, crea, con la ayuda de anotaciones, los getters, setters, constructores, equal, hash, toString, etc.
* Project Lombok  a partir de los atributos que yo defino, crea, con la ayuda de anotaciones, los getters, setters, constructores, equal, hash, toString, etc
58
framework web más utilizado en el mundo Java.
Spring MVC
59
Que herramienta libreria se usa para moquear datos?
Mockito
60
Herramienta/libreria de pruebas unitarias
JUNIT
61
Dime una herramienta de pruebas de carga, rendimiento y estres o estabilidad
JMETER
62
A que paquete pertenece la clase System?
java.lang
63
Di 8 clases o interfaces del paquete java.lang
Runnable/Iterable/comparable: interfaces. Math: clase. Object/Class: cualquier clase de Java hereda de Object. String/Integer…: clases. (cadena inmutable no se puede modificar) Thread: clase. Override: anotación para sobrescribir un método. System: salidas por pantalla. StringBuffer (cadena variable thread safe) y StringBuilder (no thread safe)
64
Dime para que sirven ServerSocket y Socker y a que paquete pertecenen
Sirven para hacer aplicaciones java mediante TCP, programacion de red de bajo nivel Paquete java.net ServerSocket. Socket: servicios TCP/IP a bajo nivel. URLConnection. URL: para hacer cosas a nivel HTTP. InetAddress
65
Para que sirve DataSource y en que paquete esta?
Datasource es el pool de conexiones , crea X conexiones a la base de datos segun arranca y establece un limite. DataSource es la interfaz que permite obtener conexiones a la base de datos y soporta pooling de conexiones.
66
Dime clases del paquete java.text
DateFormat /SimpleDateFormat. parse(String) a Date.(cadena devuelve un objeto fecha) format(Date) a String.
67
Dime clases de java.util
-Colecciones. -Calendar / Date: muy mala. Se usaba Joda-Time. > Java 1.8 está en java.time. -Scanner. -StringTokenizer: para trocear una cadena en base a un delimitador. -Timer / TimerTask: schedule(TimerTask, Date): planifica tarea -UUID: genera un ID único para cuando se serialice el objeto
68
En que paquete estan DOM y SAX
javax.xml.parsers
69
javax.jws
javax.jws (SOAP): crea servicios web con anotaciones (Webservice, WebMethod).
70
Cual es el paquete que tiene flujos de entrada y salida y usa streams?
java.io: gestión de ficheros y directorios. InputStreams / Readers. OutputStreams / Writers. . Console / File Serializable/closeable
71
Que paquete usa buffers y chanels con clases como filechanel,filesystem, files ...
java.nio evolucion de java.io
72
La clase map hereda de collection o iterable?
No
73
Dime la estructura de las colecciones?
Iterable Collecion List(arraylist,linkedlist,vector,stack) Queue Set
74
Dime las dos clases de MAP
HashTable, no null,sincronizado mas seguro HashMap: nuevo permite nulos. No sincronizado.,menos seguro mas rapido
75
Dime los metodos de Hastable y para que sirve
Almacena datos por clave valor, y se accede por clave.Metodos Put para añadir(key, valor) Get para consultat (key)
76
Definicion y metodo de set
Es una coleccion ordenada tambien llamada secuencia,que admite elementos duplicados, tiene el metodo get que devuelve un elemento de la posicion X get()
77
Definicion y metodo de Set
Coleccion ordenada que no admite elementos duplicados ,llamado conjunto. Metodo contains es un voolean para ver si un elemento esta dentro del conjunto
78
Dime los 3 metodos de la clase Stack
1-Push() añade un elemento al tope de la pila 2-Pop() Devuelve el elemento del tope y lo elimina de la pila 3-Peek() Devuelve el elemento del tope y NO elimina de la pila
79
Dime los 3 metodos de la interfaz Queue
1-add() añade un elemento a la cola 2-Poll() Devuelve el elemento del tope y lo elimina de la cola 3-Peek() Devuelve el elemento del tope y NO elimina de la cola
80
Cuales son los 3 tamaños que existen en Java?
1:Lenght:Una propiedad para los array (nombreArray.lenght) 2:Lenght():Metodo para las cadenas 3:Size Metodo para las colecciones,collection
81
Que interfaz permite añadir (add), eliminar (remove), obtener el tamaño (size) y comprobar si está vacía (isEmpty()) de un grupo de elementos.
Collection
82
Como se accede a un arraylist
Arraylist almacena valores por orden y se accede por indice
83
Cual es la superclase de los errores y excepciones
Throwable
84
Que tipo de excepciones hay?
* Checked: heredan de Exception. Hay que hacer algo con ellas. Ensucian el código, para que casi nunca puedas recuperarte del error y solo se saque a un log.Dos opciones: o Opción 1 (propagación): en el llamante usamos try / catch (ObjExcepcion). o Opción 2: El llamante no se entera de que ha habido un error, porque se ha recuperado fuera del código, dentro de otro método. * Unchecked: heredan de RuntimeException. No obligas a los métodos intermedios a usar try/catch, solo al que le interesa tratar la excepción. Código más legible.
85
Como se lanza una nueva excepcion?
throw new ProyectoException("Mensaje de error");
86
Indica que un metodo puede lanzar un tipo de excepccion
Throws
87
Para que sirve el bloque FINALLY
Despues de un try/cath el bloque finally se ejecutara siempre, tanto si hubo excepccion como si no.
88
Dime las dos formas de crear un hilo
1-Herencia de Thread y sobreescribir el metodo run() 2-Implementar la clase runnable y sobreescribir el metodo run() En ambos casos hay que usar el metodo start() que sirve para lanzar el hilo
89
Ddetermina si el objeto al que apunta una referencia es una instancia de una clase o interfaz concretas. v
instanceof System.out.print(perro instanceof Animal);
90
Que es GRAALVM
es una maquina virtual poliglota que cubre varios lenguajes de progracion