B3T6-JAVA Flashcards

1
Q

JAVAC

A

Javac es el compilador de Java. Es una herramienta de línea de comandos que se utiliza para convertir el código fuente de Java (.java) en bytecode de Java (.class). Este bytecode puede ser ejecutado posteriormente por la Máquina Virtual de Java (JVM).

  • Compilar el código fuent

Las principales funciones de javac incluyen:

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

Que es JDK

A

Java Development Kit

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

Concepto JRE

A
  • JRE (Java Runtime Environment), incluye un interprete (mv) y librerías de clase base (rt.jar)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Concepto de VM

A
  • Maquina Virtual
    JIT, Just In Time compiler (compilador en tiempo de ejecución)
    GC, Garbage Collector
    ClassLoader, carga dinámicamente clases Java en la Java Virtual Machine
    Heap, espacio de memoria dinámica único que se crea al inicio de la máquina virtual
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Concepto de CLASSPATH

A

Concepto de CLASSPATH
Classpath, variable de entorno que sirve a la maquina virtual para localizar y cargar clases que se usen en tu programa.

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

CUANTAS CLASSPATH HAY?

A
  • Variable de entorno CLASSPATH
  • Property que establece cuando se llama al interprete
  • En el fichero manifest.mf, en el campo llamado CLASS-PATH:ruta. Se modifica por comandos.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Modificadores de acceso DE JAVA

A

Modificadores de acceso
* public, se ve en cualquier parte del programa.
* protected, tendría visibilidad y acceso en las clases hijas de la clase padre que se herede(“extends”).
* private, solo se puede usar en el ámbito de la clase donde esta definido.
* “default”, Sino se especifica modificador de acceso para una clase, método o miembro de datos

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

Tratamiento de excepciones

A
  • checked, heredan de exception y obligan al try/catch
  • un-checked, heredan de RuntimeException, y no te obliga a tratarlas.
  • try/catch/finally
  • throw, palabra reservada nos permite lanzar una excepción propia
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Concepto de Thread

A
  • (interface Runnable), crear cuerpos de hilos implementando el interface Runnable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
  • Metodos wait/notify de Object,
A

unciones para los monitores para la concurrencia de los hilos.
wait()
notify()

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

Palabras reservadas

A
  • final, aplica a:
    clases: para que otras clases no puedan heredar.
    atributos: para que funcione como una constante.
    métodos: bloquea la sobreescritura.
  • static, método que se aplica a la clase y solo es visible en la clase definida.
  • synchronized, gestión de la sincronización de los threads de los métodos para que solo se ejecute un único hilo.
  • native, para codificar un método en un lenguaje diferente a Java.
  • transient, indica al runtime que no serialice el objeto.
  • abstract, método que definimos pero no sabemos implementar. Obliga a que la clase también sea abstract. No se pueden crear objeto de clases abstract.
  • extends, herencia
  • implements, para implementar un interface.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Concepto de:
* Anotacion

A

Elemento para configurar el código.
*COMIENZAN EN JAVA5. Se diferencia de interface
en la arroba antes de la palabra reservada interface.

public @interface Seguridad{
String rol():
}

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

Concepto de enum

A
  • Enum, serie de valores definidos por el programador.

public enum Color{
rojo, blanco, negro;
}

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

Concepto de Clase

A
  • Clase: conjunto de atributos y métodos.

public class ciudadano{
//atributos
//metodos
}

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

Concepto de INTERFACE

A
  • Interface, declaración funcional (“plantilla”) que obliga a las clases a cumplir con un contrato (“interface”)

interface SATA{
public void escribir (int numSector, byte dato);
public byte leer (int numSector);
}
class SSD_IBM implements SATA{
}

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

Novedades:

A

API Java Time (1.8)
Modules (1.9)
Streams
Lamda
Optional
FunctionalInterface

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

Librerias de Terceros

A
  • Log4j, logs
  • Logback, logs
  • Itext/PDFBox, generación de pdf
  • Guava, propósito general.
  • Junit+Mockito, pruebas unitarias.
  • JMeter, pruebas de carga
  • GSON/Jackson, manejo de información JSON.
  • Tika, detección y extracción de contenido multiformato.
  • BouncyCastle, criptografía.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

API de Colecciones: principales clases e interfaces

