Java Flashcards

1
Q

Herramientas del JDK (conjunto de utilidades)

A
  • javac: compilador
  • java: lanzador (el que arranca el intérprete)
  • javadoc: herramienta para generar ficheros .html a partir de .java + “comentarios especiales”
  • jar: empaquetar clases compiladas
  • keytool: criptografía
  • wsimport: generación de clases automáticas para los clientes de web service de tipo SOAP (para hacer o consumir webservice)
  • xjc: compilador que genera clases a partir de un XSD
  • javap: desensamblador de ficheros .class
  • jdb: depurador
  • jmc y jconsole: herramientas de monitorización de la JVM
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Como se ponen comentarios para documentar? (Javadoc)

A

Con /**
(Con /* sólo es para comentar en java)

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

Metadatos de Javadoc

A
  • @throws
  • @param
  • @since
  • @author
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

En qué consiste el JIT (just-in-time) compiler

A

Es una técnica de compilación en tiempo de ejecución, que mejora el rendimiento de sistemas de programación que compilan a bytecode, consistente en traducir bytecode a código nativo.

Definición corta: pieza que traduce de bytecode a código nativo

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

¿Qué se almacena en la Pila (Java Stack) de la máquina virtual Java?

A
  • Las variables locales
  • Los parámetros de entrada (antes de llamar a la función)
  • La dirección de retorno de la función a la que vamos a llamar (*)

(Stack como estructura de datos)

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

¿Qué es el Heap dentro de la máquina virtual Java?

A

Zona de la memoria donde se almacenan los objetos que se crean dinámicamente

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

Sintaxis de llamada a métodos sobre un objeto

A

objeto.metodo(parámetro);

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

¿Cuál es la variable de entorno que le sirve a la maquina virtual para localizar y cargar clases que se usen en tu programa y que no sean las tuyas ni las del fichero rt.jar?

A

CLASSPATH

Se puede indicar:
- como property que se establece cuando se lanza el programa:
Java -classpath /…/…/lib.jar
- en el fichero Manifest.mf existe un “campo” llamado Class-Path:ruta(s) (dentro de un fichero .jar)

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

De qué está formado el JRE

A

JRE=interprete(maquina virtual Java) + librerías de clases BASE (rt.jar)

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

¿Donde está el fichero Manifest.mf?

A

Dentro del .jar, en un directorio llamado /META-INF/Manifest.mf, además de las clases que pueda haber

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

¿Cual es el equivalente a los procesos de Linux dentro de la maquina virtual de java?

A

THREADS o Hilos de ejecución.
- Existen predefinidos pero también podríamos crear nuestros propios Threads

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

¿Cuál es un ejemplo importante de Threads predefinidos?

A

El Recolector de Basura (GC) que borra objetos de no referenciado automáticamente

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

Cuales son los tipos de datos primitivos de JAVA

A

Byte, short, int, long, float, double, boolean, char

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

Cuales son los tipos de datos objeto de JAVA

A

Son referencias o punteros. Variables que apuntan a zonas de memoria.

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

En qué consiste la sobrecarga

A

La capacidad que te dan los lenguajes de programación de, para una misma función y en una misma clase, proporcionarle nuevas versiones.

(Se distingue por el número y tipo de parámetro de entrada)

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

Elementos de programación básicos dentro de Clases

A
  • Atributos de datos
  • Métodos
  • Atributos de relación
17
Q

¿Para qué sirven los paquetes?

A

Para organizar lógicamente las clases

18
Q

¿Se tienen que importar todas las clases que no están en tu paquete?

A

Si. Menos las clases que estén dentro de java.lang, dado que se importan automáticamente (ejemplo: string)

19
Q

Para qué una clase se pueda utilizar desde otros paquetes con qué modificador hay que ponerlas

A

Con public

20
Q

¿Qué se indica en el método para que no devuelva nada?

A

Void

21
Q

Cuando se hace una herencia con extends, ¿qué se hereda de la clase heredada?

A

Atributos y métodos, aunque no esté visualmente en la clase hija, simplemente los nuevos métodos que la entienden en ella

22
Q

¿Cuándo se utiliza el modificador static?

A

Cuando los métodos son de clase y no de objeto

Sintaxis:
Clase.metodo(parámetro)

En el método, dentro de dicha clase, se indica el modificador static.

Es la palabra reservada que se usa para especificar que un método no es de instancia (objeto) si no de clase.

23
Q

Diferencia entre métodos no estáticos y estáticos

A
  • los métodos no estáticos se les llama métodos de instancia

Por ejemplo, en la clase Factura: public void abonoParcial (float cantidad) {
}

Fuera de la clase:
F1.abonoParcial(100);

El abono afectará sólo a una factura (objeto o instancia) determinada.

  • los métodos estáticos se les llama métodos de clase

Por ejemplo, en la clase Factura: public static void regularizarFacturas () {
}

Fuera de la clase: Factura.regularizarFacturas();

La regularización de facturas afectará a todas las facturas (clase).

24
Q

¿Qué dos tipos de sobreescritura de métodos (del padre) existen?

A
  • Sobreescritura TOTAL:
    Se sobreescribe totalmente el método del padre. Se hacen todas las modificaciones.
  • Sobreescritura PARCIAL:

Se sobreescribe parcialmente el método del padre, indicando la palabra reservada “super” para indicar que parte del método del padre nos vale:

super.abonoParcial(cantidad);

A continuación se hacen las pequeñas modificaciones.