Introducción a Java: qué es Java y cuál es su historia
Java es un lenguaje de programación de propósito general, orientado a objetos y diseñado para tener el menor número posible de dependencias de implementación. Fue creado por James Gosling y desarrollado por Sun Microsystems, siendo lanzado al público en 1995. Desde entonces, Java se ha convertido en uno de los lenguajes más populares y utilizados a nivel mundial.
El objetivo principal de Java es permitir a los desarrolladores escribir el código una sola vez y ejecutarlo en cualquier plataforma que disponga de una Máquina Virtual de Java (JVM). Esta característica, conocida como "write once, run anywhere", proporciona una gran portabilidad al código escrito en Java, facilitando su ejecución en diferentes sistemas operativos sin necesidad de recompilación.
La historia de Java comienza a principios de los años 90, cuando un pequeño equipo de ingenieros de Sun Microsystems inició el proyecto "Green". Su intención era desarrollar un lenguaje que pudiera ser utilizado en diversos dispositivos electrónicos. Inicialmente llamado "Oak", el lenguaje fue rebautizado como Java debido a problemas de marca registrada.
Desde su lanzamiento, Java ha evolucionado significativamente. En 1997, se liberó Java 1.1, introduciendo mejoras importantes como los JavaBeans y la compatibilidad con RMI (Remote Method Invocation). A lo largo de los años, se han incorporado funcionalidades como generics, lambda expressions y mejoras en la API de concurrencia, adaptándose a las necesidades cambiantes de la industria del software.
Con la adquisición de Sun Microsystems por parte de Oracle Corporation en 2010, Java pasó a ser mantenido y desarrollado por Oracle. Esto ha permitido una continuidad en el desarrollo del lenguaje, asegurando actualizaciones regulares y mejoras en el rendimiento y la seguridad. La comunidad sigue siendo un pilar fundamental, contribuyendo activamente al ecosistema de Java con librerías y frameworks populares.
Java no solo es relevante en el ámbito del desarrollo de aplicaciones de escritorio, sino que también tiene una presencia importante en el desarrollo web, aplicaciones móviles (especialmente en Android) y sistemas empresariales. Su robustez, seguridad y escalabilidad lo convierten en una opción preferida para grandes proyectos y entornos críticos.
En resumen, Java es un lenguaje con una rica historia y una trayectoria de constante evolución. Su filosofía de portabilidad y su enfoque orientado a objetos han influido en numerosos lenguajes posteriores. Gracias a su amplia adopción y a la solidez de su comunidad, Java continúa siendo una herramienta clave en el desarrollo de software moderno.
¿Te está gustando esta lección?
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
Qué es el JDK, JRE, JVM y qué diferencias hay
La Máquina Virtual de Java (JVM) es el componente esencial que permite ejecutar programas escritos en Java. Se encarga de interpretar el bytecode generado por el compilador y de gestionar la ejecución del programa en el entorno del sistema operativo. La JVM proporciona una capa de abstracción que hace que el código Java sea independiente de la plataforma subyacente.
El Entorno de Ejecución de Java (JRE) es un conjunto de herramientas y bibliotecas que proporcionan todo lo necesario para ejecutar aplicaciones Java. Incluye la JVM y una colección de clases y archivos de soporte que permiten que las aplicaciones funcionen correctamente. El JRE es lo que se instala en un sistema para poder ejecutar programas desarrollados en Java sin necesidad de compilar código.
El Kit de Desarrollo de Java (JDK) es un conjunto completo de herramientas para el desarrollo de aplicaciones Java. Además de contener el JRE y, por tanto, la JVM y las bibliotecas de clases básicas, incluye herramientas de desarrollo como el compilador javac, el depurador jdb y otras utilidades necesarias para escribir, compilar y depurar código Java. El JDK es esencial para los desarrolladores que deseen crear aplicaciones en este lenguaje.
La diferencia clave entre el JRE y el JDK radica en que el JRE está orientado a la ejecución de aplicaciones, mientras que el JDK está diseñado para el desarrollo. Ambos incluyen la JVM, pero el JDK proporciona además las herramientas necesarias para escribir y compilar código, incluyendo librerías adicionales y documentación para desarrolladores.
Es importante destacar que mientras el JRE es suficiente para ejecutar aplicaciones Java, el JDK es necesario para desarrollar código Java. Al programar, se escribe código fuente en archivos con extensión .java, que luego son compilados por el compilador javac en bytecode, generando archivos .class. Estos archivos de bytecode son interpretados y ejecutados por la JVM.
La JVM es una pieza fundamental en el principio de "escribir una vez, ejecutar en cualquier lugar" de Java, ya que se encarga de traducir el bytecode a instrucciones entendibles por el sistema operativo y el hardware específico, permitiendo que el mismo código funcione en diferentes plataformas sin modificaciones.
El JDK que se instala incluye también las APIs estándar de Java, que son conjuntos de clases e interfaces que proporcionan funcionalidades comunes como estructuras de datos, entrada/salida, gestión de red, interfaces gráficas y más. Estas APIs son esenciales para un desarrollo eficiente y estandarizado en Java.
Cuando se habla de versiones de Java, generalmente se hace referencia a la versión del JDK, ya que esta incluye las actualizaciones tanto de la JVM como de las APIs y herramientas de desarrollo. Es fundamental mantener el JDK actualizado para aprovechar las últimas características y mejoras en seguridad y rendimiento.
En el contexto del desarrollo moderno, existen diferentes distribuciones y proveedores del JDK, como Oracle, OpenJDK y otros. Aunque todos cumplen con las especificaciones de Java, pueden existir pequeñas diferencias en términos de licencia, soporte y herramientas adicionales. Es recomendable seleccionar un JDK que se ajuste a las necesidades específicas del proyecto y al entorno de desarrollo.
Comprender las diferencias entre el JDK, JRE y JVM es esencial para desarrollar y ejecutar aplicaciones Java de manera eficiente. El JDK es la herramienta de desarrollo completa, el JRE es el entorno de ejecución y la JVM es la máquina virtual que interpreta y ejecuta el bytecode Java.
Instalación de JDK de Oracle
Para iniciar el desarrollo en Java, es necesario instalar el JDK de Oracle, que provee las herramientas y bibliotecas fundamentales. A continuación, se indican los pasos para su instalación en los sistemas operativos más utilizados.
Descarga del JDK desde el sitio oficial
-
Acceder al sitio web oficial de Oracle para descargar el Java SE Development Kit (JDK). La página de descargas está disponible en la sección de Java SE Downloads.
-
Seleccionar la versión más reciente del JDK. Es esencial elegir la versión adecuada para asegurar compatibilidad y acceso a las últimas novedades.
-
En la lista de descargas, identificar el instalador correspondiente al sistema operativo: Windows, macOS o Linux. Verificar que se selecciona la arquitectura correcta (x64 para sistemas de 64 bits).
Instalación en Windows
-
Descargar el archivo instalador con extensión .exe para Windows.
-
Ejecutar el instalador haciendo doble clic en el archivo descargado. Si el sistema solicita confirmación, aceptar para continuar.
-
Seguir las indicaciones del asistente de instalación. Por defecto, el JDK se instalará en C:\Program Files\Java\jdk<versión>.
-
Durante la instalación, se puede personalizar el directorio de instalación y las características opcionales. Se recomienda mantener las configuraciones predeterminadas para garantizar una instalación completa.
-
Al finalizar, el asistente confirmará que la instalación del JDK se ha realizado exitosamente.
Instalación en macOS
-
Descargar el archivo con extensión .dmg para macOS desde el sitio de Oracle.
-
Abrir el archivo .dmg una vez completada la descarga. Se mostrará un paquete de instalación .pkg.
-
Hacer doble clic en el paquete .pkg para iniciar el instalador. Es posible que se solicite la contraseña de administrador; introducirla si es necesario.
-
Seguir las instrucciones del asistente de instalación, aceptando los términos de la licencia y utilizando las opciones por defecto.
-
Al completar el proceso, el JDK se habrá instalado en /Library/Java/JavaVirtualMachines/jdk<versión>.jdk.
Instalación en Linux
-
Descargar el paquete correspondiente a Linux. Oracle proporciona archivos en formato .tar.gz para distintas distribuciones.
-
Abrir una terminal y navegar hasta el directorio donde está el archivo descargado.
-
Extraer el contenido con el comando:
tar -xzvf jdk-*_linux-x64_bin.tar.gz
- Mover el directorio extraído a la ubicación deseada, por ejemplo, /usr/local/java/:
sudo mv jdk* /usr/local/java/
- Verificar que los permisos del directorio son adecuados para el usuario que usará Java.
Verificación de la instalación
Para comprobar que el JDK de Oracle se instaló correctamente, se puede verificar la versión de Java en la línea de comandos.
En Windows, abrir el Símbolo del sistema y ejecutar:
java -version
En macOS y Linux, abrir una terminal y ejecutar:
java -version
Si la instalación fue exitosa, se mostrará la versión de Java instalada, confirmando que el JDK está operativo.
Es posible que sea necesario configurar las variables de entorno para que el sistema reconozca la instalación de Java. Este proceso se detallará en otra sección.
Instalación de JDK de Eclipse Temurin
Para el desarrollo en Java, otra opción popular es utilizar el JDK de Eclipse Temurin, proporcionado por el proyecto Adoptium de la Fundación Eclipse. Eclipse Temurin ofrece una distribución gratuita y de código abierto del OpenJDK, garantizando compatibilidad y soporte comunitario.
Descarga de Eclipse Temurin
-
Visitar el sitio oficial de Adoptium en adoptium.net.
-
En la página principal, se encuentra disponible la última versión estable del JDK. Asegurarse de que está seleccionada la versión deseada de Java.
-
Seleccionar el sistema operativo correspondiente: Windows, macOS o Linux.
-
Elegir la arquitectura adecuada (x64 para sistemas de 64 bits). El sitio suele detectar automáticamente la plataforma y sugerir la descarga apropiada.
Instalación en Windows
-
Descargar el instalador MSI para Windows.
-
Al finalizar la descarga, ejecutar el archivo MSI haciendo doble clic.
-
En el asistente de instalación, aceptar los términos de la licencia y pulsar Next para continuar.
-
Elegir el directorio de instalación si se desea cambiar el predeterminado. Por defecto, se instala en C:\Program Files\Eclipse Adoptium\jdk.
-
Durante la instalación, es posible configurar las variables de entorno y asociar los archivos .jar con Java. Se recomienda activar la opción "Set JAVA_HOME variable" para facilitar la configuración.
-
Hacer clic en Install para iniciar la instalación. Si se solicita permiso de administrador, otorgarlo para proceder.
-
Al concluir, el asistente confirmará que la instalación de Eclipse Temurin se realizó correctamente.
Instalación en macOS
-
Descargar el paquete PKG para macOS desde el sitio de Adoptium.
-
Abrir el archivo PKG haciendo doble clic. Si el sistema solicita confirmación para abrir un paquete de Internet, aceptar.
-
Seguir las indicaciones del instalador, aceptando los términos y condiciones. Seleccionar el destino de la instalación si es necesario.
-
Pulsar Install para comenzar. Es probable que se solicite la contraseña de administrador; introducirla cuando se requiera.
-
Al finalizar, se mostrará un mensaje indicando que Eclipse Temurin se instaló exitosamente en el sistema.
Instalación en Linux
-
Descargar el paquete adecuado para Linux. Se ofrecen formatos como .tar.gz, .deb (para Debian/Ubuntu) y .rpm (para Fedora/CentOS).
-
Para distribuciones basadas en Debian:
-
Descargar el archivo .deb.
-
Abrir una terminal y navegar hasta el directorio de descarga.
-
Ejecutar la instalación con:
sudo dpkg -i temurin-*-jdk*_linux-x64_bin.deb
- Para distribuciones basadas en RPM:
-
Descargar el archivo .rpm.
-
En una terminal, acceder al directorio de descarga.
-
Instalar el paquete utilizando:
sudo rpm -ivh temurin-*-jdk*_linux-x64_bin.rpm
- Alternativamente, usar el paquete .tar.gz:
-
Descargar el archivo .tar.gz.
-
Extraer el contenido en el directorio deseado, por ejemplo /opt/java/:
sudo mkdir -p /opt/java
sudo tar -xzf temurin-*-jdk*_linux-x64_bin.tar.gz -C /opt/java/
- Configurar las variables de entorno para apuntar al JDK instalado.
Configuración de variables de entorno
Es posible que se necesite configurar JAVA_HOME y actualizar el PATH para que el sistema reconozca el JDK.
En Windows, si durante la instalación se seleccionó configurar JAVA_HOME, esta variable ya estará establecida. Si no, se puede añadir manualmente:
-
Acceder al Panel de Control y seleccionar Sistema y seguridad, luego Sistema.
-
Hacer clic en Configuración avanzada del sistema y luego en Variables de entorno.
-
En Variables del sistema, pulsar Nueva... y crear la variable JAVA_HOME apuntando al directorio de Eclipse Temurin, por ejemplo:
Variable: JAVA_HOME
Valor: C:\Program Files\Eclipse Adoptium\jdk-<versión>
- Editar la variable Path y agregar
%JAVA_HOME%\bin
al final.
En Linux y macOS, editar el archivo de configuración del shell, como .bashrc o .zshrc, y añadir:
export JAVA_HOME=/ruta/al/jdk
export PATH=$JAVA_HOME/bin:$PATH
Reemplazar /ruta/al/jdk por la ubicación real del JDK de Eclipse Temurin.
Verificación de la instalación
Para verificar que Eclipse Temurin se instaló correctamente, abrir una terminal o el Símbolo del sistema y ejecutar:
java -version
Debería aparecer información similar a:
openjdk version "23" 2024-03-14
OpenJDK Runtime Environment Temurin-23.0.0+10 (build 23.0.0+10)
OpenJDK 64-Bit Server VM Temurin-23.0.0+10 (build 23.0.0+10, mixed mode)
Esto indica que el JDK de Eclipse Temurin está instalado y configurado correctamente.
Ventajas de Eclipse Temurin
Utilizar Eclipse Temurin ofrece la confianza de una distribución libre y de código abierto, mantenida por la comunidad y la Fundación Eclipse. Se garantiza compatibilidad con las especificaciones de Java y se obtiene soporte regular en actualizaciones y parches de seguridad.
Además, Eclipse Temurin es ideal para entornos que requieren soluciones abiertas y es totalmente compatible con las herramientas y frameworks del ecosistema Java.
Configurar variables de entorno para Java
Para que el sistema operativo reconozca los comandos de Java y permita su ejecución desde cualquier ubicación, es esencial configurar correctamente las variables de entorno. Este paso garantiza que herramientas como javac
y java
estén disponibles globalmente en la línea de comandos.
Configuración en Windows
- Acceder a las variables de entorno:
- Hacer clic derecho en Este equipo y seleccionar Propiedades.
- En la ventana que aparece, elegir Configuración avanzada del sistema.
- En la pestaña Opciones avanzadas, pulsar el botón Variables de entorno.
- Crear la variable JAVA_HOME:
- En Variables del sistema, comprobar si existe JAVA_HOME.
- Si no existe, pulsar Nueva... para crearla.
- Asignar como Nombre de la variable:
JAVA_HOME
. - Establecer como Valor de la variable la ruta donde se instaló el JDK. Por ejemplo:
C:\Program Files\Java\jdk
.
- Modificar la variable Path:
- En la lista de Variables del sistema, seleccionar Path y pulsar Editar.
- Añadir una nueva entrada con
%JAVA_HOME%\bin
. - Esto permite que el sistema encuentre los ejecutables de Java ubicados en el directorio
bin
.
- Guardar los cambios:
- Confirmar todas las ventanas pulsando Aceptar.
- Reiniciar cualquier terminal o consola abierta para aplicar la nueva configuración.
- Verificar la configuración:
- Abrir Símbolo del sistema o PowerShell.
- Ejecutar
java -version
yjavac -version
. - Si se muestran las versiones instaladas, significa que Java está correctamente configurado.
Configuración en macOS
Aunque en macOS Java suele configurarse automáticamente, establecer la variable JAVA_HOME puede ser necesario para ciertos desarrollos.
-
Abrir la Terminal.
-
Editar el archivo de configuración del shell:
- Si se utiliza bash, editar el archivo
~/.bash_profile
o~/.bashrc
. - Si se utiliza zsh (shell por defecto en versiones recientes), editar
~/.zshrc
.
- Añadir la variable JAVA_HOME:
export JAVA_HOME=$(/usr/libexec/java_home)
- Este comando asigna JAVA_HOME al directorio del JDK instalado.
- Actualizar el Path (si es necesario):
export PATH=$JAVA_HOME/bin:$PATH
- Aplicar los cambios:
- Ejecutar
source ~/.bash_profile
osource ~/.zshrc
para recargar la configuración.
- Verificar la configuración:
- Ejecutar
echo $JAVA_HOME
para comprobar la ruta asignada. - Ejecutar
java -version
yjavac -version
para asegurar que Java está disponible.
Configuración en Linux
Los pasos pueden variar ligeramente según la distribución, pero el procedimiento general es el siguiente:
-
Abrir una terminal.
-
Editar el archivo de configuración del shell:
- Para bash, editar
~/.bashrc
o~/.bash_profile
. - Para zsh, editar
~/.zshrc
.
- Establecer JAVA_HOME:
export JAVA_HOME=/ruta/al/jdk
- Reemplazar
/ruta/al/jdk
por la ruta real donde se instaló el JDK. Por ejemplo:/usr/local/java/jdk
.
- Actualizar el Path:
export PATH=$JAVA_HOME/bin:$PATH
- Esto añade el directorio
bin
del JDK al PATH del sistema.
- Aplicar los cambios:
- Guardar el archivo y ejecutar
source ~/.bashrc
o el archivo correspondiente para recargar la configuración.
- Comprobar la configuración:
- Ejecutar
echo $JAVA_HOME
para verificar que la variable apunta al directorio correcto. - Ejecutar
java -version
yjavac -version
para confirmar que Java funciona adecuadamente.
Consideraciones adicionales
- Permisos de usuario: Asegurarse de tener permisos adecuados para acceder a los directorios donde se instaló Java.
- Múltiples versiones de Java: Si se tienen instaladas varias versiones, se puede cambiar la versión activa modificando la variable JAVA_HOME.
- Herramientas de gestión de versiones: En Linux, se puede utilizar
update-alternatives
para gestionar diferentes versiones de Java y establecer prioridades.
Validación final
Para confirmar que la configuración es correcta, se puede compilar y ejecutar un programa simple.
- Crear el archivo
HolaMundo.java
:
public class HolaMundo {
public static void main(String[] args) {
System.out.println("¡Hola, mundo!");
}
}
- Compilar el programa:
javac HolaMundo.java
- Si la compilación es exitosa, se generará el archivo
HolaMundo.class
.
- Ejecutar el programa:
java HolaMundo
- Debería aparecer en pantalla:
¡Hola, mundo!
Este resultado indica que tanto el compilador javac
como la máquina virtual java
están operativos y accesibles gracias a la correcta configuración de las variables de entorno.
Aprendizajes de esta lección
- Comprender qué es Java y su relevancia.
- Identificar la evolución histórica de Java desde su creación.
- Reconocer las características clave de Java, como la portabilidad y orientación a objetos.
- Distinguir entre JDK, JRE y JVM y sus funciones.
- Obtener conocimientos básicos para la instalación del JDK.
Completa y certifícate
Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.
Asistente IA
Resuelve dudas al instante
Ejercicios
Practica con proyectos reales
Certificados
Valida tus conocimientos
Más de 25.000 desarrolladores ya se han certificado con CertiDevs