Java Plataforma Java Maquina Virtual Java (Java virtual Machine, JVM) La idea original de los diseñadores del lenguaje de Java fue disponer de un lenguaje de desarrollo para generar aplicaciones que fuesen independientes de la plataforma. Para este propósito se creó la denominada Máquina Virtual Java. JVM es un sofisticado intérprete del código compilado de Java. Existen versiones para todos los sistemas operativos más utilizados (Windows, Linux, UNIX, etc.), convierte el código compilado de Java, contenido en los ficheros de extensión “.class”, en sentencias de máquina, asociado al microprocesador con el que se está trabajando. Interfaz de programación de aplicaciones Java (Java Application Programming Interface, Java API). También conocida como la API de Java o biblioteca estándar de Java. Java contiene muchas piezas predefinidas llamadas clases, que se agrupan mediante subdirectorios en el disco en categorías de clases relacionadas entre sí llamadas paquetes. Lenguaje de programación de Java, lenguaje de programación para escribir aplicaciones. Historia de Java El lenguaje Java fue presentado por primera vez por su creador, la empresa de informática Sun Microsystems, en mayo de 1995, como lenguaje de desarrollo de Internet. Si bien ya había sido presentado anteriormente en 1991, como lenguaje de programación de componentes electrónicos. En diciembre de 1998 Sun Microsystems anuncia el Java 2 como marca comercial de la versión JDK1.2, y de propósito general1, la versión vigente en este momento de escribir esta guía es la JDK 1.6. Con tendencia a crecer. Tiempo de Compilación y Tiempo de Ejecución Java sigue un esquema no tradicional de Compilación/Ejecución. Cuando se compila genera un código intermedio o bytecode independiente de la plataforma2 o del sistema. Para su ejecución se necesita de la JVM que interpreta el bytecode, instrucción por instrucción para obtener el código máquina necesario para ejecutar el programa en la computadora (compilador JIT –Just In Time-). . Ejemplo: Tiempo de Compilación Tiempo de Ejecución public class Programa{ public static void main(String[]args{ ….. } java javac } Código Fuente Código máquina Programa.class Compilación Ficheros de clases en bytecode o código intermedio (no son binarios ejecutables directamente) Ejecución Ejecución interpretada o compilada just-intime con máquina virtual Java específica Normalmente, un compilador traduce un programa de un lenguaje de alto nivel a código máquina. El código sólo se puede ejecutar en la máquina nativa. Si se ejecuta el programa en otras maquinas, éste ha de ser recompilado. Así por ejemplo, cuando un programa es escrito en C ++ se compila en Windows, el código ejecutable generado por el compilador sólo se puede ejecutar en una plataforma Windows. En el caso de Java, se compila el código fuente una sola vez y el bytecode generado por el compilador Java se puede ejecutar en cualquier plataforma. Tipos de programas en Java (J2SE) En el lenguaje de Java existen dos tipos de programas • Aplicaciones: Son programas normales que se ejecutan directamente por el sistema operativo del usuario a través de un interprete • Applets: Programas que se integran en las páginas Web y que se ejecutan 1 Porque se puede crear cualquier tipo de aplicación en él, pero su mayor éxito se produce en Internet, con los famosos applets, las aplicaciones Cliente/Servidor, las JSP (Java Sever Pages) similares a PHP o ASP. 2 Una plataforma define el estándar según el cual se desarrollan los paquetes de software. Esto es; el software se crea para que se ejecute en una plataforma específica. En concreto, la plataforma se define por dos elementos claves: el tipo de microprocesador (por ejemplo, Pentium de Intel, PowerPc, etc.), y el sistema operativo (por ejemplo, System de Macintosh, Windows, etc.) Por lo general, el software creado para ejecutarse en una plataforma no es compatible con ninguna otra y, por lo tanto, no puede ejecutarse fuera de ella. de la red. Herramientas de la programación en Java Java SDK (Software Development Kit) • • • • Compilación de aplicaciones javac Ejecución de aplicaciones java Ejecución de applets appletviewer Generación de documentación javadoc, entre otros. Versiones • 1996 JDK 1.1 • 1998 JDK 1.2 (Java 2 SDK v 1.2) • 2000 JDK 1.3 (Java 2 SDK v 1.3) • 2002 JDK 1.4 (Java 2 Platform Standard Edition v1.4) • 2004 JDK 1.5 (Java 2 Platform Standard Edition v5.0) • 2009 JDK 1.6 (Java 2 Platform Standard Edition v6.0) … Ediciones • J2SE (Standard Edition): aplicaciones y applets • J2EE (Enterprise Edition): es esencialmente igual a la versión estándar salvo que incluye nuevos paquetes, orientados a servidores web. • J2ME(Micro Edition): Aplicaciones para dispositivos móviles IDEs (Entornos Integrados de Desarrollo) Gratuitos • Drjava. • Eclipse. • Gel. • JBuilderX Foundation – español, Ingles. • NetBeans – ingles. Aplicaciones Editor de Texto Código Java Prog.java javac Prog.java