Está en la página 1de 7

Qu es Java?

Introduccin a Java
Java es

Un Un Un Un

lenguaje de programacin entorno de desarrollo entorno de ejecucin de aplicaciones entorno de despliegue de aplicaciones

Utilizado para desarrollar, tanto applets como aplicaciones

Tema 1. Introduccin a Java. LPS 2005.

Tema 1. Introduccin a Java. LPS 2005.

Lenguajes Orientados a Objetos


La sintaxis de Java es similar a C++ en expresiones y sentencias de control de flujo. Las expresiones OO es similar en -proteccin de acceso a clases -constructores y declaracin de mtodos Java es similar a SmallTalk en: - Modelo de objetos: herencia simple, acceso a objetos por referencias - Compilacin a bytecode interpretable - Memria dinmica y recolector de basuras Tema 1. Introduccin a Java. LPS
2005.

Qu es Java?
Leguaje de programacin Java Bibliotecas (o JavaCore)

Strings, procesos, I/O, propiedades del sistema (fecha, hora), Applets, API de red, Seguridad, JDBC Compilador de Java Javac Generador de Documentacin Javadoc Depurador de programas JRE Independencia de Plataforma
Tema 1. Introduccin a Java. LPS 2005. 4

Herramientas

Entorno de ejecucin con Maquina Virtual (JVM)


Historia de Java
1991 Proyecto Green (Sun)
Software para dispositivos electrnicos inteligentes (e.g. televisin). Desarrollar un entorno de operacin portable, seguro, y eficiente.

Objetivos de Java
Facilitar un entorno interpretado para:
1. 2.

1993 Internet y Worl Wide Web

Reorientacin hacia WWW Integracin en los navegadores comerciales

1995 Java y distribucin gratuita

Permitir al usuario ejecutar ms de una hebra a la vez. Soportar cambios dinmicos en tiempo de ejecucin. Proporcionar ms seguridad. Las siguientes caractersticas cumplen los objetivos:

Aumentar la velocidad de desarrollo Generar cdigo portable

Tema 1. Introduccin a Java. LPS 2005.

La mquina virtual Java (JVM). Garbage collection. Tema 1. Introduccin a Java. LPS Seguridad de cdigo
2005.

Qu es el lenguaje Java?
Lenguaje de programacin orientado a objetos

La mquina virtual de Java


Java Source javac Java Bytecode java .class .java

Ncleo del lenguaje sencillo extendido mediante una serie de bibliotecas (paquetes)

Encapsulacin, herencia y polimorfismo Interpretado Independiente de la arquitectura y portable Fuertemente tipado Gestin automtica de la memoria (recogida de basura) Gestin de excepciones, concurrencia (multihilo)

Programming API JVM

Programming API JVM Interface Tema Platform 1. Introduccin a Java. LPS


2005. Windows Windows

Programming API JVM Platform Interface

Tema 1. Introduccin a Java. LPS 2005.

Platform Interface
7

Web Web Browser Browser

UNIX UNIX

La mquina virtual de Java


Una mquina imaginaria implementada mediante la emulacin por software en una mquina real. El cdigo para la mquina virtual Java se almacena en archivos .class, cada uno de los cuales contiene, al menos, el cdigo para una clase pblica. La JVM:

La mquina virtual de Java


Proporciona definiciones para:

Proporciona las especificaciones de hardware. Lee bytecodes independientes de la plataforma. Se puede emular por software o implementar en Hardware. Se implementa con la herramienta de desarrollo Tema 1. Introduccin a Java. LPS de Java. 2005. 9

Los bytecodes deben mantener las especificaciones de tipo. Gran parte de la verificacin de tipo, se realiza en el proceso de compilacin. Cualquier intrprete compatible con Java, debe ser capaz de ejecutar cualquier programa con archivos Tema 1. Introduccin a Java. LPS 2005.especificaciones de la 10 de clase, definidos en las JVM.

El conjunto de instrucciones (equivalente al de una CPU) Los registros del sistema. El formato de los archivos de clases. La pila. El Garbage-collector. El rea de memoria.

La mquina virtual de Java


