Introducción A Java
Introducción A Java
En este tema se intenta dar una visión general del lenguaje de programación java.
Empezamos con un poco de historia y seguimos con sus características más
importantes.
SENCILLO
MULTIPLATAFORMA
Los bytecodes se interpretan por diferentes computadoras de igual manera, por lo que
únicamente hay que implementar una máquina virtual para cada plataforma.
El programador compila una única vez el programa Java, y el fichero de bytecode que
obtiene se ejecuta igual por la máquina virtual de Java de cualquier plataforma
(Windows, Linux, MacOS, etc). De esa forma Java logra ser un lenguaje que no
depende de una arquitectura de ordenador específica.
La ejecución mediante la máquina virtual hace que la ejecución de los programas Java
sea más lenta que la de los programas escritos en C++.
Maneja la memoria para eliminar las preocupaciones por parte del programador de la
liberación o corrupción de memoria.
También implementa los arrays auténticos, en vez de listas enlazadas de punteros, con
comprobación de límites, para evitar la posibilidad de sobreescribir o corromper
memoria resultado de punteros que señalan a zonas equivocadas. Estas características
reducen drásticamente el tiempo empleado en el desarrollo de aplicaciones Java.
SEGURO
Soporta múltiples threads, hilos o tareas. Esto quiere decir que puede ejecutar
diferentes líneas de código al mismo tiempo tanto si la máquina es multiprocesador
como si no lo es.
DINAMICO
En Java no es necesario cargar completamente el programa en memoria sino que las
clases compiladas pueden ser cargadas bajo demanda en tiempo de ejecución
(dynamic binding).
Esto proceso permite la carga de código bajo demanda, lo que es especialmente
importante en los applets.
APPLETS
Son programas Java pensados para ser colocados dentro de una página web. Pueden
ser interpretados por cualquier navegador con capacidades Java. Estos programas se
insertan en las páginas usando una etiqueta especial (como también se insertan
vídeos, animaciones flash u otros objetos).
Hoy día mediante applets se pueden integrar en las páginas web aplicaciones
multimedia avanzadas (incluso con imágenes 3D o sonido y vídeo de alta calidad)
SERVLETS
APLICACIONES DE CONSOLA
Son programas independientes al igual que los creados con los lenguajes tradicionales.
APLICACIONES GRÁFICAS
MIDLET
Aplicación creada para su ejecución en dispositivos móviles. Por ejemplo, los juegos
Java creados para teléfonos móviles.
Estas clases se pueden incluir en los programas Java, sin temor a fallos de
portabilidad. Además, están bien documentadas (mediante páginas Web), y
organizadas en paquetes y en un gran árbol de herencia.
PAQUETES DE UTILIDADES
java.applet: Para crear applets y clases que las applets utilizan para comunicarse con
su contexto.
java.awt: Para crear interfaces con el usuario, y para dibujar imágenes y gráficos.
javax.swing: Conjunto de componentes gráficos que funcionan igual en todas las
plataformas que Java soporta.
javax.accesibility: Da soporte a clases de accesibilidad para personas discapacitadas.
java.beans: Para el desarrollo de JavaBeans.
5. El JDK
Para poder escribir un programa Java es necesario tener instalado el Kit de Desarrollo
de Java o JDK (Java Development Kit), también llamado Java SDK (Software
Development Kit).
El JDK contiene el software necesario para que los programadores compilen, depuren y
ejecuten programas y applets escritos en Java.
Su sintaxis es:
javac ejemplo.java
Los ficheros .class contienen código bytecode, el código que es interpretado por la
máquina virtual.
java ejemplo
Su sintaxis es:
appletviewer mipagina.html
El comando ignora todo el contenido de la página web que no sean applets y se limita
a ejecutarlos.
Su sintaxis es:
javadoc ejemplo.java
Hay que prestar atención al directorio en el que se ha instalado el JDK. La razón es que
debemos modificar tres variables del sistema:
PATH
Variable que contiene rutas por defecto a los programas que indiquemos. La razón es
que por ejemplo el comando java debe de estar disponible estemos en la carpeta que
estemos. Dicho comando (junto con el resto de comandos del JDK) está en la
carpeta bin dentro de la carpeta en la que hemos instalado el JDK
JAVA_HOME
Variable utilizada por la mayoría de aplicaciones basadas en Java que contiene la ruta
a la carpeta en la que se instaló el JDK.
CLASSPATH
Es una variable similar al PATH que sirve para indicar rutas a las carpetas en las que se
almacenarán aplicaciones Java.
Java ha experimentado numerosos cambios desde la primera versión, JDK 1.0, así
como un enorme incremento en el número de clases y paquetes que componen la
biblioteca estándar
Cada versión tiene varias revisiones, por ejemplo la versión 1.6.7 del JDK hace
referencia a la revisión 7 de la versión 6.
El kit de desarrollo básico proporcionado por Sun es lo mínimo que se necesita para
desarrollar un programa en Java. Es útil si se necesita compilar aplicaciones Java de
manera esporádica
NETBEANS
Uno de los IDE Java más populares. Es un entorno gratuito de código abierto para la
generación de código en diversos lenguajes.
Contiene prácticamente todo lo que se suele pedir a un entorno de desarrollo, editor
avanzado de código, depurador, diversos lenguajes, extensiones de todo tipo (CORBA,
Servlets,...).
Incluye además un servidor de aplicaciones Tomcat para probar aplicaciones de
servidor.
Consume bastantes recursos. Tiene una arquitectura extensible con módulos
específicos para desarrollo web, aplicaciones móviles, diseño UML, etc.
Puede obtenerse gratuitamente de http://netbeans.org/
ECLIPSE
BORLAND JBUILDER
Entorno de desarrollo completo creado por la empresa Borland para la creación de todo
tipo de aplicaciones Java, incluidas aplicaciones para móviles. Existen versiones
limitadas que pueden bajarse de www.borland.com
MICROSOFT VISUAL J#
Uno de los más populares, aunque las aplicaciones obtenidas pueden presentar
problemas de compatibilidad con el SDK oficial de Java, por el uso de librerías
especificas de Microsoft.
Permite construir aplicaciones Java dentro de la plataforma .NET. La versión express
puede obtenerse gratuitamente enhttp://www.microsoft.com/express