Introduccion a Java

Preview:

DESCRIPTION

Introduccion a Java en www.fiec.espol.edu.ec

Citation preview

JAVA

http://java.sun.com

Qué es Java?

Java es un lenguaje de programación orientado a objetos portable a toda plataforma y que permite desarrollar aplicaciones distribuidas.

VisitaVisita FIECNovedades y aplicaciones Novedades y aplicaciones FIEC

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 añadio la capacidad de

– Crear aplicaciones distribuidas para la Internet,

– Y se le cambio de nombre por Java.

Características de Java

• Simple• Orientado a Objetos• Distribuido• Robusto• Arquitectura Neutral• Seguro• Portable• Interpretado• Multithreaded• Dinámico

VisitaVisita FIECNovedades y aplicaciones Novedades y aplicaciones FIEC

Simple

• Java se diseñó parecido a C++ para facilitar un rápido y fácil aprendizaje.

• Reduce un 50% los errores más comunes de C++ al eliminar características, como:– Aritmética de punteros.– Estructuras (struct).– Definición de tipos (typedef).– Macros (#define).– Necesidad de liberar memoria.– Herencia Múltiple.

VisitaVisita FIECNovedades y aplicaciones Novedades y aplicaciones FIEC

Orientado a Objetos

• Java fue diseñado como un lenguaje orientado a objetos desde el principio.

• Soporta las características propias del Paradigma Orientado a Objetos.

VisitaVisita FIECNovedades y aplicaciones Novedades y aplicaciones FIEC

Distribuido

• Construido con extensas capacidades de interconexión TCP/IP.

• Librerías de rutina para interactuar con protocolos http y ftp.

• Java proporciona las librerías y herramientas para que los programas puedan ser distribuidos, es decir que corran en varias máquinas, interactuando.

Robusto

• Java proporciona numerosas comprobaciones en la compilación y en tiempo de ejecución.

• El chequeo de los tipos de datos ayuda a detectar errores.

• Se comprueban los límites de los arreglos.• El manejo de memoria en Java es simple, no

hay aritmética de punteros y no requiere de liberación explícita 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 código entre múltiples plataformas de hardware y software.

• El bytecode se ejecuta sobre cualquier plataforma de hardware y software que disponga de la JVM.

VisitaVisita FIECNovedades y aplicaciones Novedades y aplicaciones FIECFIEC

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.

VisitaVisita FIECNovedades y aplicaciones Novedades y aplicaciones FIEC

Java Virtual Machine

VisitaVisita FIECNovedades y aplicaciones Novedades y aplicaciones FIEC

Arquitectura Neutral

VisitaVisita FIEC FIECNovedades y aplicaciones Novedades y aplicaciones FIECFIEC

Portable

A parte de la arquitectura independiente, java implementa otros estándares de portabilidad.– Los tamaños 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 código 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 (código 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 múltiples hilos de ejecución (threads) en un mismo programa.

• Un thread es un subproceso.• Java permite manejar múltiples threads

en un programa, ejecutándose concurrentemente y llevando a cabo tareas distintas.

VisitaVisita FIEC FIECNovedades y aplicaciones Novedades y aplicaciones FIECFIEC

Dinámico

• El modelo de ejecución de Java permite cargar dinámicamente código conforme se va necesitando.

• Las clases sólo se enlazan a medida que son necesitadas.

• Se pueden enlazar nuevos módulos de código, 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.

• Dirección 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.

VisitaVisita FIEC FIECNovedades y aplicaciones Novedades y aplicaciones FIECFIEC

Introducción al lenguaje Java

• El código fuente de Java se guarda en archivos con extensión .java

• Una vez que se compila el archivo .java se transforma en un archivo .class (bytecode).

VisitaVisita FIEC FIECNovedades y aplicaciones Novedades y aplicaciones FIECFIEC

Ambiente de Programación de Java

• Para compilar:– javac HolaMundoApp.java

• Para ejecutar:– java HolaMundoApp

• Java diferencia entre mayúsculas y minúsculas.

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

Librerías de clases

• Es un grupo de clases o interfases diseñado para ser usado en otros programas.

• La API de Java (Application Programming Interface) es un conjunto de librerías de clases o interfases que pueden ser reutilizadas.

• La dirección web de la documentación 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

VisitaVisita FIEC FIECNovedades y aplicaciones Novedades y aplicaciones FIECFIEC