A
  • Array
    asList(T….a) à List<T>
    binerySearch (int[], int)
    fill (…)
    sort(…)</T>
  • Heredan del interface Collection
    List
    Set à SortedSet
    Queue à DeQueue
  • Clases que representan colecciones completas
    ArrayList
    LinkedList (doblemente enlazada (lista,doble cola)
    ArrayDeque
    Vector à Stack
    push(E)
    pop() à E {si borra}
    empty() {boolean}
    search(Object) {int}
    peek() à E {no borra}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Herramientas de la JDK

A
  • java (interprete), ejecuta tú código en una máquina virtual java.
  • javac (compilador), genera código en bitecode de los ficheros generados en .class
  • jar (empaqueta clases compiladas),
  • javadoc, generación de documentación html a partir del código fuente.
  • jshell (interprete REPL (Read-Evaluate-Print-Loop)), a partir de v9
  • jarsigner, firma y verificación de ficheros .jar
  • keytool, módulo de criptografía.
  • wsimport, generación de clases automáticas para los cliente web services (SOAP, REST….)
  • xjc, compilador que genera clases java a partir de un XSD.
  • javap, desensamblador de ficheros .class.
  • jdb, depurador.
  • jdeps, analizador de dependencias de clases o paquetes.
  • jmc y jconsole, monitorización de JVM.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Herramienta java (interprete)

A
  • java (interprete), ejecuta tú código en una máquina virtual java.
21
Q

javac

A
  • javac (compilador), genera código en bitecode de los ficheros generados en .class
22
Q

jar

A
  • jar (empaqueta clases compiladas),
23
Q

javadoc

A

javadoc, generación de documentación html a partir del código fuente.

24
Q

jshell

A

jshell (interprete REPL (Read-Evaluate-Print-Loop)), a partir de v9
*

25
Q

jarsigner

A

jarsigner, firma y verificación de ficheros .jar

26
Q

keytool

A

keytool, módulo de criptografía.

27
Q

wsimport

A
  • wsimport, generación de clases automáticas para los cliente web services (SOAP, REST….)
28
Q

xjc

A
  • xjc, compilador que genera clases java a partir de un XSD.
29
Q

javap

A
  • javap, desensamblador de ficheros .class.
30
Q

jdb

A
  • jdb, depurador.
31
Q
A
32
Q

jdeps

A
  • jdeps, analizador de dependencias de clases o paquetes.
33
Q

jmc y jconsole

A
  • jmc y jconsole, monitorización de JVM.
34
Q

operadores aritméticos en JAVA

A

Operadores principales
* Operadores Aritméticos.
o Suma + .
o Resta - .
o Multiplicación * .
o División / .
o Resto de la División % .

35
Q

Principal operador de asignación en JAVA

A
  • Operadores de Asignación: El principal es ‘=’.
36
Q

Operadores Unarios en Java

A
  • Operadores Unarios: El más (+) y el menos (-). Para cambiar el signo del operando.
37
Q

Instanceof

A
  • Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no.
    o NombreObjeto instanceof NombreClase
38
Q

Operadores incrementales en java

A
  • Operadores Incrementales: Son los operadores que nos permiten incrementar las variables en una unidad. Se pueden usar delante y detrás de la variable dependiendo de lo que queramos, es decir, si queremos que incremente o viceversa antes de utilizar o lo contrario.
    o ‘++’
    o ‘–’
39
Q

Operadores Relacionales

A
  • Operadores Relacionales: Permiten comparar variables según relación de igualdad/desigualdad o relación mayor/menor. Devuelven siempre un valor boolean.
    o ‘>’: Mayor que
    o ‘<’: Menor que
    o ‘==’: Iguales
    o ‘¡=’: Distintos
    o ‘>=’: Mayor o igual que
    o ‘<=’: Menor o igual que
40
Q

Operadores lógicos en Java

A
  • Operadores Lógicos: Nos permiten construir expresiones lógicas.
    o ‘&&’ : devuelve true si ambos operandos son true.
    o ‘||’ : devuelve true si alguno de los operandos son true.
    o ‘!’ : Niega el operando que se le pasa.
    o ‘&’ : devuelve true si ambos operandos son true, evaluándolos ambos.
    o ‘|’ : devuelve true uno de los operandos es true, evaluándolos ambos.
41
Q

Operador de concatenación con cadena de caracteres en JAVA

A
  • Operador de concatenación con cadena de caracteres ‘+’:
    o Por Ejemplo: System.out.println(“El total es”+ result +”unidades”);
    *
42
Q

Operadores que actúan a nivel de bits EN JAVA:

A

Son mucho menos utilizados.
o ‘»’: desplazamiento a la derecha de los bits del operando
o ‘«’: desplazamiento a la izquierda de los bits de operando
o ‘&’: operador and a nivel de bit.
o ‘|’: operador or a nivel de bit

43
Q
A
43
Q

Principales interfaces del API JDBC

A
  • Connection, establecer conexiones con la base de datos.
  • Statement, ejecutar sentencias SQL y enviarlas a la BBDD.
  • Resultset, almacenar el resultado de la consulta.
  • Driver, cargar driver para la conexión a la BBDD.
44
Q

POJO

A

Es una clase que tiene atributos y métodos de consulta y actualización.

45
Q

Una clase puede tener solo atributos?

A

Si a unas clases les das mucho comportamiento en otras se quedarán tan pobres que solo tendrán atributos (clases de datos)

Anemic domain model - segun Martin Fowler

pero el sobreuso de esas clases está mal

46
Q

Que hacemos con un fichero .java

Nosotros o nuestro entorno de desarrollo

A

Se tiene que compilar con la herramienta javac
Y se generará un fichero .class
Dentro tienen codigo binario para la máquina virtual de java (se llama bytecode) - en caso de microsoft se llama SYL
Luego necesitamos un interprete de bytecode para convertirlo en codigo máquina, que entienda mi

El entorno nos genera automaticamente una estrucura de ficheros con ello

47
Q

Que es bytecode

A

Es el codigo binario que se tiene que interpretar para convertirlo en codigo máquina.

48
Q

Como se compila bytecode?

A

con javac