Está en la página 1de 25

JAVA

http://java.sun.com

Qu es Java?
Java es un lenguaje de programacin orientado a objetos portable a toda plataforma y que permite desarrollar aplicaciones distribuidas.

Historia de Java
Desarrollado por Sun Microsytem Intentaba solucionar la incompatibilidad Entre las arquitecturas de hardware y software. Se desarrollo el lenguaje Oak, parecido a C++, Pero portable y de menor complejidad. Se le aadio la capacidad de Crear aplicaciones distribuidas para la Internet,
Y se le cambio de nombre por Java.

Caractersticas de Java
Simple Orientado a Objetos Distribuido Robusto Arquitectura Neutral Seguro Portable Interpretado Multithreaded Dinmico

Simple
Java se dise parecido a C++ para facilitar un rpido y fcil aprendizaje. Reduce un 50% los errores ms comunes de C++ al eliminar caractersticas, como:
Aritmtica de punteros. Estructuras (struct). Definicin de tipos (typedef). Macros (#define). Necesidad de liberar memoria. Herencia Mltiple.

Orientado a Objetos
Java fue diseado como un lenguaje orientado a objetos desde el principio. Soporta las caractersticas propias del Paradigma Orientado a Objetos.

Distribuido
Construido con extensas capacidades de interconexin TCP/IP. Libreras de rutina para interactuar con protocolos http y ftp. Java proporciona las libreras y herramientas para que los programas puedan ser distribuidos, es decir que corran en varias mquinas, interactuando.

Robusto
Java proporciona numerosas comprobaciones en la compilacin y en tiempo de ejecucin. El chequeo de los tipos de datos ayuda a detectar errores. Se comprueban los lmites de los arreglos. El manejo de memoria en Java es simple, no hay aritmtica de punteros y no requiere de liberacin explcita de memoria puesto que tiene un recolector de basura (garbage collector).

Arquitectura Neutral
Java es de arquitectura neutral es decir es independiente de la plataforma de software o hardware. El formato bytecodes de Java es el formato intermedio de arquitectura neutral que permite transportar cdigo entre mltiples plataformas de hardware y software. El bytecode se ejecuta sobre cualquier plataforma de hardware y software que disponga de la JVM.

Java Virtual Machine (JVM)


Toma el programa compilado (bytecodes) y convierte sus instrucciones en comandos que maneja el sistema operativo. Conocido tambien como Java Interpreter.

Java Virtual Machine

Arquitectura Neutral

Portable
A parte de la arquitectura independiente, java implementa otros estndares de portabilidad.
Los tamaos de los tipos de datos de Java son los mismos para cualquier plataforma. Construye sus interfases de usuario en un sistema abstracto de ventanas, de forma que las ventanas puedan ser implantadas en entornos Unix, PC o Mac.

Seguro
Debido a que Java permite hacer programas distribuidos, tiene un alto control de seguridad en las aplicaciones.
El verificador de bytecodes detecta los fragmentos de cdigo ilegal.
No permite falsificar punteros. No permite violar los derechos de acceso sobre los objetos.

El cargador de clases distingue entre los archivos locales y los de la red. Esto imposibilita que una clase suplante a una predefinida.

Interpretado
El compilador de Java genera bytecodes (cdigo de bytes) para la JVM. El interprete incorporado en la JVM es el que permite ejecutar el programa. El bytecode puede ejecutarse sobre cualquier plataforma que tenga la JVM implementada.

Multithreaded
Java soporta mltiples hilos de ejecucin (threads) en un mismo programa. Un thread es un subproceso. Java permite manejar mltiples threads en un programa, ejecutndose concurrentemente y llevando a cabo tareas distintas.

Dinmico
El modelo de ejecucin de Java permite cargar dinmicamente cdigo conforme se va necesitando. Las clases slo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos mdulos de cdigo, procedente de fuentes muy variadas, incluso desde la Red.

J2SE
El J2SE (Java 2 Platform, Standard Edition), es una herramienta que provee Sun para desarrollar y ejecutar programas hechos en Java. Java a tenido varias versiones:
JDK (java development kit: v1.1, v1.0). Java 2 SDK (software development kit) : v1.2, v1.3, v1.4, v 5.0.

Direccin para bajar el J2SE v 5.0:


http://java.sun.com/j2se/1.5.0/download.jsp

Integrated Development Environment


Eclipse Jcreator BlueJ Symantec Visual Caf Borland J. Builder Visual Age for Java IDEA Forte for Java

Aplicaciones independientes, Applets y Servlets


Las Aplicaciones independientes (stand-alone) se ejecutan bajo un sistema operativo. Los Applets son aplicaciones que se ejecutan bajo un web browser. Los Servlets son aplicaciones que se ejecutan bajo un servidor web.

Introduccin al lenguaje Java


El cdigo fuente de Java se guarda en archivos con extensin .java Una vez que se compila el archivo .java se transforma en un archivo .class (bytecode).

Ambiente de Programacin de Java

Para compilar:
javac HolaMundoApp.java

Para ejecutar:
java HolaMundoApp

Java diferencia entre maysculas y minsculas.

Complilando y Corriendo su Primer Programa en Java


class HolaMundo { public static void main(String[] args) { System.out.println(Hola Mundo!"); //Mostrar la cadena de caracteres. } } Compilar: javac HolaMundo.java Ejecutar: java HolaMundo

Libreras de clases
Es un grupo de clases o interfases diseado para ser usado en otros programas. La API de Java (Application Programming Interface) es un conjunto de libreras de clases o interfases que pueden ser reutilizadas. La direccin web de la documentacin de la API es: http://java.sun.com/j2se/1.5.0/docs/api/. Los paquetes son una manera de agrupar clases e interfases relacionadas.
Ejemplo de paquete: java.applet.Applet