Repaso de Java y Arquitectura de Software

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/70

flashcard set

Earn XP

Description and Tags

Colección de términos técnicos sobre Programación Orientada a Objetos, Spring Boot, Microservicios, Bases de Datos, DevOps y Testing basados en Java.

Last updated 12:56 AM on 6/25/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

71 Terms

1
New cards

Encapsulamiento

Ocultar el estado interno de un objeto y obligar a que todo acceso sea a través de métodos públicos (getters y setters).

2
New cards

Herencia

Mecanismo que permite a una clase nueva adquirir las propiedades y métodos de una clase existente.

3
New cards

Polimorfismo

La capacidad de un objeto de tomar muchas formas, permitiendo que un mismo método actúe de manera diferente según el objeto que lo ejecute.

4
New cards

Abstracción

Enfocarse en qué hace un objeto en lugar de cómo lo hace, ocultando los detalles complejos.

5
New cards

HashMap

Estructura de datos que no es segura para hilos (not thread-safe); si varios hilos lo modifican a la vez se rompe, pero es más rápido.

6
New cards

ConcurrentHashMap

Estructura segura para hilos (thread-safe) que bloquea solo partes del mapa (segmentos) para permitir accesos simultáneos sin perder rendimiento.

7
New cards

Interfaz funcional

Una interfaz que tiene exactamente un método abstracto y se usa como base para las expresiones Lambda; ejemplos incluyen Predicate, Function y Consumer.

8
New cards

Streams

Una secuencia de elementos que permite procesar colecciones de datos de forma declarativa (filtrar, mapear, transformar) sin modificar la fuente original.

9
New cards

Optional

Un contenedor que puede o no contener un valor no nulo, utilizado para evitar el NullPointerException de forma elegante.

10
New cards

== vs equals()

El operador == compara referencias de memoria en objetos, mientras que equals() compara el contenido o valor lógico de los objetos.

11
New cards

Checked vs Unchecked Exceptions

Las Checked (ej. IOException) son obligatorias de manejar por el compilador; las Unchecked heredan de RuntimeException y suelen ser errores de lógica del programador.

12
New cards

Spring Boot

Extensión de Spring Framework que elimina la configuración pesada (boilerplate) mediante la filosofía de "convención sobre configuración".

13
New cards

Bean

Un objeto que es instanciado, ensamblado y administrado por el contenedor de Inversión de Control (IoC) de Spring.

14
New cards

@Component

Anotación genérica que le indica a Spring que una clase es un componente administrado para crear un Bean de ella.

15
New cards

@Service

Especialización de @Component que marca a la clase como parte de la capa de negocio o lógica.

16
New cards

@Repository

Especialización de @Component destinada a la capa de acceso a datos (DAO) que traduce automáticamente excepciones de la base de datos a excepciones de Spring.

17
New cards

Inyección de Dependencias

Patrón de diseño donde un objeto no crea las clases que necesita, sino que Spring se las inyecta desde fuera.

18
New cards

@Autowired

Anotación que le pide a Spring buscar e inyectar automáticamente la dependencia requerida en ese lugar.

19
New cards

@Configuration

Indica que una clase contiene métodos anotados con @Bean para definir configuraciones personalizadas del framework.

20
New cards

@Transactional

Asegura que un método se ejecute dentro de una transacción de base de datos, realizando un rollback automático si algo falla.

21
New cards

Spring Actuator

Herramienta que expone endpoints como /health o /metrics para monitorear el estado y la salud de la aplicación en producción.

22
New cards

Microservicio

Enfoque de arquitectura donde una aplicación se divide en servicios pequeños, independientes, acoplados de forma laxa y comunicados por red.

23
New cards

API Gateway

Punto de entrada único para todos los clientes que se encarga del enrutamiento, autenticación, control de tráfico y balanceo de carga.

24
New cards

Service Discovery

Registro dinámico (como Netflix Eureka) donde cada microservicio se registra para que los demás sepan en qué dirección IP y puerto encontrarlo.

25
New cards

Circuit Breaker

Patrón que evita fallos en cascada; si un servicio falla repetidamente, el circuito se "abre" y devuelve una respuesta rápida de error o por defecto.

26
New cards

Resilience4j

Biblioteca ligera diseñada para sistemas distribuidos que implementa patrones como Circuit Breaker, Rate Limiter, Retry y Bulkhead.

27
New cards

Escalabilidad horizontal

Aumentar la capacidad del sistema añadiendo más servidores o instancias a la infraestructura.

28
New cards

Observabilidad

Capacidad de entender el estado interno de un sistema mediante tres pilares: Métricas, Logs y Trazas (Traces).

29
New cards

Programación reactiva

Paradigma orientado al manejo de flujos de datos asíncronos y al cambio, diseñado para procesar eventos sin bloquear hilos de ejecución.

30
New cards

Mono

Publicador reactivo de la librería Reactor que emite 00 o 11 elemento (o un error).

31
New cards

Flux

Publicador reactivo de la librería Reactor que emite de 00 a NN elementos.

32
New cards

No bloqueante

Significa que el hilo que inicia una operación no se queda esperando a que termine, liberándose para otras tareas hasta que los datos estén listos.

33
New cards

Backpressure

Mecanismo que permite al consumidor decirle al proveedor cuántos datos puede procesar a la vez para evitar saturarse.

34
New cards

Spring WebFlux vs Spring MVC

Spring MVC usa hilos bloqueantes (Tomcat), mientras que WebFlux se basa en bucles de eventos no bloqueantes (Netty).

