1. programar y ejecutar aplicaciones avanzadas java preparar al alumno para el sun certified...

43
1

Upload: alta-ruvalcaba

Post on 16-Feb-2015

23 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

1

Page 2: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Programar y ejecutar aplicaciones avanzadas Java™

Preparar al alumno para el Sun Certified Programmer 1.5 for the Java™ Platform

Ver conceptos nuevos de Java 5.0 (Tiger)

2

Page 3: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

3

Page 4: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Este curso desarrollará las siguientes áreas: Sintaxis del lenguaje de programación Java Conceptos de Orientación a Objetos y cómo estos

se aplican en el lenguaje de programación Java Interfaces, Clases abstractas, anidadas,

excepciones, assertions, entre otros. Multithreading Networking

4

Page 5: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

5

Page 6: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Describir las características principales del lenguaje

Compilar y ejecutar aplicaciones Java Utilizar las API de documentación online de Java Describir constructores y sintaxis del lenguaje Describir el paradigma de Programación

Orientada a Objetos Utilizar las características de orientación a

objetos del lenguaje de programación Java Utilizar excepciones

6

Page 7: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Utilizar las API de Colecciones Leer y escribir a archivos Utilizar el java.io package Describir los conceptos básicos de multithreading Desarrollar aplicaciones concurrentes Java Desarrollar programas cliente-servidor utilizando

TCP/IP

7

Page 8: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

8

Page 9: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Describir las características  fundamentales de la tecnología Java.

Escribir, compilar y ejecutar una aplicación simple de tecnología Java.

Describir la función de la Máquina Virtual de Java (JVM)

Definir el concepto de garbage collection.

9

Page 10: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

La tecnología Java no es solo un lenguaje de programación.

¿Qué es la tecnología Java?

10

Page 11: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Java es:₋ Lenguaje de programación

₋ Entorno de desarrollo

₋ Entorno de ejecución

₋ Provee herramientas, librerías y frameworks para ayudar al desarrollador a elaborar aplicaciones más fácilmente

