Sei sulla pagina 1di 27

Programacin Java

M.C. Jorge Eduardo Ibarra Esquer


Universidad Autnoma de Baja California jorgeeie@uabc.mx Febrero de 2006

Objetivos
Conocer las caractersticas de la Tecnologa Java Comprender las caractersticas generales del lenguaje de programacin Java Revisar los conceptos principales de la programacin orientada a objetos

Objetivos
Entender la estructura, organizacin y uso del API del J2SE Conocer el funcionamiento del IDE Eclipse y utilizarlo para desarrollar aplicaciones en Java

Contenido del curso


Introduccin a la Tecnologa Java Instalacin del JDK y del entorno de desarrollo Eclipse Elementos del lenguaje Introduccin a la programacin orientada a objetos con Java Clases del paquete java.lang

Contenido del curso


Manejo de excepciones El paquete java.io y flujos de E/S El paquete java.util Desarrollo de aplicaciones grficas Hilos y aplicaciones concurrentes

Qu es Java?
Lenguaje de Programacin Orientado a Objetos Sintaxis similar a C++ Independiente de plataforma Lenguaje de programacin de la World Wide Web

La creacin de Java
1990 Java empez como un proyecto interno de Sun Microsystems
Stealth Project (Green Project) Su objetivo era el de generar un lenguaje de programacin independiente de plataforma, orientado a la electrnica de consumo, principalmente a electrodomsticos.
Microondas, tostadoras y TV interactiva

La creacin de Java
Uno de los resultados del Green Project fue un lenguaje denominado Oak El otro resultado fue la mascota de Java Duke

La creacin de Java

James Gosling

Patrick Naughton

Mike Sheridan

La creacin de Java
Un factor que jug un papel crucial en la implementacin de Java, fue el desarrollo del World Wide Web. Al igual que los dispositivos electrnicos, el Web tambin demandaba programas que fuesen portables.

El Web en sus inicios

WWW

El Web se hizo interactivo

WWW

Y el servidor ejecut aplicaciones

WWW
BD

Aspectos importantes de Java


Applets y aplicaciones Seguridad Portabilidad

Applets

Applets

Seguridad

El modelo Sandbox

Aplicaciones

Portabilidad
Bytecode JVM

10

Aspectos adicionales del lenguaje


Simple Orientado a objetos Robusto Multihilo Arquitectura neutral Interpretado Alto rendimiento Distribuido Dinmico

Java es simple
Es fcil dominar Java si se tiene cierta experiencia programando:
Comprensin de los conceptos de la programacin orientada a objetos Conocimientos de C/C++(Java hereda su sintaxis y algunas de sus caractersticas)

11

Java es simple
Elimina los conceptos complicados de C/C++
Herencia mltiple Apuntadores Aritmtica de apuntadores

Java es Orientado a Objetos


Todo en Java son clases y objetos El modelo de objeto de Java es sencillo y de fcil ampliacin Los tipos de datos simples se mantienen como no objetos de alto rendimiento Soporta las tres caractersticas propias del paradigma de la orientacin a objetos: encapsulacin, herencia y polimorfismo

12

Java es Robusto
Los programas en la Web se deben ejecutar de forma fiable en una gran variedad de sistemas Java es un lenguaje estrictamente tipificado El cdigo se comprueba durante la compilacin y durante la ejecucin

Java es Robusto
Java se encarga internamente de reservar y liberar la memoria
Garbage collector

Deteccin de errores
Deteccin de errores al compilar Captura de errores en tiempo de ejecucin
Manejo de excepciones

13

Java es multihilos
Java fue diseado para satisfacer los requerimientos del mundo real, de crear programas en red interactivos Al ser multihilo, Java permite muchas actividades simultneas en un programa Los hilos (a veces llamados, procesos ligeros), son bsicamente pequeos procesos o piezas independientes de un gran proceso

Java tiene una arquitectura neutral


El compilador Java compila su cdigo a un archivo objeto de formato independiente de la arquitectura de la mquina en que se ejecutar Cualquier mquina que tenga el sistema de ejecucin (runtime) puede ejecutar ese cdigo, sin importar en modo alguno la mquina en que ha sido generado

14

Java se interpreta
El cdigo fuente Java se "compila" a un cdigo de bytes de alto nivel independiente de la mquina. Este cdigo (bytecodes) est diseado para ejecutarse en una mquina virtual que es implementada por un sistema de ejecucin (JRE Java Runtime Environment), que s es dependiente de la mquina

App1

App2

App3

App4

App5

Mquina Virtual de Java

Windows Intel

Linux

OS X PowerPC/Gx

Solaris SPARC

Linux

Manu Kumar Stanford University 2003

15

Java es distribuido
Java se ha construido con extensas capacidades de interconexin TCP/IP. Existen paquetes con clases para acceder e interactuar con protocolos y aplicaciones de red La verdad es que Java en s no es distribuido, sino que proporciona los paquetes y herramientas para que los programas puedan ser distribuidos, es decir, que se ejecuten en varias mquinas conectadas en red

