TAI
Tema

Java para Oposiciones TAI: Guía Completa

📝 30 preguntas 📖 Teoría 🎯 Preparación TAI

💡 Qué aprenderás

En este tema estudiarás todos los conceptos necesarios para responder correctamente las preguntas relacionadas con Java en la oposición.

¿Qué es Java?

Java es un lenguaje de programación orientado a objetos, de propósito general y multiplataforma, desarrollado por Sun Microsystems (actualmente Oracle).

Su principal característica es que el código fuente se compila a bytecode, que puede ejecutarse en cualquier sistema operativo que disponga de una Máquina Virtual de Java (JVM).

📖 Definición
Java sigue el principio "Write Once, Run Anywhere (WORA)": escribir una vez y ejecutar en cualquier plataforma compatible con la JVM.

Conceptos fundamentales

Para comprender Java es imprescindible conocer los siguientes conceptos:

  • JDK (Java Development Kit): conjunto de herramientas para desarrollar aplicaciones Java.
  • JRE (Java Runtime Environment): entorno necesario para ejecutar aplicaciones Java.
  • JVM (Java Virtual Machine): máquina virtual que interpreta el bytecode.
  • Bytecode: código intermedio generado por el compilador Java.
  • Clase: plantilla que define atributos y métodos.
  • Objeto: instancia de una clase.
🎯 Muy preguntado
El código fuente (.java) se compila a bytecode (.class), que posteriormente ejecuta la JVM.

Funcionamiento de Java

El proceso de ejecución de un programa Java es el siguiente:

Código fuente (.java)

↓

Compilador (javac)

↓

Bytecode (.class)

↓

JVM

↓

Sistema Operativo

La JVM interpreta o compila dinámicamente el bytecode para ejecutarlo sobre el sistema operativo correspondiente.

💡 Consejo para el examen
La portabilidad de Java se consigue gracias a la JVM, no porque el código fuente sea independiente del sistema operativo.

Características de Java

Java presenta las siguientes características:

  • Orientado a objetos.
  • Multiplataforma.
  • Tipado estático.
  • Gestión automática de memoria.
  • Robusto y seguro.
  • Amplia biblioteca estándar.
  • Soporte para programación concurrente.
🎯 Muy preguntado
Java combina portabilidad, seguridad y un amplio ecosistema, por lo que es uno de los lenguajes más utilizados en entornos empresariales.

Programación orientada a objetos (POO)

Java está basado en el paradigma de la Programación Orientada a Objetos (POO).

Sus cuatro pilares son:

  • Encapsulación.
  • Herencia.
  • Polimorfismo.
  • Abstracción.

Estos principios permiten desarrollar aplicaciones modulares, reutilizables y fáciles de mantener.

⚠️ Error habitual
Es frecuente confundir la herencia con el polimorfismo. Son conceptos diferentes y complementarios.

Estructura básica de un programa Java

Todo programa Java se organiza en clases.

Ejemplo simplificado:

public class HolaMundo {
    public static void main(String[] args) {
        System.out.println("Hola Mundo");
    }
}

Los elementos principales son:

  • Clase.
  • Método main().
  • Instrucciones.
🎯 Muy preguntado
El método main() es el punto de entrada de una aplicación Java.

Variables y tipos de datos

Java dispone de tipos primitivos y tipos de referencia.

Tipos primitivos

Tipo Tamaño
byte 8 bits
short 16 bits
int 32 bits
long 64 bits
float 32 bits
double 64 bits
char 16 bits
boolean true / false

Tipos de referencia

  • Clases.
  • Arrays.
  • Interfaces.
  • Enumeraciones.
💡 Consejo para el examen
En los exámenes suele preguntarse que int ocupa 32 bits y double 64 bits.

Gestión de memoria

Java administra automáticamente la memoria mediante el Garbage Collector (GC).

Su funcionamiento básico es:

  1. Se crean objetos en memoria.
  2. Los objetos dejan de utilizarse.
  3. El Garbage Collector libera automáticamente la memoria ocupada.
Objeto creado

↓

Uso

↓

Sin referencias

↓

Garbage Collector

↓

Memoria liberada
🎯 Muy preguntado
El programador no necesita liberar memoria manualmente como ocurre en otros lenguajes como C.

Excepciones

Las excepciones representan errores que pueden producirse durante la ejecución del programa.

Existen dos grandes categorías:

Tipo Descripción
Checked Deben gestionarse obligatoriamente.
Unchecked Derivan de RuntimeException y no es obligatorio capturarlas.