STATIC ( variables de clase) Java Exam Question

El recolector de basuras
La memoria reservada que no se va a utilizar ms, se tiene que liberar. En otros lenguajes (como C++, PASCAL), la liberacin de memoria es responsabilidad del programador. El lenguaje Java proporciona un thread, que rastrea las operaciones de reserva de memoria. El Garbage Collector: Verifica y libera memoria que no se necesita. Se ejecuta automticamente. Tema 1. Introduccin a Java. LPS
2005.

Monticulo (HEAP) (instance variables) Exam Instance

Question Instance

Pila (STACK) (local variables) main() e q

setAnswer() aQuestion

Tema 1. Introduccin a Java. LPS 2005.

11

12

Bibliotecas de clases de Java (packages)


Java
IO awt applet lang net util

Evolucin de Java

Package lang
Clases con funcionalidades bsicas, arrays, cadenas de caracteres, Entrada/salida, excepciones, hilos

Package applet
Desarrollo de aplicaciones ejecutables en navegadores

Package util

Utilidades (nmeros aleatorios, vectores, propiedades del sistema)

Package awt y swing


Desarrollo de interfaces grficas de usuario
13 Tema 1. Introduccin a Java. LPS 2005. 14

Package net

Etctera, etctera, ... Conectividad y trabajo con redes: Tema 1. Introduccin a Java. LPS 2005. sockets, URL

Entorno de desarrollo Java


Clases Clasesjava java (.java) (.java) javac
Leer instruccin

Cmo realizar una aplicacin Java


editor Clases Clasesjava java (.java) (.java) javac

Mquina virtual Java


Interprete
Inicio

edita HolaMundo.java para codificar la clase HolaMundo con un mtodo main


compilador

bytecodes (.class)

Cargador de clases

javac HolaMundo.java Crea HolaMundo.class

aplicacin

Analizar instruccin Ejecutar instruccin

Hola Mundo.

Biblioteca Clases Java

bytecodes (.class)

java Intrprete JVM

(.zip)

> java HolaMundo


Tema 1. Introduccin a Java. LPS 2005. 15 Tema 1. Introduccin a Java. LPS 2005. 16

Consideraciones
Slo se puede definir una clase pblica por fichero fuente. Si el fichero .java contiene una clase pblica entonces debe tomar el mismo nombre de la clase. La compilacin correcta de un fichero .java genera en el mismo directorio un fichero llamado de la misma forma con extensin .class

Instalacin gratuita de un JDK (o SDK)


www.javasoft.com java.sun.com

jdk1.5.0

Tema 1. Introduccin a Java. LPS 2005.

17

Tema 1. Introduccin a Java. LPS 2005.

18

Aplicacin HolaMundo desde consola


class HolaMundo { public static void main(String[] args) { System.out.println(Hola Mundo); } }

Variables del Sistema (W98:


autoexec.bat)
PATH : Se debe incluir en PATH la ruta a javac, por ejemplo, c:\jdk1.5.0\bin CLASSPATH: Se debe incluir en CLASSPATH la ruta al directorio de clases. Tambin se puede indicar en el interprete: java HolaMundo cp c:\DirectorioDeClases Sugerencia:

> >edita editaHolaMundo.java HolaMundo.java > >javac javacHolaMundo.java HolaMundo.java > >java javaHolaMundo HolaMundo Hola HolaMundo. Mundo.

Invoca Invocael elmtodo mtodomain() main()de dela laclase claseHolaMundo HolaMundo


Tema 1. Introduccin a Java. LPS 2005. 19 Tema 1. Introduccin a Java. LPS 2005. 20

Panel de Control /Sistema/ Opciones Avanzadas/ Variables de Entorno

Variables del Sistema en W2000 o XP

Entornos de Desarrollo
JDK de SUN (presente en cualquier entorno de desarrollo) Comerciales (existen versiones de evaluacin) Jbuilder de Borland, www.borland.com/jbuilder Visual J++ de Microsoft Visualage de IBM, integrado en WebSphere Entornos gratuitos recomendados: JCreator Eclipse, de IBM
21 Tema 1. Introduccin a Java. LPS 2005. 22

