clase2
TRANSCRIPT
![Page 1: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/1.jpg)
JAVA
http://java.sun.com
![Page 2: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/2.jpg)
Qué es Java?
Java es un lenguaje de programación orientado a objetos portable a toda plataforma y que permite desarrollar aplicaciones distribuidas.
![Page 3: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/3.jpg)
Historia de Java• Desarrollado por Sun Microsytem • Intentaba solucionar la incompatibilidad
– Entre las arquitecturas de hardware y software.
• Se desarrollo el lenguaje Oak, parecido a C++,
– Pero portable y de menor complejidad.• Se le añadio la capacidad de
– Crear aplicaciones distribuidas para la Internet,
– Y se le cambio de nombre por Java.
![Page 4: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/4.jpg)
Características de Java
• Simple• Orientado a Objetos• Distribuido• Robusto• Arquitectura Neutral• Seguro• Portable• Interpretado• Multithreaded• Dinámico
![Page 5: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/5.jpg)
Simple
• Java se diseñó parecido a C++ para facilitar un rápido y fácil aprendizaje.
• Reduce un 50% los errores más comunes de C++ al eliminar características, como:– Aritmética de punteros.– Estructuras (struct).– Definición de tipos (typedef).– Macros (#define).– Necesidad de liberar memoria.– Herencia Múltiple.
![Page 6: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/6.jpg)
Orientado a Objetos
• Java fue diseñado como un lenguaje orientado a objetos desde el principio.
• Soporta las características propias del Paradigma Orientado a Objetos.
![Page 7: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/7.jpg)
Distribuido
• Construido con extensas capacidades de interconexión TCP/IP.
• Librerías de rutina para interactuar con protocolos http y ftp.
• Java proporciona las librerías y herramientas para que los programas puedan ser distribuidos, es decir que corran en varias máquinas, interactuando.
![Page 8: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/8.jpg)
Robusto
• Java proporciona numerosas comprobaciones en la compilación y en tiempo de ejecución.
• El chequeo de los tipos de datos ayuda a detectar errores.
• Se comprueban los límites de los arreglos.• El manejo de memoria en Java es simple, no
hay aritmética de punteros y no requiere de liberación explícita de memoria puesto que tiene un recolector de basura (garbage collector).
![Page 9: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/9.jpg)
Arquitectura Neutral
• Java es de arquitectura neutral es decir es independiente de la plataforma de software o hardware.
• El formato bytecodes de Java es el formato intermedio de arquitectura neutral que permite transportar código entre múltiples plataformas de hardware y software.
• El bytecode se ejecuta sobre cualquier plataforma de hardware y software que disponga de la JVM.
![Page 10: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/10.jpg)
Java Virtual Machine (JVM)
• Toma el programa compilado (bytecodes) y convierte sus instrucciones en comandos que maneja el sistema operativo.
• Conocido tambien como Java Interpreter.
![Page 11: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/11.jpg)
Java Virtual Machine
![Page 12: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/12.jpg)
Arquitectura Neutral
![Page 13: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/13.jpg)
Portable
A parte de la arquitectura independiente, java implementa otros estándares de portabilidad.– Los tamaños de los tipos de datos de Java
son los mismos para cualquier plataforma.– Construye sus interfases de usuario en un
sistema abstracto de ventanas, de forma que las ventanas puedan ser implantadas en entornos Unix, PC o Mac.
![Page 14: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/14.jpg)
Seguro
Debido a que Java permite hacer programas distribuidos, tiene un alto control de seguridad en las aplicaciones.– El verificador de bytecodes detecta los fragmentos
de código ilegal.• No permite falsificar punteros.• No permite violar los derechos de acceso sobre los
objetos.
– El cargador de clases distingue entre los archivos locales y los de la red. Esto imposibilita que una clase suplante a una predefinida.
![Page 15: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/15.jpg)
Interpretado
• El compilador de Java genera bytecodes (código de bytes) para la JVM. El interprete incorporado en la JVM es el que permite ejecutar el programa.
• El bytecode puede ejecutarse sobre cualquier plataforma que tenga la JVM implementada.
![Page 16: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/16.jpg)
Multithreaded
• Java soporta múltiples hilos de ejecución (threads) en un mismo programa.
• Un thread es un subproceso.• Java permite manejar múltiples threads
en un programa, ejecutándose concurrentemente y llevando a cabo tareas distintas.
![Page 17: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/17.jpg)
Dinámico
• El modelo de ejecución de Java permite cargar dinámicamente código conforme se va necesitando.
• Las clases sólo se enlazan a medida que son necesitadas.
• Se pueden enlazar nuevos módulos de código, procedente de fuentes muy variadas, incluso desde la Red.
![Page 18: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/18.jpg)
J2SE
• El J2SE (Java 2 Platform, Standard Edition), es una herramienta que provee Sun para desarrollar y ejecutar programas hechos en Java.
• Java a tenido varias versiones: – JDK (java development kit: v1.1, v1.0). – Java 2 SDK (software development kit) : v1.2, v1.3,
v1.4, v 5.0.
• Dirección para bajar el J2SE v 5.0:– http://java.sun.com/j2se/1.5.0/download.jsp
![Page 19: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/19.jpg)
Integrated Development Environment
• Eclipse• Jcreator• BlueJ• Symantec Visual Café• Borland J. Builder• Visual Age for Java• IDEA• Forte for Java
![Page 20: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/20.jpg)
Aplicaciones independientes, Applets y Servlets
• Las Aplicaciones independientes (stand-alone) se ejecutan bajo un sistema operativo.
• Los Applets son aplicaciones que se ejecutan bajo un web browser.
• Los Servlets son aplicaciones que se ejecutan bajo un servidor web.
![Page 21: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/21.jpg)
Introducción al lenguaje Java
• El código fuente de Java se guarda en archivos con extensión .java
• Una vez que se compila el archivo .java se transforma en un archivo .class (bytecode).
![Page 22: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/22.jpg)
Ambiente de Programación de Java
![Page 23: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/23.jpg)
• Para compilar:– javac HolaMundoApp.java
• Para ejecutar:– java HolaMundoApp
• Java diferencia entre mayúsculas y minúsculas.
![Page 24: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/24.jpg)
Complilando y Corriendo su Primer Programa en Java
class HolaMundo { public static void main(String[] args) { System.out.println(“Hola Mundo!"); //Mostrar la cadena de caracteres. } } Compilar: javac HolaMundo.java Ejecutar: java HolaMundo
![Page 25: Clase2](https://reader033.vdocuments.co/reader033/viewer/2022051212/557c9984d8b42ab4218b45a3/html5/thumbnails/25.jpg)
Librerías de clases
• Es un grupo de clases o interfases diseñado para ser usado en otros programas.
• La API de Java (Application Programming Interface) es un conjunto de librerías de clases o interfases que pueden ser reutilizadas.
• La dirección web de la documentación de la API es:
– http://java.sun.com/j2se/1.5.0/docs/api/.• Los paquetes son una manera de agrupar clases e
interfases relacionadas.– Ejemplo de paquete: java.applet.Applet