Navegación

Java, su historia, ediciones, versiones y características como plataforma y lenguaje de programación

Publicado por Gastón el 10/10/2007 en Java - Nivel Básico

Tabla de contenidos

Logo de Java

La tabla de contenidos pertenece al artículo completo y no al contenido parcial de cada página del mismo si fuese el caso.

Leer los comentarios.

Resúmen

Este artículo pretende ser una lectura sobre los conceptos básicos, la historia y las diferentes versiones y ediciones disponibles de Java. Intenta acercar al programador, y al interesado en estas tecnologías, a conocer con mayor profundidad lo que representa el mundo de Java.

Sobre el autor

Avatar de Gastón

Gastón tiene 32 años, vive en Argentina / Santa Fe / Santa Fe y su ocupación es Desarrollador de aplicaciones web.

Forma parte del club desde 19/10/2009 a las 20:52 habiendo estado en linea 25/03/2013 a las 18:54 por última vez.

Ha publicado 54 artículos en clubdesarrolladores con un promedio de valoración de 7.96 puntos. Puedes visitar su sitio web en http://devstudios.clubdesarrolladores.com

Estadísticas

  • Leido 62453 veces
  • Valorado 8.33 puntos

¿Qué es Java?

Java es toda una tecnología orientada al desarrollo de software con el cual podemos realizar cualquier tipo de programa. Hoy en día, la tecnología Java ha cobrado mucha importancia en el ámbito de Internet gracias a su plataforma J2EE. Pero Java no se queda ahí, ya que en la industria para dispositivos móviles también hay una gran acogida para este lenguaje.

La tecnología Java está compuesta básicamente por 2 elementos: el lenguaje Java y su plataforma. Con plataforma nos referimos a la máquina virtual de Java (Java Virtual Machine).

Java también es un lenguaje de programación. En la actualidad es un lenguaje muy extendido y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Está desarrollado por la compañía Sun Microsystems con gran dedicación y siempre enfocado a cubrir las necesidades tecnológicas más punteras.

Características de Java

Una de las principales características por las que Java se ha hecho muy famoso es que es un lenguaje independiente de la plataforma. Eso quiere decir que si hacemos un programa en Java podrá funcionar en cualquier ordenador del mercado. Es una ventaja significativa para los desarrolladores de software, pues antes tenían que hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una Máquina de Java para cada sistema que hace de puente entre el sistema operativo y el programa de Java y posibilita que este último se entienda perfectamente.

La independencia de plataforma es una de las razones por las que Java es interesante para Internet, ya que muchas personas deben tener acceso con ordenadores distintos. A su vez, Java está desarrollándose incluso para distintos tipos de dispositivos además del ordenador como móviles, agendas y en general para cualquier "cosa" que se le ocurra a la industria. Lo que favoreció el crecimiento y difusión del lenguaje Java es su capacidad de que el código funcione sobre cualquier plataforma de software y hardware. Esto significa que nuestro mismo programa escrito para Linux puede ser ejecutado en Windows sin ningún problema. Además es un lenguaje orientado a objetos que resuelve los problemas en la complejidad de los sistemas, entre otras.

Esto agiliza el proceso de desarrollo substancialmente, suponiendo que usted va a lanzar un producto para diversos sistemas operativos(Windows,Linux,AIX,Solaris) y procesadores( Sparc, x86(Intel), HP-UX , Alpha )... el realizarlo para cada combinación posible sería una magna obra de Ingeniería, si utiliza Java puede concentrar sus esfuerzos unicamente en un producto, y debido a que existen diversos JRE: Para Linux, Solaris, Windows y otros sistemas operativos, deja los detalles específicos de Plataforma (JVM) al JRE y concentra sus esfuerzos en un solo producto.

El recolector de basura

Un argumento en contra de lenguajes como C++ es que los programadores se encuentran con la carga añadida de tener que administrar la memoria solicitada dinámicamente de forma manual:
En C++, el desarrollador puede asignar memoria en una zona conocida como heap (montículo) para crear cualquier objeto, y posteriormente desalojar el espacio asignado cuando desea borrarlo. Un olvido a la hora de desalojar memoria previamente solicitada puede llevar a una fuga de memoria, ya que el sistema operativo seguirá pensando que esa zona de memoria está siendo usada por una aplicación cuando en realidad no es así. Así, un programa mal diseñado podría consumir una cantidad desproporcionada de memoria. Además, si una misma región de memoria es desalojada dos veces el programa puede volverse inestable y llevar a un eventual cuelgue. No obstante, se debe señalar que C++ también permite crear objetos en la pila de llamadas de una función o bloque, de forma que se libere la memoria (y se ejecute el destructor del objeto) de forma automática al finalizar la ejecución de la función o bloque.
En Java, este problema potencial es evitado en gran medida por el recolector automático de basura (o automatic garbage collector). El programador determina cuándo se crean los objetos y el entorno en tiempo de ejecución de Java (Java runtime) es el responsable de gestionar el ciclo de vida de los objetos. El programa, u otros objetos pueden tener localizado un objeto mediante una referencia a éste (que, desde un punto de vista de bajo nivel es una dirección de memoria). Cuando no quedan referencias a un objeto, el recolector de basura de Java borra el objeto, liberando así la memoria que ocupaba previniendo posibles fugas (ejemplo: un objeto creado y únicamente usado dentro de un método sólo tiene entidad dentro de éste; al salir del método el objeto es eliminado). Aún así, es posible que se produzcan fugas de memoria si el código almacena referencias a objetos que ya no son necesarios—es decir, pueden aún ocurrir, pero en un nivel conceptual superior. En definitiva, el recolector de basura de Java permite una fácil creación y eliminación de objetos, mayor seguridad y puede que más rápida que en C++.
La recolección de basura de Java es un proceso prácticamente invisible al desarrollador. Es decir, el programador no tiene conciencia de cuándo la recolección de basura tendrá lugar, ya que ésta no tiene necesariamente que guardar relación con las acciones que realiza el código fuente.
Debe tenerse en cuenta que la memoria es sólo uno de los muchos recursos que deben ser gestionados.

Si tiene alguna pregunta sobre éste artículo por favor deje un comentario y será respondido.

También recuerde que éste artículo tiene descargas disponibles.

Descargas

Hola Mundo en Java 11/10/2007 | 223 descargas | 330 bytes Código fuente en Java agregado por Gastón

Listado de comentarios

Sus comentarios son importantes.

Avatar de hector diego

MUY COMPLETO EL ARTICULO....GRACIAS.. ME SIRVIO PARA APRENDER ALGO DE JAVA

hector diego (16/08/2009)
Avatar de Daniel Montero

excelente articulo y muy completo

Daniel Montero (16/02/2010)
Avatar de Gastón Autor

Muchas gracias por sus comentarios, esa era la idea.

Gastón (05/03/2010)
Avatar de thais londoño

Muy bueno el material es de mucha ayuda para quien esta comenzando gracias

thais londoño (24/08/2010)
Avatar de Carlos Tamay

En mi opinión, muy bueno el artículo. Encontré lo que necesitaba saber. Gracias.

Carlos Tamay (24/10/2010)
Avatar de Hector Zacarias

Excelente artículo para quienes nos iniciamos en este mundo de Java.

Hector Zacarias (05/10/2011)

Agregar un comentario

Debe estar identificado para agregar un comentario