Tema 1. Introduccin a Java. LPS 2005.

Descarga de JCreator

Indicacin de un JDK en JCreator

Tema 1. Introduccin a Java. LPS 2005.

23

Tema 1. Introduccin a Java. LPS 2005.

24

Creacin de un WorkSpace con JCreator

Creacin de un Proyecto con JCreator

Tema 1. Introduccin a Java. LPS 2005.

25

Tema 1. Introduccin a Java. LPS 2005.

26

Creacin de una Clase con JCreator

Nuestro primer programa: Hola Mundo

Tema 1. Introduccin a Java. LPS 2005.

27

Tema 1. Introduccin a Java. LPS 2005.

28

Java e internet
Lenguaje de programacin adecuado para Internet

Aplicaciones y applets
Aplicaciones

Ejecutable en mltiples plataformas Fcil de distribuir Seguridad Soporte para interaccin con el usuario:
Grficos Tipos de datos arbitrarios Descarga el servidor
Tema 1. Introduccin a Java. LPS 2005. 29

Programas habituales sin ningn tipo de restriccin Ejecucin con el intrprete de cdigos de byte Programas escritos en Java cuyo cdigo reside en el servidor WWW y que slo pueden ejecutarse tras ser descargados por un navegador que incorpore Java o en un visualizador especial Se llaman a partir de pginas HTML Tienen limitaciones debido a razones de seguridad
Acceso a sistema de ficheros Ejecucin de otras aplicaciones Conexiones Tema 1. Introduccin a Java. LPS
2005.

Applets

30

Modelo de proceso WWW


Pulsar enlace Decoficar URL Buscar datos Mostrar Texto & Imgenes
Tema 1. Introduccin a Java. LPS 2005. 31

WWW con Java


Pulsar enlace Decodificar URL Buscar datos y applets Mostrar texto, imgenes y ejecutar
Tema 1. Introduccin a Java. LPS 2005.

<APPLET code = "nombre.class">

32

Funcionamiento
Java Compilador Codigos de byte Navegador + Java

Cmo realizar un applet Java


editor Clases Clasesjava java (.java) (.java) javac compilador

> edita HolaMundoApplet.java Define el mtodo paint() > edita HolaMundoApplet.html Invoca el applet
editor Fichero Fichero HTML HTML Navegador o appletviewer

Mquina Virtual Java

Navegador (Netscape Explorer)

> javac HolaMundoApplet.java

bytecodes (.class)

Tema 1. Introduccin a Java. LPS 2005.

33

Tema 1. Introduccin a Java. LPS 2005.

34

Cmo realizar un applet Java


HolaMundoEnApplet.html
<HTML> <HTML> <HEAD> <HEAD> </HEAD> </HEAD> <CENTER> <CENTER> <APPLET <APPLET code=HolaMundoEnApplet.class" code=HolaMundoEnApplet.class" width == "500" width "500" height= height= "300" "300" >> </APPLET> </APPLET> </CENTER> </CENTER> </HTML> </HTML>

Realizacin del applet con JCreator

HolaMundoEnApplet.java
import import java.awt.*; java.awt.*; import import java.applet.*; java.applet.*; public public class class HolaMundoEnApplet HolaMundoEnApplet extends extends Applet Applet {{ public public void void init() init() {{ resize(150, resize(150, 125); 125); }} public public void void paint( paint( Graphics Graphics gg )) {{ g.drawLine(10, g.drawLine(10, 10, 10, 100, 100, 10); 10); g.drawString( "Hola g.drawString( "Hola Mundo!",30,30); Mundo!",30,30); g.drawLine(10, g.drawLine(10, 50, 50, 100, 100, 50); 50); }}

}}

Tema 1. Introduccin a Java. LPS 2005.

35

Tema 1. Introduccin a Java. LPS 2005.

36

Realizacin del applet con JCreator

Visualizacin en AppletViewer

Tema 1. Introduccin a Java. LPS 2005.

37

Tema 1. Introduccin a Java. LPS 2005.

38

Visualizacin en navegadores

Tema 1. Introduccin a Java. LPS 2005.

39