Está en la página 1de 32

INTRODUCCI

N A JAVA

ndice
Qu es Java?
La plataforma Java 2
La Mquina Virtual de Java
Caractersticas principales
Qu ventajas tengo como
desarrollador?
Bibliografa

Qu es Java?
La tecnologa Java es un
lenguaje de
programacin y una
plataforma.
3

Ubicacin e historia

JDK (Java Development Kit)


JDK 1.0, 1995
JDK 1.1, 1996. Modificacin en manejo de eventos; nuevas
bibliotecas (reflexin, mtodos remotos, ...)
http://java.sun.com/
JDK 1.2, 1998. Mejora en la eficiencia de JDK 1.1, e
inclusin de productos como CORBA, JFC, etc.
J2SE 1.2
Java 2 Platform, Standard Edition, v 1.2
Implementado por Java 2 SDK, v 1.2 (Software
Development Kit)
J2SE 1.3.1, 2001
J2SE 1.4.0, 2002
J2SE 1.5.0 (septiembre 2004)
j2se 1.6.0 a partir de 2005 y otros

La plataforma Java 2
Una plataforma software que se
ejecuta sobre otra plataforma
hardware/software.

La Mquina Virtual Java La interfaz de Programacin


(JVM)

de Aplicaciones (API)

Intrprete de Java Conjunto de clases ya desarrolladas

La plataforma Java 2

Caractersticas Principales
Sencillo
Orientado a objetos
Distribuido
Interpretado
Robusto
Seguro

Arquitectura neutra
Portable
Altas prestaciones
Multithread
(multihilo)
Dinmico

Caractersticas: Sencillo
Elimina algunas de las caractersticas de C y
C++:

No aritmtica de punteros.
No existen referencias.
No existe typedef ni #define.
No sobrecarga operadores.
No herencia mltiple.
Posee clase String.
No necesidad de asignar y liberar memoria
(Garbage Collector).
8

Caractersticas: Orientado a
objetos
Java trabaja con sus datos como

objetos y con interfaces a esos objetos.


Implementa:

Encapsulacin. - Interfaces.
Herencia simple.
- Paquetes.
Abstraccin.
Reutilizacin.
Polimorfismo.
9

Caractersticas: Distribuido
Concebido para trabajar en un

entorno conectado en red.


En s no es distribuido, proporciona
libreras y herramientas para que los
programas puedan ser distribuidos,
que los programas corran en varias
mquinas interactuando.
10

Caractersticas: Interpretado
Compilador tradicional

Intrprete de ByteCodes

Traslada
sentencias altonivel a mltiples
instrucciones.
Creacin de
libreras como
resultado de
compilaciones
previas.
Juntando, se crea
programa
ejecutable.

Compilador Java
Traduce cdigo
fuente a cdigo
intermedio.

Interprete de Java

Virtual
Machine(JVM)
(ByteCodes
interpretados
(ejecutados))

11

Caractersticas: Robusto
No se interrumpe fcilmente.
Evita sobreescribir o corromper
memoria mediante punteros.
Manejo de excepciones.
Verificacin de ByteCodes (por
ejemplo no acceso ilegal de
memoria).

12

Caractersticas: Seguro
Aplicaciones seguras ya que no
acceden a zonas delicadas de
memoria o de sistema

No existen punteros, no acceso a zonas

delicadas de memoria.
Una applet no puede acceder al sistema, a
los archivos de la persona que lo est
viendo.

13

Caractersticas: Arquitectura
neutra
Java compila el cdigo a un fichero

objeto de formato independiente de


la arquitectura de la mquina en que
se ejecutar.
Cualquier plataforma donde exista
una JVM se puede ejecutar el cdigo
objeto independientemente de la
mquina en el que ha sido generado.
14

Caractersticas: Arquitectura
neutra
Cdigo fuente se compila
a un cdigo de bytes
independientemente
de la mquina.
Los ByteCodes se
ejecutan en una
mquina hipottica
que se implementa
por un sistema
run-time, que es
dependiente
de la mquina.

Tiempo de compilacin

Tiempo de ejecucin

15

Caractersticas: Arquitectura
neutra
Elementos que forman parte de arquitectura de
Java sobre una plataforma genrica.

Dependiente del sistema:

JVM.
Libreras fundamentales.
APIs de Java que
entren en contacto
directo con el hardware.

16

Caractersticas: Portable

Ms all de la portabilidad

