Plataforma Java


Plataforma Java
Java
Desarrollador
Oracle Corporation
http://www.java.com
Información general
Diseñador James Gosling
Última versión estable Versión 7 (info)
28 de julio de 2011; hace 3 meses (2011-07-28)
Género Plataforma de software
Sistema operativo Multiplataforma
Licencia GNU General Public License /
Java Community Process
En español Sí. 

La plataforma Java es el nombre de un entorno o plataforma de computación originaria de Sun Microsystems, capaz de ejecutar aplicaciones desarrolladas usando el lenguaje de programación Java u otros lenguajes que compilen a bytecode y un conjunto de herramientas de desarrollo. En este caso, la plataforma no es un hardware específico o un sistema operativo, sino más bien una máquina virtual encargada de la ejecución de las aplicaciones, y un conjunto de bibliotecas estándar que ofrecen una funcionalidad común.

La plataforma es así llamada la plataforma Java (antes conocida como Plataforma Java 2[1]), e incluye:

  • Plataforma Java, Edición Estándar (Java Platform, Standard Edition), o Java SE (antes J2SE)
  • Plataforma Java, Edición Empresa (Java Platform, Enterprise Edition), o Java EE (antes J2EE)
  • Plataforma Java, Edición Micro (Java Platform, Micro Edition), o Java ME (antes J2ME)

Desde 2006, la versión actual de la Plataforma Java Standard Edition se le conoce como Java SE 6 como versión externa, y 1.6 como versión interna. Sin embargo, se prefiere el término versión 6. Una visión general de la multitud de tecnologías que componen la Plataforma Java puede encontrarse en la página de documentación del JDK.

Contenido

Tecnologías Java

La Plataforma Java se compone de un amplio abanico de tecnologías, cada una de las cuales ofrece una parte del complejo de desarrollo o del entorno de ejecución en tiempo real. Por ejemplo, los usuarios finales suelen interactuar con la máquina virtual de Java y el conjunto estándar de bibliotecas. Además, las aplicaciones Java pueden usarse de forma variada, como por ejemplo ser incrustadas en una página web. Para el desarrollo de aplicaciones, se utiliza un conjunto de herramientas conocidas como JDK (Java Development Kit, o herramientas de desarrollo para Java).

Java Runtime Environment

Un programa destinado a la Plataforma Java necesita dos componentes en el sistema donde se va a ejecutar: una máquina virtual de Java (JVM), y un conjunto de bibliotecas para proporcionar los servicios que pueda necesitar la aplicación. La JVM que proporciona Sun Microsystems, junto con su implementación de las bibliotecas estándar, se conocen como Java Runtime Environment (JRE) o Entorno en tiempo de ejecución para Java. El JRE es lo mínimo que debe contener un sistema para poder ejecutar una aplicación Java sobre el mismo.

Máquina Virtual de Java

El corazón de la Plataforma Java es el concepto común de un procesador “virtual” que ejecuta programas escritos en el lenguaje de programación Java. En concreto, ejecuta el código resultante de la compilación del código fuente, conocido como bytecode. Este “procesador” es la máquina virtual de Java o JVM (Java Virtual Machine), que se encarga de traducir ( interpretar o compilar al vuelo) el bytecode en instrucciones nativas de la plataforma destino. Esto permite que una misma aplicación Java pueda ser ejecutada en una gran variedad de sistemas con arquitecturas distintas, siempre que con una implementación adecuada de la JVM. Este hecho es lo que ha dado lugar a la famosa frase: “write once, run anywhere” (escribir una vez, ejecutar en cualquier parte). La condición es que no se utilicen llamadas nativas o funciones especificas de una plataforma y aun así no se asegura completamente que se cumpla una verdadera independencia de plataforma.

Desde la versión 1.2 de JRE, la implementación de la máquina virtual de Sun incluye un compilador JIT (Just In Time). De esta forma, en vez de la tradicional interpretación del código bytecode, que da lugar a una ejecución lenta de las aplicaciones, el JIT convierte el bytecode a código nativo de la plataforma destino. Esta segunda compilación del código penaliza en cuanto a tiempo, pero el código nativo resultante se ejecuta de forma más eficaz y rápida que si fuera interpretado. Otras técnicas de compilación dinámica del código durante el tiempo de ejecución permiten optimizar más aún el código, dejando atrás la losa que sobre Java caía en cuanto a su lentitud y en sus últimas versiones la JVM se ha optimizado a tal punto que ya no se considera una plataforma lenta en cuanto a ejecución de aplicaciones.

Sin embargo, no se puede decir que Java pueda compilar el código con un máximo de eficiencia, y aprovechar los beneficios en cuanto a velocidad de código máquina nativo. Aunque los compiladores cada vez son más avanzados, no todas las bibliotecas de Java tienen asociado un código máquina equivalente que utilizar. Por ejemplo, la biblioteca “reflect”, que permite a los programadores de Java explorar instrucciones que sólo están disponibles en tiempo de ejecución, está pobremente representado por código máquina.

Java no fue la primera plataforma basada en el concepto de una máquina virtual, aunque es la que ha gozado de una mayor difusión. El empleo de máquinas virtuales se había centrado principalmente en el uso de emuladores para ayudar al desarrollo de hardware en construcción o sistemas operativos, pero la JVM se diseñó para ser implementada completamente en software, y al mismo tiempo hacer que fuera portable a todo tipo de hardware.