Java es seguro
La seguridad en Java tiene dos facetas. En el lenguaje, caractersticas como los punteros o el casting implcito que hacen los compiladores de C y C++ se eliminan para prevenir el acceso ilegal a la memoria.

16

Java es portable
Ms all de la portabilidad bsica por ser de arquitectura independiente, Java implementa otros estndares de portabilidad para facilitar el desarrollo. Los enteros son siempre enteros y adems, enteros de 32 bits en complemento a 2. Adems, Java construye sus interfaces de usuario a travs de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos Unix, PC o Mac.

Java es dinmico
Java se beneficia todo lo posible de la tecnologa orientada a objetos. Java no intenta conectar todos los mdulos que comprenden una aplicacin hasta el tiempo de ejecucin. Las libreras nuevas o actualizadas no paralizarn las aplicaciones actuales (siempre que mantengan el API anterior).

17

Qu hay en Java?

Las plataformas de Java


J2SE Java 2, Standard Edition

J2EE Java 2, Enterprise Edition

J2ME Java 2, Micro Edition

18

Java 2, Standard Edition (J2SE)


La edicin estndar de la Plataforma de Java proporciona un ambiente completo para el desarrollo de aplicaciones para computadoras de escritorio y servidores. Es la base para la plataforma J2EE y los Java Web Services

Productos principales de la plataforma J2SE


Java Runtime Environment JRE
APIs de Java Mquina Virtual de Java JVM Componentes para ejecutar Applets y Aplicaciones escritas en Java

Software Development Kit SDK


Incluye el JRE ms las herramientas para compilar, depurar y documentar los programas escritos en Java.

19

Java 2 Standard Edition

Copyright 1994-2004 Sun Microsystems, Inc.

El API J2SE
La interfaz de programacin de aplicaciones (API) del J2SE, define la forma en la que un applet o una aplicacin puede utilizar la funcionalidad de las bibliotecas de clases del J2SE. Consiste de tecnologas organizadas en dos grupos:
Core Java Desktop Java

20

Core Java
Proporciona la funcionalidad escencial para escribir programas tiles en reas claves como son: Acceso a Bases de Datos
Java Database Connectivity (JDBC)

Seguridad
Java Authentication and Authorization Service (JAAS) Java Cryptography Extension (JCE) Java Secure Socket Extension (JSSE)

Tecnologa para deteccin de fallos


Java Platform Debugger Architecture (JPDA)

Core Java
Tecnologa para Documentacin
Herramienta Javadoc

Otras tecnologas
Internationalization Java Remote Method Invocation (RMI) Java Naming and Directory Interface (JNDI)

Paquetes opcionales
Java Management Extensions (JMX) JMX Remote API Java Communications API Java Telephony API

21

Desktop Java
Las tecnologas Desktop Java se pueden utilizar junto con las Core Java para crear applets y aplicaciones para PC con interfaces de usuario completas que sean seguras, portables y de alto desempeo. Las aplicaciones Desktop Java se pueden ejecutar en mltiples sistemas operativos, incluyendo Linux, Windows, Macintosh, Solaris y otros.

Desktop Java
Tecnologas para despliegue de aplicaciones
Java Runtime Environment JRE
Java Plug-in Java Web Start

Tecnologas de modelado de componentes


JavaBeans

22

Desktop Java
GUI Toolkit
Java Foundation Classes (JFC/Swing)
Accesibility Java 2D API Internationalization

Sonido
Java Sound API

Desktop Java
Paquetes adicionales
Java Media Framework (JMF) Java 3D API Java Advanced Imaging API (JAI) Java Speech API Java Help System

23

Java 2, Enterprise Edition (J2EE)


La edicin empresarial de Java define el estndar de desarrollo de aplicaciones empresariales multicapa basadas en componentes. Entre sus caractersticas se incluyen el soporte a Web services y las herramientas de desarrollo (SDK)

J2EE Tecnologas utilizadas


J2SE JDBC CORBA Enterprise Javabeans Servlets Java Server Pages JSP XML

24

Modelo de la aplicacin empresarial

Copyright 1994-2004 Sun Microsystems, Inc.

Servicios proporcionados por la plataforma J2EE

Copyright 1994-2004 Sun Microsystems, Inc.

25

Sitios de desarrolladores
javaHispano
http://www.javahispano.org

The Source for Developers


http://developers.sun.com

The Server Side


http://www.theserverside.com

JavaWorld
http://www.javaworld.com

El proyecto Jakarta crea y mantiene soluciones de cdigo abierto para la plataforma Java, para distribucin al pblico sin costo alguno.

26

Jorge Eduardo Ibarra Esquer jorgeeie@uabc.mx jorgeeie@gmail.com

27

Potrebbero piacerti anche