Java permite controlar las excepciones mediante:

  • try
  • catch
  • finally
  • throw
  • throws
📌 Recuerda
El manejo adecuado de excepciones aumenta la robustez de las aplicaciones.

Colecciones

El Java Collections Framework proporciona estructuras de datos reutilizables.

Las más importantes son:

Colección Característica
List Mantiene el orden y admite duplicados.
Set No permite elementos duplicados.
Queue Gestiona elementos en cola.
Map Almacena pares clave-valor.
💡 Consejo para el examen
Una pregunta muy habitual consiste en diferenciar List, Set y Map.

Comparación Java vs C++

Java C++
Ejecuta sobre JVM Compila a código nativo
Gestión automática de memoria Gestión manual de memoria
Multiplataforma Dependiente de la compilación
Sin herencia múltiple de clases Permite herencia múltiple
Mayor seguridad Mayor control del hardware

Caso práctico

Situación

Una empresa necesita desarrollar una aplicación que funcione tanto en Windows como en Linux sin modificar el código fuente.

Solución

Java es una buena opción porque:

  • El código se compila una sola vez.
  • El bytecode puede ejecutarse en cualquier sistema con JVM.
  • No es necesario recompilar para cada plataforma.
💡 Consejo para el examen
La JVM es la responsable de adaptar la ejecución a cada sistema operativo.

Ventajas e inconvenientes

Ventajas

  • Multiplataforma.
  • Orientación a objetos.
  • Gestión automática de memoria.
  • Gran ecosistema de bibliotecas.
  • Elevada seguridad.
  • Amplia utilización en aplicaciones empresariales.

Inconvenientes

  • Mayor consumo de memoria que otros lenguajes.
  • Rendimiento inferior al código nativo en algunos escenarios.
  • Arranque más lento debido a la JVM.
  • Sintaxis relativamente extensa.

Errores habituales

⚠️ Error habitual
Los errores más frecuentes al estudiar Java son:
  • Confundir JDK, JRE y JVM.
  • Pensar que Java compila directamente a código máquina.
  • Creer que Java libera memoria manualmente.
  • Confundir una clase con un objeto.
  • No diferenciar tipos primitivos y tipos de referencia.
  • Pensar que List, Set y Map son equivalentes.

Cómo evitarlos

  • Recordar el flujo Código fuente → Bytecode → JVM.
  • Diferenciar claramente las funciones de JDK, JRE y JVM.
  • Comprender el funcionamiento del Garbage Collector.
  • Practicar los conceptos de Programación Orientada a Objetos.
  • Memorizar las principales colecciones del lenguaje.

Relaciones con otros temas

Java está directamente relacionado con:

  • Programación Orientada a Objetos.
  • JVM.
  • JDK.
  • JRE.
  • Gestión de memoria.
  • Excepciones.
  • Colecciones.
  • Concurrencia.
  • Bases de datos (JDBC).
  • Desarrollo web.
📌 Recuerda
En exámenes es muy frecuente relacionar Java con JVM, JDK, JRE, POO, Garbage Collector, excepciones y colecciones.

Conceptos clave para recordar

[!NOTE]

  • Java es un lenguaje de programación orientado a objetos y multiplataforma.
  • El código fuente se compila a bytecode, que ejecuta la JVM.
  • El JDK contiene las herramientas de desarrollo; el JRE proporciona el entorno de ejecución; la JVM ejecuta el bytecode.
  • Java implementa los principios de la Programación Orientada a Objetos: encapsulación, herencia, polimorfismo y abstracción.
  • El método main() es el punto de entrada de una aplicación.
  • La memoria se gestiona automáticamente mediante el Garbage Collector.
  • Las colecciones más importantes son List, Set, Queue y Map.
  • Java es uno de los lenguajes más utilizados para aplicaciones empresariales, desarrollo web, aplicaciones Android (históricamente) y sistemas distribuidos.

📝 Preguntas de ejemplo

Comprueba si reconoces este tipo de preguntas.

1. ¿Quién creó el lenguaje de programación Java?
2. ¿Cuál es una de las principales características de Java?
3. ¿Qué significa JVM?
4. ¿Qué componente incluye el compilador javac?
5. ¿Qué componente es suficiente para ejecutar una aplicación Java ya compilada?

¿Has terminado de estudiar?

Ahora pon a prueba tus conocimientos realizando el test completo de este tema.

Comenzar test

Utilizamos cookies

Utilizamos cookies analíticas para conocer el uso de la plataforma y mejorar la experiencia del usuario. Puedes aceptar o rechazarlas en cualquier momento. Más información en nuestra Política de Cookies .