Bibliotecas de Java

En la mayoría de los sistemas operativos actuales, se ofrece una cantidad de código para simplificar la tarea de programación. Este código toma la forma, normalmente, de un conjunto de bibliotecas dinámicas que las aplicaciones pueden llamar cuando lo necesiten. Pero la Plataforma Java está pensada para ser independiente del sistema operativo subyacente, por lo que las aplicaciones no pueden apoyarse en funciones dependientes de cada sistema en concreto. Lo que hace la Plataforma Java, es ofrecer un conjunto de bibliotecas estándar, que contiene mucha de las funciones reutilizables disponibles en los sistemas operativos actuales.

Las bibliotecas de Java tienen tres propósitos dentro de la Plataforma Java. Al igual que otras bibliotecas estándar, ofrecen al programador un conjunto bien definido de funciones para realizar tareas comunes, como manejar listas de elementos u operar de forma sofisticada sobre cadenas de caracteres. Además, las bibliotecas proporcionan una interfaz abstracta para tareas que son altamente dependientes del hardware de la plataforma destino y de su sistema operativo. Tareas tales como manejo de las funciones de red o acceso a ficheros, suelen depender fuertemente de la funcionalidad nativa de la plataforma destino. En el caso concreto anterior, las bibliotecas java.net y java.io implementan el código nativo internamente, y ofrecen una interfaz estándar para que aplicaciones Java puedan ejecutar tales funciones. Finalmente, no todas las plataformas soportan todas las funciones que una aplicación Java espera. En estos casos, las bibliotecas bien pueden emular esas funciones usando lo que esté disponible, o bien ofrecer un mecanismo para comprobar si una funcionalidad concreta está presente.

Lenguajes

La palabra Java, por sí misma, se refiere habitualmente al lenguaje de programación Java, que fue diseñado para usar con la Plataforma Java. Los lenguajes de programación se encuentran fuera del ámbito de lo que es una “plataforma”, aunque el lenguaje de programación Java es uno de los componentes fundamentales de la plataforma Java. El propio lenguaje y el entorno en tiempo de ejecución suelen considerarse una única entidad.

Sin embargo, se han desarrollado fuera del entorno de Sun, un gran número de compiladores para la máquina virtual de Java (JVM). Algunos de estos lenguajes son:

Plataformas similares

El éxito de Java y el concepto y eslogan “write once, run anywhere” (escribir una vez, ejecutar en cualquier parte), ha dado lugar a que se lleven a cabo iniciativas en el mismo sentido. El intento más claro es la plataforma.NET de Microsoft, que copia la mayoría de los conceptos e innovaciones de Java; de hecho, tiene una implementación de Java llamada Visual J# (antes conocida como J++).

Véase también

Enlaces externos


Wikimedia foundation. 2010.

Mira otros diccionarios:

  • Plataforma Java — Java es una plataforma, desarrollado al comienzo de los años 90 con el objetivo concreto de permitir ejecutar programas sin tener relativamente en cuenta el hardware final, sin volver a reescribir todo el código del programa. Consiste en tres… …   Enciclopedia Universal

  • Java EE — Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de programación parte de la Plataforma Java para desarrollar y ejecutar software de… …   Wikipedia Español

  • Java Card — es una tecnología que permite ejecutar de forma segura pequeñas aplicaciones Java (applets) en tarjetas inteligentes y similares dispositivos empotrados. Java Card da al usuario la capacidad de programar aplicaciones que se ejecutan en la tarjeta …   Wikipedia Español

  • Java SE — Java Platform, Standard Edition o Java SE (conocido anteriormente hasta la versión 5.0 como Plataforma Java 2, Standard Edition o J2SE), es una colección de APIs del lenguaje de programación Java útiles para muchos programas de la Plataforma Java …   Wikipedia Español

  • Java BluePrints — es una guía de las mejores prácticas de Sun Microsystems para desarrollo en la Plataforma Java para empresas. Este es el modelo de programación oficial de Sun para el kit de desarrollo software (SDK) J2EE. Comenzó con Java Pet Store, la… …   Wikipedia Español

  • Java Runtime Environment — o JRE es un conjunto de utilidades que permite la ejecución de programas Java. Componentes En su forma más simple, el entorno en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java o JVM, un conjunto de bibliotecas Java y… …   Wikipedia Español

  • Java ME — Saltar a navegación, búsqueda Java ME o plataforma Java, edición Micro (en inglés Java Platform, Micro Edition), anteriormente conocida como Java 2 Platform, Micro Edition o J2ME, es una colección de APIs de Java para el desarrollo de software… …   Wikipedia Español

  • Java Persistence API — Desarrollador Sun Microsystems http://java.sun.com/javaee/... Información general Género …   Wikipedia Español

  • Java Network Launching Protocol — (JNLP) es una especificación usada por Java Web Start. Esta especificación, permite tener centralizado en un servidor web un programa, evitando los problemas de distribución e instalación. Contenido 1 Qué hace 2 Cómo funciona 3 …   Wikipedia Español

  • Java Business Integration — (JBI) es una especificación desarrollada bajo la Java Community Process (JCP) con el objetivo de implementar en Java una Enterprise Application Integration (EAI), siguiendo los principios de la Arquitectura Orientada a Servicio (SOA). La… …   Wikipedia Español