bsica por ser de arquitectura


independiente.
17

Caractersticas: Altas
prestaciones
Compiladores JIT (Just in time):
Compilan en el momento de
ejecucin.

Traslada los bytecodes al


cdigo mquina de la plataforma
segn los va leyendo, realizando
cierto grado de optimizacin.
JIT no pierde tiempo en
optimizar cdigo que no se ejecutar.
18

Caractersticas: Altas
prestaciones
Se introdujo un nuevo JIT: HotSpot.
Incluye compilador dinmico
y una mquina virtual para
Interpretar bytecodes.
Mejor soporte para ordenadores
con varios procesadores,
mayor escalabilidad.

19

Caractersticas: Multithread
Ejecucin de varias tareas a la vez.

Permite muchas actividades


simultneas en un programa.
Posee una serie de clases que
facilitan su utilizacin.
Mejor rendimiento interactivo y mejor
comportamiento en tiempo real.
20

Caractersticas: Dinmico
No conecta todos los mdulos que

comprenden una aplicacin hasta el


mismo tiempo de ejecucin.
Las libreras nuevas o actualizadas
no paralizan la ejecucin de las
aplicaciones siempre que mantengan
la API anterior.
21

Caractersticas: Dinmico
Capaz de traer automticamente cualquier
pieza que el sistema necesite para
funcionar.

22

Qu ventajas tengo como


desarrollador?
Comenzar rpidamente.
Escribir menos cdigo, 4 veces menos

que en C++.
Escribir mejor cdigo.
Desarrollar programas ms rpidamente.
Eliminar dependencias de la plataforma.
Escribir una vez, ejecutar en cualquier
parte.
23

Tipos de Programas en Java


Consola
Applets
Servlets
Compilador de Java

Programa fuente Java

Visor de HTML
Visor de applets de Java
Intrprete de Java

Programa compilado Programa ejecutado

Archivo HTML
INTERNET

24

Primeros pasos con Java


http://java.sun.com
SDK (Software Development Kit)

Necesario para crear (desarrollar y compilar) programas

JRE (Java Runtime Environment)

Necesario para ejecutar un programa Java


SDK = JRE + herramientas de desarrollo

La tecnologa Java se organiza en subreas:

J2SE (Java 2 Platform, Standard Edition)


J2EE (Java 2 Platform, Enterprise Edition)
SDK + soporte para servicios web y componentes
Java Web Services: aplicaciones basadas en la web que
utiliza estndar XML y protocolos de transporte para
intercambiar datos con los clientes que le invocan.

25

Compilacin y ejecucin en la
lnea de comandos
Compilacin:
c:\javac fichero.java

fichero.class

Ejecucin:
c:\java fichero [argumentos]

fichero.java es un fichero de texto que contiene la clase


principal (clase que contiene el main)

public static void main (String [] args)

26

Variables de entorno
JAVA_HOME

Directorio en el que est instalado el J2SE SDK

CLASSPATH

Ruta de acceso a las APIs de Java

c:\set CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;
%JAVA_HOME%\lib\dt.jar;

.; Carpeta o directorio actual de trabajo

PATH del sistema

Directorio donde se encuentran los ejecutables de java


c:\set PATH=%JAVA_HOME%\bin;%PATH%

Cambiar las variables de entorno en Windows

Panel de Control >> Sistema >> Opciones avanzadas >>


Variables de entorno
27

Modificar variables de
entorno

28

Ejemplo:
class Ejemplo {

public static void main(String args[])


{
System.out.println("Bienvenido a
Programacion III");
}
}
29

Fundamentos del lenguaje 1


Las clases se definen con la palabra reservada class.
public class Ejemplo { }

Los nombres de variables deben empezar con una letra o los


caracteres $ y _.
foobar
ABCdef
$abcd
3_abc // mal
!algo

// bien
// bien
// bien

int var;

// comentarios de lnea

// mal

Hay dos tipos de comentarios:

/**
* comentarios varias lneas
*/

30

Fundamentos del lenguaje 2

Tipos de datos o

Tipo

bits

Tipo

bits

boolean

boolean

char

16

Byte

short

16

Int

32

long

64

Float

32

double

64

primitivos

char byte
long short int long
float
double

Tamao en bits

31

Bibliografa
Libro de texto: JAVA 2. Mc GrawHill
Java Documentacin:
http://java.sun.com/javase/6/docs/api//index.html

Tutoriales de internet.

32