35
New cards

Schedulers.boundedElastic()

Componente de programación reactiva que gestiona hilos para tareas que son bloqueantes.

36
New cards

REST

Estilo de arquitectura para sistemas distribuidos basado en el protocolo HTTP para la transferencia de datos.

37
New cards

OpenAPI

Especificación estándar de descripción de interfaz para APIs REST, escrita habitualmente en JSON o YAML.

38
New cards

Swagger

Conjunto de herramientas que implementan la especificación OpenAPI para generar documentación visual e interactiva.

39
New cards

OAuth2

Protocolo estándar de la industria para la autorización que permite acceso limitado a servicios de terceros sin compartir contraseñas.

40
New cards

JWT (JSON Web Token)

Estándar abierto para transmitir información de forma segura como un objeto JSON inmutable y firmado digitalmente.

41
New cards

Autenticación vs Autorización

La autenticación responde a "¿Quién eres tú?", mientras que la autorización responde a "¿Qué tienes permiso de hacer?".

42
New cards

CORS (Cross-Origin Resource Sharing)

Mecanismo de seguridad del navegador que bloquea peticiones desde dominios distintos al del servidor a menos que haya permiso explícito.

43
New cards

Refresh Token

Token de larga duración usado para solicitar un nuevo Access Token cuando este ha expirado sin pedir credenciales al usuario.

44
New cards

JUnit

Framework estándar en Java para escribir y ejecutar pruebas automatizadas, principalmente unitarias.

45
New cards

Mockito

Framework de simulación (mocking) usado para aislar la clase bajo prueba de sus dependencias reales mediante objetos simulados.

46
New cards

Mock

Objeto falso que imita el comportamiento de una dependencia real permitiendo programar sus retornos.

47
New cards

Prueba unitaria

Prueba automatizada que verifica el funcionamiento de una pequeña pieza de código aislada sin interactuar con DB o redes.

48
New cards

Prueba de integración

Prueba que verifica que múltiples componentes o sistemas interactúan correctamente entre sí.

49
New cards

Cobertura de código

Métrica que indica el porcentaje de líneas de código ejecutadas por la suite de pruebas automatizadas.

50
New cards

TDD (Test-Driven Development)

Metodología donde se escribe primero la prueba (Rojo), luego el código para que pase (Verde) y finalmente se limpia el código (Refactorizar).

51
New cards

@InjectMocks

Anotación de Mockito que crea una instancia real de la clase a probar e inyecta en ella los objetos anotados con @Mock.

52
New cards

Docker

Plataforma de contenedores que empaqueta una aplicación con sus dependencias para asegurar que corra igual en cualquier máquina.

53
New cards

Kubernetes

Orquestador de código abierto para automatizar el despliegue, escalado y gestión de aplicaciones en contenedores.

54
New cards

Pod

La unidad de ejecución más pequeña en Kubernetes que puede contener uno o más contenedores compartiendo almacenamiento y red.

55
New cards

AKS (Azure Kubernetes Service)

Servicio administrado de Kubernetes en la nube de Microsoft Azure.

56
New cards

GitLab CI/CD

Herramienta que permite automatizar compilación, pruebas y despliegue mediante un archivo .gitlab-ci.yml.

57
New cards

SonarQube

Plataforma de análisis estático que inspecciona la calidad del código para detectar bugs, vulnerabilidades y deuda técnica.

58
New cards

Fortify

Herramienta de seguridad para análisis estático y dinámico (SAST/DAST) que busca vulnerabilidades críticas en el código.

59
New cards

Artifactory

Gestor de repositorios de artefactos binarios que almacena librerías (.jar) o imágenes Docker de forma segura.

60
New cards

Azure Key Vault

Servicio en la nube de Azure para almacenar secretos (claves de API, contraseñas) de forma segura.

61
New cards

INNER JOIN vs LEFT JOIN

INNER JOIN devuelve filas con coincidencias en ambas tablas; LEFT JOIN devuelve todas las de la izquierda y las coincidentes de la derecha o NULL.

62
New cards

Índice SQL

Estructura de datos que mejora la velocidad de búsqueda a costa de espacio adicional y escrituras más lentas.

63
New cards

Clave primaria

Campo que identifica de forma única e irrepetible a cada fila de una tabla y no permite valores nulos.

64
New cards

ACID

Propiedades de una transacción: Atomicidad (Todo o nada), Consistencia, Isolation (Aislamiento) y Durabilidad.

65
New cards

Deadlock

Situación de bloqueo mutuo donde dos transacciones retienen recursos que la otra necesita, esperando infinitamente.

66
New cards

Execution Plan

Ruta detallada que el motor de la base de datos decide seguir para ejecutar una consulta SQL de la forma más óptima.

67
New cards

Feign Client

Cliente HTTP declarativo de Netflix integrado en Spring Cloud para llamar a APIs REST mediante interfaces Java.

68
New cards

Quarkus

Framework de Java optimizado para Kubernetes que destaca por bajo uso de memoria y arranque instantáneo mediante compilación nativa (GraalVM).

69
New cards

Patrón Saga

Patrón arquitectónico que gestiona la consistencia de datos en microservicios mediante transacciones locales y acciones de compensación.

70
New cards

Orquestación vs Coreografía

En orquestación un componente central dirige el proceso; en coreografía cada microservicio reacciona autónomamente a eventos (ej. Kafka).

71
New cards

Eventos de dominio

Acontecimientos del negocio que interesan registrar o reaccionar a ellos, como PedidoCreado o PagoRechazado.