Está en la página 1de 7

Qu es Java?

Java es
Introduccin a Java Un lenguaje de programacin
Un entorno de desarrollo
Un entorno de ejecucin de aplicaciones
Un entorno de despliegue de aplicaciones
Utilizado para desarrollar, tanto applets como
aplicaciones

Introduccin a Java. POO 2004 1 Introduccin a Java. POO 2004 2

Lenguajes Orientados a
Objetos Qu es Java?
Leguaje de programacin Java
La sintaxis de Java es similar a C++ en Bibliotecas (o JavaCore)
expresiones y sentencias de control de flujo. n Strings, procesos, I/O, propiedades del sistema (fecha,
Las expresiones OO es similar en hora), Applets, API de red, Seguridad, JDBC
-proteccin de acceso a clases Herramientas
-constructores y declaracin de mtodos n Compilador de Java Javac
n Generador de Documentacin Javadoc
Java es similar a SmallTalk en:
n Depurador de programas
- Modelo de objetos: herencia simple, acceso
a objetos por referencias Entorno de ejecucin con Maquina Virtual (JVM)
n JRE
- Compilacin a bytecode interpretable
n Independencia de Plataforma
- Memria dinmica y recolector de basuras
Introduccin a Java. POO 2004 3 Introduccin a Java. POO 2004 4

Historia de Java Objetivos de Java


Facilitar un entorno interpretado para:
1991 Proyecto Green (Sun) 1. Aumentar la velocidad de desarrollo
w Software para dispositivos electrnicos inteligentes (e.g. 2. Generar cdigo portable
televisin). Permitir al usuario ejecutar ms de una
w Desarrollar un entorno de operacin portable, seguro, hebra a la vez.
y eficiente .
Soportar cambios dinmicos en tiempo de
1993 Internet y Worl Wide Web ejecucin.
n Reorientacin hacia WWW
Proporcionar ms seguridad.
1995 Java y distribucin gratuita Las siguientes caractersticas cumplen los
n Integracin en los navegadores comerciales objetivos:
n La mquina virtual Java (JVM).
n Garbage collection.
n Seguridad de cdigo
Introduccin a Java. POO 2004 5 Introduccin a Java. POO 2004 6

1
Qu es el lenguaje Java? La mquina virtual de Java
Lenguaje de programacin orientado a objetos
n Encapsulacin, herencia y polimorfismo Java
Source
.java
n Interpretado
Independiente de la arquitectura y portable javac
n
n Fuertemente tipado Java .class
n Gestin automtica de la memoria (recogida de Bytecode
basura)
Gestin de excepciones, concurrencia (multihilo) java
n

Ncleo del lenguaje sencillo extendido mediante


una serie de bibliotecas (paquetes) Programming API Programming API Programming API

JVM JVM JVM

Platform Interface Platform Interface Platform Interface


Introduccin a Java. POO 2004 7 Introduccin a Java. POO 2004 8
Web Browser
Browser Windows
Windows UNIX
UNIX

La mquina virtual de Java La mquina virtual de Java


Una mquina imaginaria implementada Proporciona definiciones para:
mediante la emulacin por software en una n El conjunto de instrucciones (equivalente al de una CPU)
mquina real. El cdigo para la mquina n Los registros del sistema.
virtual Java se almacena en archivos . class, n El formato de los archivos de clases.
cada uno de los cuales contiene, al menos, el n La pila.
cdigo para una clase pblica. n El Garbage-collector.
n El rea de memoria.
La JVM:
Los bytecodes deben mantener las especificaciones
n Proporciona las especificaciones de hardware. de tipo.
Lee bytecodes independientes de la plataforma.
n
Gran parte de la verificacin de tipo, se realiza en el
n Se puede emular por software o implementar en proceso de compilacin.
Hardware.
Cualquier intrprete compatible con Java, debe ser
n Se implementa con la herramienta de desarrollo capaz de ejecutar cualquier programa con archivos
de Java. Introduccin a Java. POO 2004 9 de clase, definidos en las
Introduccin especificaciones
a Java. POO 2004 de la 10JVM.

La mquina virtual de Java El recolector de basuras


STATIC ( variables de
clase)
La memoria reservada que no se va a utilizar
Java Exam Question ms, se tiene que liberar.
En otros lenguajes (como C++, PASCAL), la
Monticulo (HEAP) liberacin de memoria es responsabilidad del
programador.
(instance variables)
Exam Question
Instance Instance
El lenguaje Java proporciona un thread, que
rastrea las operaciones de reserva de
Pila (STACK) (local
memoria.
variables)
main() setAnswer() El Garbage Collector:
e aQuestion Verifica y libera memoria que no se necesita.
q Se ejecuta automticamente.
Introduccin a Java. POO 2004 11 Introduccin a Java. POO 2004 12

2
Bibliotecas de clases de Java
(packages) Evolucin de Java
Java
IO util

awt applet lang net


Package lang
Clases con funcionalidades bsicas,
arrays, cadenas de caracteres, Package applet
Entrada/salida, excepciones, hilos Desarrollo de aplicaciones
Package util ejecutables en navegadores

Utilidades (nmeros aleatorios, Package awt y swing


vectores, propiedades del sistema) Desarrollo de interfaces grficas
Package net de usuario
Conectividad y trabajo con redes: Etctera, etctera, ...
sockets, URL Introduccin a Java. POO 2004 13 Introduccin a Java. POO 2004 14

Entorno de desarrollo Java Cmo realizar una aplicacin Java


