Sei sulla pagina 1di 54

Por: Ing. Msc.

Alberto MEDINA VILLACORTA 08/10/2014


1
El lengua|e
)ava
Por: Ing. Msc. Alberto MEDINA VILLACURTA
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
2
ConrenIdos
Historia del lengua|e )ava
1
Caractersticas del lengua|e )ava
2
)ava y )avaScript
3
Seguridad en )ava
4
Tipos de aplicaciones )ava
5
La Mquina Virtual de )ava 6
Kit de desarrollo de )ava
7
Versiones de )ava
8
Plataformas, editores y entornos
9
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
3
HIsrorIa de Java
De donde procede )ava?
Antes de los aos 80 {antes de )ava]
reinaban los lengua|es de programacin
estructurada.
El lengua|e C era el ms popular debido a su
versatilidad {Intermedio].
El problema en general era el tamao de los
programas que eran difciles de mantener.
Se me|or en algo con el uso de tcnicas de
programacin estructurada y modular.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
4
HIsrorIa de Java
Finalmente fu la PUU la que me|or
notablemente la situacin.
La PUU permite bacer programas muy
parecidos al pensamiento bumano.
Su principal virtud es que simplifica el
problema dividindolo en ob|etos que se
programan en forma autnoma.
Como solucin se adapt la PUU a los
lengua|es existentes.
El ms famoso fu C++, adapt C a la PUU.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
5
HIsrorIa de Java
En C y )ava: ++ significa incrementar.
C++ aadi a C: soporte a ob|etos, libreras
de clases de ob|etos, todo lo bueno de C.
C++ fu el lengua|e de programacin ms
popular a principios de los aos 90.
Utras adaptaciones famosas fueron:
Paso de Pascal a Turbo Pascal y finalmente a
Visual Delpbi.
Paso de BASIC a Quick BASIC y luego a Visual
BASIC {Abora parte de Visual Studio]
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
6
C++ vs. Java
VENTA)AS
Aadir soporte de
PUU incluida la
berencia mltiple.
Creacin de potentes
bibliotecas por parte
de desarrolladores
{p.e. MFC].
Se permita escribir
cdigo en C.
Era muy veloz.
DESVENTA)AS
Es compilado y
produce un
e|ecutable vlido
solo para una
plataforma en
concreto.
Es bbrido.
Es inseguro.
No es apropiado
para la Web.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
7
HIsrorIa de Java
En 1991 se cre Uak en Sun Microsystems .
Pretenda crear un sistema de TV inter-
activa {solo se us internamente].
Su propsito era crear un lengua|e
independiente de la plataforma para uso en
dispositivos electrnicos.
Sun deseaba un lengua|e para programar
pequeos dispositivos electrnicos, que
cambiaban continuamente y requeran
reescribir el cdigo.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
8
HIsrorIa de Java
En 1995 pasa a llamarse )ava y se da a
conocer al pblico en el Sun World '95, y
supuso un xito casi inmediato, el ao 2009
fue comprada por Uracle.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
9
HIsrorIa de Java
Adopt un modelo que lo bizo perfecto para
la red Internet, el modelo "bytecode".
)ava pasa a ser un lengua|e totalmente
independiente de la plataforma y a la vez
potente y orientado a ob|etos.
Su facilidad para crear aplicaciones para
redes TCPJIP lo ban encumbrado.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
10
CaraerersrIeas
)ava se dise para parecerse a C y C++
de modo que su aprendiza|e sea fcil.
En )ava No es necesario liberar
memoria.
No se usa la aritmtica de punteros.
No se usan referencias, registros,
definiciones de tipo, ni macros.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
11
CaraerersrIeas
Para programar en )ava bay que valerse
del uso de clase y ob|etos.
Las bibliotecas de aplicaciones de red o
APIs facilitan traba|ar con protocolos
desde ba|o nivel como TCPJIP o de alto
nivel como HTTP o FTP.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
12
CaraerersrIeas
La e|ecucin de un programa tiene 2 partes:
El compilador convierte el cdigo fuente a un
tipo de lengua|e de ba|o nivel {bytecode] y
para ser e|ecutado el programa se usa un
interprete que e|ecuta el bytecode compilado,
se trata del )VM o mquina virtual de )ava.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
13
CaraerersrIeas
)ava no solo verifica el cdigo para encontrar
problemas en tiempo de compilacin,
tambin busca errores en tiempo de
e|ecucin, la comprobacin de tipos en )ava
ayuda a detectar errores lo antes posible en
tiempo de desarrollo.
Diseado para redes, tiene restricciones de
seguridad, verifica que el bytecode cargado
no viola ninguna restriccin de )ava
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
14
CaraerersrIeas
La capacidad para e|ecutar varias procesos al
mismo tiempo esta incluida en )ava a travs
de algunos paquetes incluidos.
Internet tiene computadoras de diferente
tipo, arquitectura, sistema operativo, etc. )ava
es capaz de correr en cualquier tipo de PC sin
tener que recompilar el cdigo, mediante su
bytecode de arquitectura neutral .
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
15
Venra]as sobre C++
Su sintxis es similar a C y C++.
No usa punteros, lo que lo bace ms seguro.
Es totalmente orientado a ob|etos.
Es muy preparado para aplicaciones TCPJIP.
Implementa excepciones de forma nativa.
Es interpretado, lo que acelera su e|ecucin
remota, aunque es ms lenta que las
aplicaciones de C++ en un ordenador local.
Permite multibilos.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
16
Venra]as sobre C++
Admite firmas digitales.
Los tipos de datos y control de sintaxis son
ms rigurosos.
Es independiente de la plataforma.
El cdigo )ava no se compila sino se pre-
compila, de este modo se crea un cdigo
intermedio no e|ecutable {bytecodes] , para
e|ecutarlo se pasa por un intrprete que
e|ecuta cada linea, este interprete suele ser
la mquina virtual de |ava {)VM].
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
17
Venra]as sobre C++
La versin actual es )ava 2, que incorpora la
compilacin al instante o )ust In Time {)IT]
en la )VM, de modo que los bytecodes no se
interpretan uno a uno sino en secciones
siendo compilados en forma interactiva por
lo que el programa se e|ecuta ms rpido.
El uso de bytecodes bace los programas )ava
ms compactos y como tal son ideales para
la red Internet.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
18
Java y JavaSerIpr
La confusin se debe al parecido en el nombre
)ava y )avaScript no tienen nada que ver entre
si.
)ava fue creado en Sun Microsystems, abora
es de Uracle.
)avaScript fue creada por NetScape.
)ava es un lengua|e completo para crear todo
tipo de aplicaciones completas.
)avaScript es cdigo que est inmerso en una
pgina Web.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
19
Java y JavaSerIpr
La finalidad de )ava es crear aplicaciones
de todo tipo, aunque est muy preparado
para crear sobre todo aplicaciones en red.
La finalidad de )avaScript es me|orar el
dinamismo de las pginas web.
La sintaxis de ambos lengua|es se parecen
apenas.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
20
Java y JavaSerIpr
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
21
SegurIdad en Java
Dado que los programas de )ava no son
e|ecutables bay posibilidades de controlar
la seguridad .
Al interpretar el cdigo la )VM puede
delimitar las operaciones peligrosas con lo
que la seguridad se controla fcilmente.
)ava elimina instrucciones dependientes
de la mquina y los punteros que dan la
posibilidad de generar programas para
atacar sistemas.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
22
SegurIdad en Java
No permite el acceso directo a memoria.
La primer linea de seguridad es un
verificador del bytecode que comprueba si
el comportamiento del cdigo es correcto y
sigue las reglas de )ava.
El segundo paso es el verificador de clases,
es un programa que proporciona las clases
necesarias al cdigo, que se asegura que
las clases que se cargan son originales y no
creadas y reemplazadas artificialmente.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
23
SegurIdad en Java
Finalmente bay un administrador de
seguridad que es un programa
configurable que permite al usuario
indicar los niveles de seguridad a su
sistema para todos los programas )ava.
Utra forma es relacionada con la confianza,
se basa en saber que el cdigo procede de
un sitio de confianza y no de una fuente no
identificada, )ava permite aadir firmas
digitales que permiten verificar al autor.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
24
ApIIeaeIones Java
Se refiere a los tipos de aplicaciones )ava
Applets: Son aplicaciones embebidas en
una pgina Web que se e|ecutan en el
cliente, son programas )ava pensados para
ser colocados dentro de una pgina Web.
Son interpretados por cualquier
navegador con capacidades )ava.
Los programas se insertan utilizando una
etiqueta especial, como se insertan videos,
animaciones flasb u otros ob|etos.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
25
ApIIeaeIones Java
Son programas independientes , pero al
estar incluidos en una pgina Web, las
reglas de stas le afectan.
Normalmente un applet solo puede actuar
sobre el navegador.
Permiten integrar en las pginas Web
aplicaciones multimedia avanzados
incluyendo imgenes 3D y sonido y video
de alta calidad.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
26
ApIIeaeIones Java
Aplicaciones de consola: Son programas
basados en texto que se e|ecutan desde la
linea de comandos, pueden leer y mostrar
texto en la consola del sistema.
Aplicaciones grficas: Hacen uso de las
clases y ob|etos con capacidades grficas y
permiten crear aplicaciones CUI. {AWT]
Servlets: Se e|ecutan en un servidor de
aplicaciones Web y como resultado de su
e|ecucin se obtiene una pgina Web.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
27
ApIIeaeIones Java
Aplicaciones para mviles: Son programas
que pueden ser utilizadas en dispositivos
mviles como ipod, celulares, PDA, etc.
Requieren )2ME o Micro Edition que es un
software especializado {)2ME Wireless
Toolkit u otro similar] para realizar el
diseo y la compilacin del programa,
siguiendo sintaxis especfica del lengua|e
)ava.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
28
Ing. Msc. Alberto MEDINA VILLACURTA
)ava Virtual Macbine {)VM]
Los programas de C y C++ son totalmente
e|ecutables y por ello dependen de la
plataforma y su tamao es grande ya que
incluye libreras en la solucin final.
Los programas )ava no son e|ecutables, no
se compilan como en C o C++, en su lugar
son interpretados por la )VM, no incluyen
las libreras de la plataforma.
)ava es un lengua|e interpretado.
La MquIna VIrruaI de Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
29
Ing. Msc. Alberto MEDINA VILLACURTA
El cdigo fuente en )ava se precompila
generando un cdigo semicompilado que
no es directamente e|ecutable conocido
como bytecodes, los que son conocidos
tambin como bytecode o )code.
El resultado se genera en arcbivos .class y
es el que es e|ecutado por la )VM.
La )VM interpreta las instrucciones de los
bytecodes y e|ecuta el cdigo de la
aplicacin.
La MquIna VIrruaI de Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
30
Ing. Msc. Alberto MEDINA VILLACURTA
El bytecode se puede e|ecutar en cualquier
plataforma, lo nico que se requiere es
que la plataforma posea un interprete
adecuado.
La )VM es un programa muy pequeo y se
distribuye gratuitamente para casi todos
los sistemas operativos.
A este mtodo de e|ecucin de programas
en tiempo real se denomina )ust in time
{)IT].
La MquIna VIrruaI de Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
31
Ing. Msc. Alberto MEDINA VILLACURTA
En )ava la unidad fundamental del cdigo
son las clases.
Las clases son las que se distribuyen en el
formato bytecode de )ava.
Las clases se cargan dinmicamente
durante la e|ecucin del programa )ava.
La MquIna VIrruaI de Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
32
Ing. Msc. Alberto MEDINA VILLACURTA
La MquIna VIrruaI Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
33
Ing. Msc. Alberto MEDINA VILLACURTA
La MquIna VIrruaI Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
34
Ing. Msc. Alberto MEDINA VILLACURTA
La MquIna VIrruaI Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
35
Ing. Msc. Alberto MEDINA VILLACURTA
)DK= )ava Development Kit, paquete de
desarrollo de )ava.
Es el software que permite desarrollar el
compilado y e|ecucin de los programas
)ava.
Hay entornos para crear los bytecodes y
que incluyen berramientas con capacidad
de e|ecutar aplicaciones de todo tipo.
)DK {antes de Sun Microsystems] abora de
Uracle es el ms famoso y gratuito.
KId de desarroIIo de Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
36
Ing. Msc. Alberto MEDINA VILLACURTA
)DK se puede descargar de la sitio oficial de
)ava en:
bttp:JJwww.oracle.comJtecbnetworkJ|avaJindex.btml
Descargas directamente en:
bttp:JJwww.oracle.comJtecbnetworkJ|avaJ|avaseJ
downloadsJindex.btml
Incluye visores de cdigo, depuradores y
otras utilidades.
Actualmente se le conoce como SDK
{Standard Development Kit ]
KId de desarroIIo de Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
37
Ing. Msc. Alberto MEDINA VILLACURTA
EI sIrIo otIeIaI de Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
38
VersIones de Java
Para crear los bytecodes, bace falta el )DK
de Uracle, este se actualiza, me|ora y
renueva constantemente.
Por ello se babla de )ava 1.1, )ava 1.2, etc.
)DK evoluciona permanentemente bacia
nuevas versiones, actualmente se babla de
)ava 2.
Desde la versin )ava 1.2 es conocida como
)ava 2 y el )DK se llama )ava 2 Developer
Kit o )2DK.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
39
VersIones de Java
)ava 1.0 fue la primera versin y propuso
el marco general en el que se desenvuelve
)ava.
)ava 1.0 est oficialmente obsoleto pero
bay mucbos clientes con esa versin.
)ava 1.1 super la versin anterior
incorporando entre otras las siguientes
me|oras:
Incluye el paquete AWT {Abstract Windowing
ToolKit] que permite crear interfases grficas
de usuario {CUI].
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
40
VersIones de Java
)DBC {)ava Database Connectivity] que es
soportado de forma nativa por Internet
Explorer y Netscape.
RMI {Remote Metbod Invocation]: Mtodo
remoto de llamada, permite que un ob|eto que
se e|ecuta en una )VM pueda invocar mtodos
de un ob|eto en e|ecucin en otra )VM o
servidor.
Internalizacin: permite crear programas
adaptables a todos los idiomas y creacin de
applets locales.
En diciembre de 1998 aparece )ava 1.2
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
41
VersIones de Java
A sta versin se le conoce como )ava 2
Incorpora las siguientes me|oras:
)FC {)ava Fundation Class]
Con|unto de clases DETUDU para
crear programas ms atractivos de
todo tipo.
El paquete swing {la ms importante],
permite bacer lo mismo que AWT
pero superndolo ampliamente.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
42
VersIones de Java
Enterprise )avaBeans, para la
creacin de componentes de
aplicaciones distribuidas en el lado
del servidor.
)ava Media, con|unto de paquetes
para crear paquetes multimedia.
)ava 2D, parte de )FC que permite
crear grficos de alta calidad en
programas )ava.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
43
VersIones de Java
)ava Media Framework, paquete
marco para elementos multimedia.
)ava Speecb, reconocimiento de voz.
)ava Sound, mane|o de audio de alta
calidad.
)ava TV, televisin interactiva.
)ava servlets, berramienta para crear
aplicaciones de servidor Web y otros
tipos.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
44
VersIones de Java
)ava belp, permite la creacin de
sistemas de ayuda.
)ava card, versin de )ava dirigida a
pequeos dispositivos electrnicos.
Etc, etc.
La versin actual de )ava es la Versin 8
Update 20 del 19 de agosto de 2014.
Para traba|ar correctamente los
interpretes de cdigo deben ser
compatibles con estas versiones.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
45
PIaratormas Java
Actualmente bay varias ediciones del )2DK de
)ava, las ms usadas son:
)2SE o Standart Edition, es la plataforma
)ava estndar, para creacin de applets y
aplicaciones en lengua|e )ava.
)2EE o Enterprise Edition, para la creacin
de aplicaciones empresariales y del lado
del servidor.
)2ME o Micro Edition, para la creacin de
aplicaciones para dispositivos mviles.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
46
La PIaratorma Java
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
47
EdIrores y Enrornos
El cdigo )ava se escribe en un editor de texto,
para compilarlo a bytecode se requiere el )DK,
sta tarea se facilita con IDEs com:
NetBeans: Entorno gratuito de cdigo
abierto para generacin de bytecodes, su
IDE tiene:
Editor avanzado de cdigo.
Depurador de diversos lengua|es
Extensiones de todo tipo y
TomCat, un servidor de aplicaciones.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
48
EdIrores y Enrornos
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
49
EdIrores y Enrornos
Eclipse, entorno completo de cdigo
abierto que admite numerosas extensiones
incluido un mdulo para )2SE, es uno de los
ms usados por su compatibilidad con
aplicaciones )ava y por sus interesantes
opciones de ayuda al escribir cdigo.
Sun UNE Studio, entorno para la creacin
de aplicaciones )ava, creada por la Sun Mic.
A partir de NetBeans. {No es gratuita],
implicada con los servidores UNE de )ava.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
50
EdIrores y Enrornos
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
51
EdIrores y Enrornos
Borland )Builder, entorno completo creada
por Borland {Delpbi], IDE para crear todo
tipo de aplicaciones )ava incluso para
mviles.
Uracle )Developer, entorno completo para
la creacin de aplicaciones )ava y XML,
ideal para programadores de Uracle.
Visual ACE, entorno de programacin de
)ava creada por IBM, la ms antigua.
Visual Cafe,
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
52
EdIrores y Enrornos
Visual )#.NET, y Visual )++, {No son
estndar].
Intelli) Idea,
Kawa PRU,
)Creator, editor comercial muy potente y de
ba|o precio, no es un IDE completo lo que lo
bace muy ligero y funciona en cualquier
mquina.
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
53
EdIrores y Enrornos
Por: Ing. Msc. Alberto MEDINA VILLACORTA 08/10/2014
54

Potrebbero piacerti anche