Descarga e instalación del Java SE Development Kit (JDK)
Conceptos básicos 
El éxito imparable y sin precedentes del lenguaje de programación Java desde sus inicios en el año 1996 se debe en gran parte a que este lenguaje es independiente de cualquier plataforma. Es decir, cualquier aplicación Java se puede desarrollar en la plataforma que nosotros como desarrolladores nos sintamos más cómodos y se podrá ejecutar o explotar en la plataforma que nuestros clientes elijan
- cuando hablamos de plataformas nos referimos a la unión de un Sistema Operativo con su correspondiente Hardware
Otros lenguajes que no siguen el eslogan bandera de Java "escribe una vez y ejecuta en cualquier plataforma" se ven obligados a realizar diferentes compilaciones, y en algunos casos modificación de código fuente, para cada una de las plataformas que se tiene que ejecutar una aplicación. Esto hace que la distribución y el mantenimiento de las diferentes versiones de la aplicación que se irán realizando a lo largo del tiempo se convierta en una auténtica pesadilla.
Los IDE (Integrated Development Environment, Entornos Integrados de Desarrollo) Java de hoy en día nos permiten como desarrolladores crear aplicaciones Java en un entorno amigable y de fácil utilización.
A continuación vamos a dar un repaso rápido de diferentes conceptos que nos van a ayudar a discernir que software necesitamos instalar en nuestro ordenador para poder empezar este curso de Java.
- Plataforma de desarrollo (Windows, Linux, Mac OS X, o cualquier otro)
- primero de todo necesitamos saber cual es la arquitectura Hardware de nuestro ordenador y que Sistema Operativo utilizamos para poder instalar la MVJ (Máquina Virtual Java) que corresponda a nuestra plataforma
- IDE entorno de desarrollo (NetBeans o cualquier otro)
- en el mercado hay muchos entornos de desarrollo disponibles y de muy alta calidad
- en este curso utilizaremos el IDE NetBeans que es un entorno de desarrollo Open Source escrito en Java y auspiciado por Sun Microsystems
- MVJ (Máquina virtual Java)
- la MVJ no existe como tal físicamente. Es en realidad un conjunto de comandos y programas que se ejecutan en un direccionamiento de memoria separado del resto de procesos que se puedan estar ejecutando en paralelo en ese momento en nuestro ordenador
- Código Java
- el código fuente de las aplicaciones Java que creamos está separado por diferentes ficheros con extensión .java.
- las Clases están contenidas en los ficheros con extensión .java
- cada Clase tiene su propio fichero
- ya hablaremos largo y tendido sobre las Clases durante todo el curso
- Compilación
- al poco tiempo de aparecer en escena el lenguaje Java, las aplicaciones se escribían en un procesador de texto y la compilación del código fuente se realizaba desde una consola de comandos propia del Sistema Operativo que se estaba utilizando
- entonces tenías que escribir en la línea de comando el comando javac seguido de las Clases que querías compilar.
- debido a que el IDE NetBeans está situado en una capa por encima de la MVJ, no nos hace falta utilizar una consola de comandos para poder compilar las Clases Java
- en este caso, nosotros simplemente tenemos que hacer clic sobre un botón de compilación, que ya veremos más adelante, y esta acción desencadena que el IDE invoque, de forma transparente para nosotros, el comando javac que está incluido en la MVJ para compilar dichas Clases
- Código byte
- el resultado de la compilación genera ficheros con extensión .class
- estos ficheros contienen código byte
- este código byte es universal
- es decir, no importa con que plataforma estemos desarrollando que el código de bajo nivel generado es 100% compatible con la MVJ
- Interpretación
- a diferencia de otros lenguajes que sus aplicaciones se arrancan directamente ejecutando un fichero con extensión normalmente .exe, para ejecutar una aplicación Java desde la línea de comando se tiene que ejecutar primeramente el comando java
- este comando crea un entorno de ejecución Java en memoria y transforma el código byte de los ficheros con extensión .class en código de bajo nivel propio de cada plataforma
- en este caso el IDE NetBeans también tiene un botón, que ya veremos en su momento, para interpretar dicho código byte y ejecutar la aplicación para que el usuario final la pueda utilizar
- Librerías estándar Java
- sería impensable que todo el código de una aplicación estuviera escrito por nosotros
- como cualquier otro lenguaje, Java tiene una nutrida API (Application Program Interface) que contiene las librerías estándar Java
- en el proceso de interpretación, el interpretador Java invoca las Clases de la mencionada librería estándar Java y las interpreta
- las aplicaciones java desde sus principios siempre se han ganado la mala fama de ser más lentas que otras aplicaciones convencionales. Pero hay que decir que el tiempo corre a favor de Java debido a que los ordenadores cada vez tienen frecuencias de reloj más rápidas y capacidades de memoria cada vez más grandes
- tampoco se descarta que en un futuro la MVJ esté implementada directamente en un procesador
- esta es una carta que se guarda Sun y que Intel también la tiene en mente. Podrán surgir placas base compartiendo procesadores Pentium con procesadores MVJ o procesadores Risk con procesadores MVJ
Evolución del lenguaje Java 
Desde el año 1996 Java no ha dejado de evolucionar. La siguiente tabla muestra a grandes rasgos las diferentes versiones que se han ido sucediendo en estos últimos años
Año |
Versión |
Plataforma |
Características |
| 1996 |
JDK 1.0 |
--- |
|
| 1997 |
JDK 1.1 |
--- |
|
| 1999 |
JDK 1.2 |
Java 2 |
|
| 2000 |
JDK 1.3 |
Java 2 |
|
| 2002 |
JDK 1.4 |
Java 2 |
|
| 2004 |
JDK 5.0 |
Java 2 |
|
| 2006 |
JDK 6.0 |
Java 2 |
|
- cada una de las versiones ha tenido a su vez sus diferentes releases. La versión actual con su release correspondiente es la 6.0
- como se puede observar hay un salto en la numeración, de 1.4 a 5.0, para mostrar así de esta forma la madurez de este lenguaje. De todas formas en diferentes distribuciones y documentaciones también se emplea la versión JDK 1.5.0 para referirse al JDK 5.0.
Desde que el lenguaje Java recibió la negativa
de poderse convertir en un lenguaje estándar como C, Sun dio un
giro de 180 grados en su visión de lo que Java tenía y podía
llegar a ser. A partir de entonces nació el JCP (Java
Community Process) que ha revolucionado y seguirá revolucionando
la expansión de Java
El JCP consiste en la creación de nuevas
tecnologías relacionadas con Java. Cuando una empresa u organismo ve
la necesidad de una nueva tecnología, la expone a los miembros del JCP
y si estos consideran que esta nueva tecnología puede aportar interesantes
ventajas entonces se crea un grupo de trabajo que se suele componer de diferentes
empresas, individuales y organismos. Normalmente el responsable de liderar el
proyecto es la empresa u organismo que lo presentó. De esta forma nace
un nuevo estándar con el apoyo de todo aquel que quiera participar.
Una vez finalizado el proyecto, éste pasará a ser una extensión
del API Java.
Ante esta pespectiva, a partir de la versión 1.2 el JDK (Java Development Kit) se especializa en tres áreas
diferenciadas
- Java SE (Standard Edition)
- contiene las API básicas del lenguaje Java
- contiene el Java Runtime Environment (JRE)
- a día de hoy la versión actual es la 6
- Java EE (Enterprise Edition)
- especializada para crear aplicaciones Cliente/Servidor Web
- a día de hoy la versión actual es la 5
- Java ME ( Micro Edition)
- especializada para "micro-dispositivos" como teléfonos móviles y PDAs
- a día de hoy
la versión actual es la 3 Early Access
A medida que vayamos progresando en el curso, se irán desvelando otras características relevantes que explicarán la razón por la cual las diferentes versiones se han ido sucediendo
Escribe una vez y ejecuta en cualquier plataforma 
Cuando tenemos que instalar una aplicación creada por nosotros mismos en casa de un cliente, éste tiene que tener instalado en su ordenador de producción la MVJ correspondiente a su plataforma
- la MVJ se puede descargar de Internet como un JDK (Java Development Kit) o un JRE (Java Runtime Environment) .
- JRE
- en el caso que sólo queramos ejecutar las aplicaciones en el ordenador de producción
- JDK
- en el caso de que además de ejecutar las aplicaciones en el ordenador de producción, también queramos compilar en el citado ordenador de producción
- cuando se instala un JDK, el Wizard o Asistente también instala automáticamente su correspondiente JRE.
Así pues, este es el esquema del ordenador de producción que ejecutará nuestras aplicaciones Java en casa de un cliente

El quid de la cuestión está en tener instalada la MVJ propia de cada plataforma para poder conseguir la magia de Java "escribe una vez y ejecuta en cualquier plataforma"
- el código byte de nuestra aplicación junto con el código byte de las librerías estándar Java actúan como input al ejecutar el comando java, y entonces la MVJ propia de esa plataforma hace la traducción a código de bajo nivel propio del Sistema Operatiovo y del hardware subyacente
Descargar e instalar
Para descargar el Java SE Development Kit (JDK) tenemos que ir a la siguiente página Web http://java.sun.com/javase/downloads/index.jsp

entonces hacemos clic sobre el botón Download del Bundle JDK 6 Update 13 with JavaFX SDK

en esta nueva página marcamos el checkbox I agree to the following Software Licence Agreements y seguidamente hacemos clic sobre el botón Continue

ahora marcamos el checkbox JAVA SE Development Kit with JavaFX (JDK 6U13 / fx 1.1) y seguidamente hacemos clic sobre el vículo jdk-6u13-javafx-1_1_1-windows-i586.exe.
Una vez descargado el fichero de instalación en nuestro ordenador, lo ejecutamos y seguimos las indicaciones del wizard o asistente.