Clases
Mquina virtual Java editor edita HolaMundo.java para codificar la clase
Clasesjava
java
(.java)
(.java) Interprete HolaMundo con un mtodo main
Clases
Clasesjava
java
Inicio (.java)
(.java)
javac compilador
Leer
instruccin javac javac HolaMundo.java aplicacin

bytecodes Cargador Crea HolaMundo.class


(.class) de clases Analizar
instruccin Hola Mundo.

Ejecutar bytecodes
Biblioteca instruccin java
(.class)
Clases Java
(.zip) Intrprete JVM
> java HolaMundo

Introduccin a Java. POO 2004 15 Introduccin a Java. POO 2004 16

Instalacin gratuita de un JDK


Consideraciones (o SDK)
www.javasoft.com java.sun.com
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 jdk1.5.0

Introduccin a Java. POO 2004 17 Introduccin a Java. POO 2004 18

3
Aplicacin HolaMundo desde Variables del Sistema (W98:
consola autoexec.bat)
PATH : Se debe incluir en PATH la ruta a javac,
class HolaMundo { por ejemplo, c:\jdk1.5.0\bin
public static void main(String[] args) {
System.out.println(Hola Mundo); 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
edita HolaMundo.java
HolaMundo.java
>> javac
javac HolaMundo.java
HolaMundo.java

>>java
java HolaMundo
HolaMundo
Hola
Hola Mundo.
Mundo.
Invoca
Invocaelelmtodo
mtodomain
main()()de
dela
laclase
claseHolaMundo
HolaMundo

Introduccin a Java. POO 2004 19 Introduccin a Java. POO 2004 20

Variables del Sistema en


W2000 o XP Entornos de Desarrollo
Panel de Control /Sistema/
Opciones Avanzadas/
Variables de Entorno 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

Introduccin a Java. POO 2004 21 Introduccin a Java. POO 2004 22

Indicacin de un JDK en
Descarga de JCreator JCreator

Introduccin a Java. POO 2004 23 Introduccin a Java. POO 2004 24

4
Creacin de un WorkSpace Creacin de un Proyecto con
con JCreator JCreator

Introduccin a Java. POO 2004 25 Introduccin a Java. POO 2004 26

Creacin de una Clase con Nuestro primer programa:


JCreator Hola Mundo

Introduccin a Java. POO 2004 27 Introduccin a Java. POO 2004 28

Java e internet Aplicaciones y applets


Lenguaje de programacin adecuado para Aplicaciones
n Programas habituales sin ningn tipo de restriccin
Internet
n Ejecucin con el intrprete de cdigos de byte
n Ejecutable en mltiples plataformas Applets
n Fcil de distribuir n Programas escritos en Java cuyo cdigo reside en el
servidor WWW y que slo pueden ejecutarse tras ser
n Seguridad descargados por un navegador que incorpore Java o en
un visualizador especial
n Soporte para interaccin con el usuario:
n Se llaman a partir de pginas HTML
w Grficos
n Tienen limitaciones debido a razones de seguridad
w Tipos de datos arbitrarios w Acceso a sistema de ficheros
w Descarga el servidor w Ejecucin de otras aplicaciones
w Conexiones
Introduccin a Java. POO 2004 29 Introduccin a Java. POO 2004 30

5
Modelo de proceso WWW WWW con Java
Pulsar Decoficar Pulsar Decodificar
enlace URL enlace URL

Buscar Buscar datos


datos y applets
Mostrar Mostrar texto,
Texto imgenes <APPLET code =
& y ejecutar "nombre.class">
Imgenes

Introduccin a Java. POO 2004 31 Introduccin a Java. POO 2004 32

Funcionamiento Cmo realizar un applet Java


Java Codigos
Compilador editor > edita HolaMundoApplet.java
de byte Define el mtodo paint()
Navegador
Clases
Clasesjava
+ (.java)
java
> edita HolaMundoApplet.html
(.java)
Java Invoca el applet
compilador
javac editor
> javac HolaMundoApplet.java
Navegador
Fichero
Fichero
Mquina (Netscape bytecodes HTML
HTML
Virtual Explorer) (.class)
Java Navegador o
appletviewer

Introduccin a Java. POO 2004 33 Introduccin a Java. POO 2004 34

Realizacin del applet con


Cmo realizar un applet Java JCreator
HolaMundoEnApplet.html HolaMundoEnApplet.java
<HTML>
<HTML> import
import java.awt.*;
java.awt.*;
<HEAD>
<HEAD> import
import java.applet.*;
java.applet.*;
</HEAD>
</HEAD>
<CENTER>
<CENTER> public
public class
class HolaMundoEnApplet
HolaMundoEnApplet extends
extends
<APPLET
<APPLET Applet
Applet {{
code=HolaMundoEnApplet
code=HolaMundoEnApplet.class"
.class"
width
width == "500"
"500" public
public void
void init()
init() {{
height
height== "300"
"300" resize
resize(150,
(150, 125);
125);
>> }}
</APPLET>
</APPLET>
</CENTER>
</CENTER> public
public void
void paint
paint(( Graphics
Graphics gg )) {{
</HTML>
</HTML> g.drawLine
g.drawLine(10,
(10, 10,
10, 100,
100, 10);
10);
g.drawString
g.drawString(( "Hola
"Hola Mundo!",30,30);
Mundo!",30,30);
g.drawLine
g.drawLine (10, 50, 100,
(10, 50, 100, 50);
50);
}}
}}

Introduccin a Java. POO 2004 35 Introduccin a Java. POO 2004 36

6
Realizacin del applet con
JCreator Visualizacin en AppletViewer

Introduccin a Java. POO 2004 37 Introduccin a Java. POO 2004 38

Visualizacin en navegadores

Introduccin a Java. POO 2004 39

También podría gustarte