Características generales del lenguaje Java

Anuncio
Características generales del
lenguaje Java
María Consuelo Franky
1
Temario
❶
Historia del desarrollo de Java
❷
Ventajas sobre otros lenguajes O.O.
❸
applets vs. aplicaciones
❹
Vistazo global a las características de Java
❺
Ambiente básico JDK
Tema 2 Java - CincoSOFT
2
1.
Historia del desarrollo de Java
Tema 2 Java - CincoSOFT
3
Origen de Java
Proyecto Green de la SUN (1991) para desarrollar software controlador
de electrodomésticos (dirigido por James Gosling)
★
★
★
★
★
★
★
se requería un lenguaje compacto, confiable, OO, independiente de la
plataforma
C++ fue descartado (por ser complejo y no confiable) ==> se definió Java
en 1993 se quiso incorporar la tecnología de video por demanda
en 1993 apareció NCSA Mosaic 1.0 ==> de 1993 - 1995 Java se redefinió
para Internet
actualmente SUN (FirstPerson Inc.) ha seguido trabajando en aplicar Java
como controlador de televisión interactiva y de otros electrodomésticos
Java se popularizó como lenguaje general para aplicaciones modernas
2 plataformas dominantes para desarrollar aplicaciones empresariales: Java
EE (usa lenguaje Java), .NET (usa lenguaje C# principalmente)
4
2.
Ventajas sobre otros lenguajes O.O.
Tema 2 Java - CincoSOFT
5
Java tiene las virtudes de C++
pero no sus defectos:
– Como C++, Java es compacto, expresivo, OO,
multithreading
– A diferencia de C++ :
❋ Java obliga a usar el paradigma OO
❋ no soporta apuntadores
❋ recolección automática de basura
❋ no permite variables globales ni funciones sueltas
❋ ofrece objetos arreglos de dimensión arbitraria
❋ menos alternativas en tipos y mayor chequeo de tipos
❋ no hay preprocesamiento (#include) : dinámicamente se
importan las clases necesarias
❋ código portable (independiente de cualquier plataforma)
❋ interfaz universal
❋ Menores costos en desarrollo y mantenimiento
Tema 2 Java - CincoSOFT
6
Portabilidad de Java: se compila una vez
y se ejecuta en cualquier plataforma
programa.java
compilador javac
programa.class en código bytecode para
la máquina JVM (Java Virtual Machine)
JRTS
(Java Run-Time System)
en el browser de la plataforma 1
interpretación del
programa.class
en la plataforma 1
Tema 2 Java - CincoSOFT
JRTS para plataforma 2
JIT
(Just-In-Time compiler)
programa.exe en código
nativo de la plataforma 2
ejecución
ejecución del programa.exe en la
plataforma 2
7
Seguridad ofrecida por Java:
– el bytecode Java es neutral respecto a las arquitecturas => no puede explotarlas
– fuerte chequeo de tipos y manejo de excepciones
– ausencia de apuntadores => no hay referencias inválidas de memoria
– el JRTS (Java Run Time System) :
❉
chequea que el bytecode esté bien construido
❉
separa clases del JRTS || clases del usuario || clases que vienen por la red
– el web browser pone barreras de seguridad a las clases que vienen por la red en
forma de applets (en principio, no pueden consultar ni modificar archivos del
escritorio)
– mecanismos avanzados ofrecidos por Java:
❉
encripción de datos antes de transmitirlos
❉
generación de llaves y de firmas digitales para un archivo applet (javakey)
❉
definición de políticas de seguridad basadas en la auntenticación de applets
Tema 2 Java - CincoSOFT
8
3.
Applets versus aplicaciones Java
Tema 2 Java - CincoSOFT
9
escritorio
con browser y disco
servidor de BD
y de recursos
aplicación 1
Java
BD
applet
servidor Web
y de Aplicaciones
aplicación 3
Java
aplicación 2
Java
Interacción de un applet
o de una aplicación Java
con múltiples servidores
aplicación 4
JAVA
BD
Tema 2 Java - CincoSOFT
servidor de BD
y de recursos
10
Usos de los Applets y de las
Aplicaciones Java
Los applets permiten :
★
★
★
★
★
Mostrar información al interior de una empresa
Mostrar al público información sobre productos
servir de “Front end” para las aplicaciones operativas de la empresa
Comercio electrónico
Traer las aplicaciones de oficina a los escritorios livianos
Las aplicaciones Java :
★
★
★
★
Residen en escritorios pesados (de la empresa) o en los servidores
Pueden interactuar con Bases de Datos o con otras aplicaciones
JAVA de otros servidores
Pueden realizar servicios de procesamiento para los applets
Pueden interactuar con aplicaciones antiguas o heterogéneas
Tema 2 Java - CincoSOFT
11
45.
Ambiente básico JDK
(Java Development Kit)
Tema 2 Java - CincoSOFT
12
Instalación, directorios y
configuración del JDK :
★ sitio internet donde se obtiene última versión del JDK
(actualmente JDK 1.6):
http://java.sun.com/products/jdk/1.6
★ contenido del directorio jdk resultado de la instalación:
jdk1.6\bin : herramientas de desarrollo
jdk1.6\jre : soporte de ejecución básico (MVJ)
jdk1.6\lib : librerías de soporte
jdk1.6\demo : ejemplos
jdk1.6\include: soporte para programar métodos
nativos.
★ tutorial oficial de la Sun:
http://java.sun.com/docs/books/tutorial/
★ CLASSPATH: variable que especifica dónde buscar las clases de
JAVA durante tiempo de compilación y ejecución
ej de valor: C:/jdk/lib;C:/misclases
Tema 2 Java - CincoSOFT
13
Principales paquetes que ofrecen las
librerías del JDK
■ clase: modela un tipo de objeto
■ paquete: conjunto de clases
■ paquetes utilitarios:
✿ java.lang : clases básicas (importado por defecto)
✿ java.applet : manejo de applets
✿ java.io : manejo de E/S sobre archivos
✿ java.net : servicios de conectividad (sockets TCP/IP, URL)
✿ java.util : manejo de objetos flexibles: Lista, Vector, Mapa..
✿ java.awt : manejo de objetos de interacción gráfica
✿ java.sql : interacción con Bases de Datos (JDBC)
✿ java.rmi: interacción con objetos remotos (RMI)
✿ java.beans : manejo de componentes
✿ java.security : servicios de seguridad
✿ y muchos más
Tema 2 Java - CincoSOFT
14
Principales herramientas del JDK :
javac : compila applets o aplicaciones java
javac [opciones] MiClase.java
genera un archivo .class por cada clase definida en
MiClase.java
otro ej: javac javeriana\edu\co\miproy\MiClase.java
nota: importa la diferencia entre mayúsculas y minúsculas en
el nombre del archivo
principales opciones :
-verbose (da información al compilar)
-d directorio (donde se quieren dejar los .class)
-classpath ruta (donde buscar las clases, en lugar de lo
que indique CLASSPATH)
Tema 2 Java - CincoSOFT
15
✿ java : interpreta (ejecuta) una aplicación java
java [opciones] Miclase [argumentos]
debe existir el archivo Miclase.class
otro ej: java javeriana.edu.co.miproy.MiClase
principales opciones :
-verbose (da información sobre clases cargadas)
-classpath ruta (donde buscar las clases, en
lugar de lo que indique CLASSPATH)
Tema 2 Java - CincoSOFT
16
✿ javadoc : genera la documentación de una aplicación java
javadoc javeriana\edu\co\miproy\*.java
muchas opciones :
-visibilidad
-paquetes a incluir o excluir
-apariencia
Tema 2 Java - CincoSOFT
17
✿ appletviewer : interpreta un applet java sin requerir ningún
navegador
appletviewer [opciones] mihoja.html
appletviewer [opciones]
http://host/dir/mihoja.html
mihoja.html indica el archivo Miapplet.class que
quiere invocarse
principal opción :
-debug (permite hacer depuración con jdb)
Tema 2 Java - CincoSOFT
18
✿ jdb : herramienta de depuración
✿ javap : analiza archivos java informando cúales son sus clases,
métodos y atributos
✿ javadoc : herramienta que genera documentación HTML a partir
de una aplicación o applet java
✿ javah : herramienta que genera archivos .h en lenguaje C para la
interacción entre aplicaciones java y aplicaciones C
✿ rmic : herramienta que genera módulos stub y skeleton para
la interacción RMI entre objetos java distribuidos
✿ jar : comprime o descomprime archivos java
✿ javaKey : genera firma digital para un applet
✿ etc.....
Tema 2 Java - CincoSOFT
19
Ejercicio “Hola Mundo”
✿ Desarrollar con JDK una aplicación Hola1.java que imprima
por la salida estándar, el mensaje :
“Hola Mundo: esta es la primera aplicacion
java de Fulanito de Tal”
la clase debe llamarse Hola1.class
archivos .class deben quedar en subdirectorio clases
ejemplo de código:
class Hola1 {
public static void main (String[] args) {
System.out.println (“Hola mundo...”);
}
}
Tema 2 Java - CincoSOFT
20
Parámetros para una aplicación java
✿ En la línea de comandos de java pueden ir argumentos:
java miclase cadena1 cadena2 ....
✿ El método main tiene como parámetro una arreglo de cadenas :
class miclase {
public static void main(String[] args ) {
....
}
}
✿ args.length es el número n de argumentos
✿ args[i] es la cadena usada como argumento i-ésimo
(se cuenta i desde 0 hasta n-1)
Tema 2 Java - CincoSOFT
21
Ejercicio “EcoJDK”
✿ Desarrollar con JDK una aplicación Eco1.java que imprima por
la salida estándar los argumentos de la línea de comandos,
imprimiendo uno por línea:
la clase debe llamarse Eco1.class
archivos .class deben quedar en subdirectorio clases
debe chequear que haya argumentos
Tema 2 Java - CincoSOFT
22
Descargar