₋ Entorno para aplicaciones Web (Applets, JSP, Servlets, EJB, etc.

₋ Comunidad de desarrolladores.

11

Page 12: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

J2SE(JDK y JRE) J2EE o JEE J2ME

12

Page 13: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

J2SE (Java Standard Edition)₋ JRE (Java Runtime Environment) provee

un conjunto de APIs, Java Virtual Machine (JVM), y otros componentes necesarios para ejecutar applets y aplicaciones escritas en el lenguaje Java

₋ JDK (Java Development Kit) contiene a la JRE y agrega diferentes herramientas como: compiladores, debuggers necesarios para desarrollar applets y aplicaciones.

J2SE(JDK y JRE)

13

Page 14: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

J2EE o JEE (Java Enterprise Edition)₋ Especificación y modelo para

desarrollar aplicaciones empresariales de gran porte, especialmente orientada a un entorno Web.

₋ Contiene un modelo, arquitectura y patrones para desarrollar este tipo de sistemas.

₋ ES UNA ESPECIFICACIÓN !!₋ Diferentes empresas (entre ellas

SUN) implementan las especificaciones.

J2EE o JEE

14

Page 15: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

J2ME (Java 2 Micro Edition)₋ Especificación para desarrollar

aplicaciones en dispositivos móviles.

₋ Los diferentes Vendors (Nokia, Motorola, etc.) implementan la JVM (para la micro edition) permitiendo hacer desarrollos independientes al dispositivo particular.

J2ME

15

Page 16: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

16

Page 17: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Brinda un lenguaje de fácil uso debido a que:₋ Evita muchas de las fallas de otros lenguajes₋ Es Orientado a Objetos₋ Permite a los usuarios crear código claro

Provee un ambiente interpretado que logra:₋ Velocidad en el desarrollo₋ Portabilidad de código

17

Page 18: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Permite a los usuarios correr más de un hilo de ejecución a la vez

Carga las clases dinámicamente, esto es, en el momento que se necesitan

Soporta el cambio dinámico de programas en tiempo de ejecución, debido al cargado de clases de orígenes diferentes.

Provee mejor seguridad verificando módulos cargados

Independencia de la arquitectura de hardware

18

Page 19: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Las siguientes características logran lo antes mencionado:

₋ La JVM – (Máquina Virtual)₋ Garbage collection₋ Seguridad de código

19

Page 20: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

JVM.class

.java

20

Page 21: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Provee especificaciones de la plataforma de hardware

Lee los byte codes compilados que son independientes de la plataforma

Es implementada por software o hardware

21

Page 22: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

El mayor control de tipos es realizado cuando el código es compilado

La implementación de la JVM aprobada por Sun Microsystems debe ejecutar cualquier archivo de clase que cumpla la especificación

22

Page 23: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

La JVM provee las siguientes definiciones:

₋ Set de Instrucciones (CPU)₋ Conjunto de registros₋ Formato de los archivos de las clases₋ Stack₋ Recolección de espacios liberados de memoria

(Garbage-collection)₋ Área de memoria

23

Page 24: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Garbage collection:₋ Rastrea y libera la memoria que no se va a utilizar

mas₋ Esto es hecho automáticamente

Si la memoria no se libera pueden darse memory leaks

En otros lenguajes, la liberación de dicha memoria es responsabilidad de los programadores

El lenguaje de programación Java provee hilos a nivel de sistema para rastrear memoria ocupada sin utilizar

24

Page 25: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

El entorno de aplicación Java funciona de la siguiente manera:

25

Page 26: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

26

Page 27: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Realiza tres tareas básicas:

₋ Cargar el código

₋ Verificar el código

₋ Ejecutar el código

27

Page 28: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Carga todas las clases necesarias para la ejecución del programa

Mantiene las clases del sistema de archivos local en “namespaces” separados

Previene spoofing

Asignación de memoria en tiempo de ejecución

28

Page 29: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Nos asegura que:₋ El código sigue la especificación de la JVM₋ El código no viola la integridad del sistema₋ El código no tenga operaciones que causen

stack overflows or underflows₋ Los tipos de parámetros de todas las

operaciones sean correctos₋ No ocurran conversiones de datos ilegales

(convertir un entero en un puntero)

29

Page 30: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

30

Page 31: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

IDE (Integrated Development Environment)₋ Utilizaremos Eclipse

Eclipse – www.eclipse.org – Versión: Helios Java jdk6 -

http://www.oracle.com/technetwork/java/javase/downloads/index.html

31

Page 32: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Un programa consiste en una o más clases. Una clase contiene uno o más métodos. Un método contiene sentencias. Uno de los métodos debe ser el llamado main(),

que es donde comienza la ejecución del programa.

32

Page 33: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

TestGreeting.java// // Ejemplo aplicación “Hola Mundo“ // public class TestGreeting{ public static void main (String[] args) { Greeting hola = new Greeting(); hola.greet(); } }Greeting.java // La declaración de la clase Greeting. public class Greeting { public void greet() { System.out.println(“Hola Mundo”); } }

33

Page 34: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Compilar TestGreeting.java₋ javac TestGreeting.java

Greeting.java es compilado automáticamente

Ejecutando una aplicación₋ java TestGreeting

Encontrar errores comunes de compilación y ejecución

34

Page 35: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

En tiempo de compilación – compile-time-errors En tiempo de ejecución – run-time-errors Lógicos – logical errors

35

Page 36: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

javac: Command not found

Greeting.java:4: cannot resolve symbol₋ symbol : method printl (java.lang.String)₋ location: class java.io.PrintStream₋ System.out.printl(“Hola Mundo");

TestGreet.java:4: Public class TestGreeting₋ must be defined in a file called₋ “TestGreeting.java”

36

Page 37: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Can’t find class TestGreeting

Exception in thread "main“java.lang.NoSuchMethodError: main

37

Page 38: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

38

Page 39: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

39

Page 40: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Test1.java

public class Test1 {public static void main(String[] args) { System.out.println("What's wrong with this program?");

}}public class TestAnother1 { public static void main(String[] args) { System.out.println("What's wrong with this program?"); }}

40

Page 41: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Test1.java – Solución

public class Test1 { public static void main(String[] args) { System.out.println("What's wrong with this program?"); }}

// Si se declara una clase pública en un archivo fuente, el archivo y la clase pública

// deben llamarse igual. El ejemplo compilaría si se removiera el modificador public

// de la segunda clase o si la misma se moviera a otro archivo fuente.

class TestAnother1 { public static void main(String[] args) { System.out.println("What's wrong with this program?"); }}

41

Page 42: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Objetivos del curso y contenido general. Qué es la tecnología Java y sus

características. Cómo está compuesta? Funcionamiento de JVM y GC. Compilación y ejecución. Ejemplos de clases. Tipos de errores.

42

Page 43: 1. Programar y ejecutar aplicaciones avanzadas Java Preparar al alumno para el Sun Certified Programmer 1.5 for the Java Platform Ver conceptos nuevos

Wikipedia₋ http://es.wikipedia.org/wiki/Compilador₋ http://en.wikipedia.org/wiki/Just-in-

time_compilation

AJPDSOFT₋ http://www.ajpdsoft.com/modules.php?

name=news&file=article&sid=270

Java₋ http://www.java.com/es

43