Introducción a Java

Java es más que un lenguaje de programación y muchas veces al empezar con esta tecnología se ignora su funcionamiento por detrás. En este artículo veremos como funciona una aplicación escrita en Java y las características de este lenguaje.

Hablemos un poco de su historia

Java es un lenguaje de programación creado en Sun Microsystems en 1991, con un equipo de ingenieros liderado por James Goling y Patrick Naughton. Luego, fue publicado y comercializado en 1995. En 2010, fue adquirida por Oracle, quien es propietaria hasta la actualidad de este artículo.

Java fue creado bajo la filosofía o slogan de "Write once, run anywhere" (WORA, escribe una vez y corre en cualquier lugar).

Características de Java

  • Multiplataforma
  • Orientado a objetos
  • Interpretado
  • Multihilo
  • Fuertemente tipado
  • Curva de aprendizaje alta

Sin embargo, lo que más caracteriza a Java es la JVM (Java Virtual Machine).

¿Cómo funciona la JVM?

La Java Virtual Machine o JVM interpreta el código Bytecode para ejecutar el programa en cualquier sistema operativo, luego de que el código en Java sea compilado por su compilador Javac.

JVM - Blog Maadcode.png

A diferencia de otros lenguajes compilados como C, un programa hecho en Java solo debe ser compilado a Bytecode y la JVM se encargará de interpretarlo en cualquier Sistema Operativo. Mientras que, un programa en C debe ser compilado por el S.O. (Sistema Operativo) en el que se va a ejecutar.

JDK, JRE y JVM

Cuando empezamos aprendemos Java solemos instalar el famoso JDK (Java Development Kit) para que nuestras aplicaciones funcionen correctamente, pero te has puesto a pensar, ¿para qué sirve el JDK?

Si la JVM es quien interpreta nuestro código ya compilado, ¿Qué hace el JRE y el JDK? Bueno, el JRE (Java Runtime Environment) contiene tanto la JVM como las librerías o API del mismo Java. Por ejemplo, si nos conectamos a una base de datos y usamos JDBC o si manejamos fechas, estamos usando estas librerías de Java que vienen en el JRE.

Por otro lado, el JDK no es más que la adición del compilador Javac más las herramientas para los desarrolladores como jlink o jar al JRE.

JDK - Blog Maadcode.png

Algunas de estas librerías o API de Java incluidas en el JRE

  • Collections : Para el manejo de estructuras de datos como grafos, arboles, hash o listas.
  • Data and Time : Para el manejo de fechas y zonas horarias.
  • NIO (New Input Output) : Para la lectura y escritura de ficheros.
  • Networking : Para el manejo de protocolos de red como TCP, UDP, HTTP, Sockets.
  • Security : Para el manejo de algoritmos de criptografía, autenticación y comunicaciones seguras.
  • Swing & JavaFX : Para el desarrollo de interfaces gráficas.
  • JDBC : Cliente de acceso a bases de datos.
  • Internationalization : Para manejar el multi-lenguaje y multi-región tanto en caracteres, fechas, etc.

Algunas herramientas de desarrollador incluidas en el JDK

  • keytool : Para importar y exportar certificados para conexiones remotas.
  • javadoc : Para documentar el código fuente.
  • jar : Para comprimir todas las clases en un archivo.
  • jshell : Para usar Java en la terminal.
  • jlink : Para incluir sólo módulos requeridos del programa.

Especificaciones o ediciones de Java

  • Java ME (Java Micro Edition) : Usado para la crear sistemas embebidos
  • Java SE (Java Standard Edition) : Usado para crear aplicaciones de escritorio y web
  • Java EE (Java Enterprise Edition) : Usado para sistemas empresariales robustos

Otros lenguajes de programación que usan JVM

  • Jruby
  • Jython
  • Kotlin
  • Scala
  • Groovy

Tener en cuenta que OpenJDK, no es la versión gratuita del JDK, sino que es un proyecto donde sólo hay código fuente, cuyo objetivo es colaborar para la siguiente versión de Java. La mejor referencia de OpenJDK es que podría decirse que es similar a Github.

Espero te haya servido, no olvides compartirlo en tus redes. ¡Happy Coding!👋

Ver más

Creado con y por Maadcode | ©2021 todos los derechos reservados