34
M.A. Mónica Malinali Rueda Cruz

Introducción a Java SE

Embed Size (px)

DESCRIPTION

Introducción a Java SE

Citation preview

Page 1: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 2: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 3: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 4: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 5: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 6: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 7: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 8: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 9: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 10: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 11: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 12: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 13: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 14: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 15: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 16: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 17: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 18: Introducción a Java SE

M.A. Mónica Malinali Rueda Cruz

Page 19: Introducción a Java SE

La Máquina Virtual Java

Ofrece especificaciones de plataforma hardware

Lee bytecode compilados que son independientes

de la plataforma

Es implantada como software o hardware

Es implantada en herramientas de desarrollo de

tecnología Java o en navegadores Web.

M.A. Mónica Malinali Rueda Cruz

Page 20: Introducción a Java SE

La Máquina Virtual Java (JVM)

JVM ofrece definiciones para :

Conjunto de Instrucciones (Unidad central

de procesamiento [CPU])

Conjunto de Registros

Archivo con formato class

Pila

Recolector de basura del Heap

Area de Memoria

M.A. Mónica Malinali Rueda Cruz

Page 21: Introducción a Java SE

La Máquina Virtual Java (JVM)

La parte principal de la verificación de tipos se

hace cuando el código es compilado.

Las implantaciones de la JVM aprobadas por

Sun Microsystems deben ser capaces de

ejecutar cualquier archivo class.

M.A. Mónica Malinali Rueda Cruz

Page 22: Introducción a Java SE

Recolector de Basura

La memoria asignada que no se use debe ser

liberada.

En otros lenguajes, la liberación de memoria es

responsabilidad del programador

Java ofrece un hilo (proceso) a nivel de sistema

para rastrear la asignación de memoria

Recolección de basura:

Verifica y libera memoria que ya no es usada

Se hace automáticamente

Puede variar dramáticamente a lo largo de

implantaciones de la JVM

M.A. Mónica Malinali Rueda Cruz

Page 23: Introducción a Java SE

Una aplicación básica Java

TestGreeting.java

1 //

2 // Sample "Hello World" application

3 //

4 public class TestGreeting{

5 public static void main (String[] args) {

6 Greeting hello = new Greeting();

7 hello.greet();

8 }

9 }

Greeting.java

1 // The Greeting class declaration.

2 public class Greeting {

3 public void greet() {

4 System.out.println("hi");

5 }

6 }

M.A. Mónica Malinali Rueda Cruz

Page 24: Introducción a Java SE

Compilando y Ejecutando el Programa TestGreeting

• Compilando TestGreeting.java

javac TestGreeting.java

Greeting.java se compila automáticamente

Ejecutando una aplicación

java TestGreeting

Localizando errores comunes de compilación y tiempos

de ejecución

M.A. Mónica Malinali Rueda Cruz

Page 25: Introducción a Java SE

Generador de código Justo en el momento (Just-In-Time JIT)

M.A. Mónica Malinali Rueda Cruz

Page 26: Introducción a Java SE

El Ambiente de ejecución de JavaTM

Ejecuta tres tareas principales:

Carga código

Verifica código

Ejecuta código

M.A. Mónica Malinali Rueda Cruz

Page 27: Introducción a Java SE

El Cargador de Clase

Carga todas las clases necesarias para la

ejecución de un programa

Mantiene las clases del sistema de archivos

local en espacios de nombre separados

Previene los engaños

M.A. Mónica Malinali Rueda Cruz

Page 28: Introducción a Java SE

El verificador de bytecode

Asegura que:

El código se adhiera a la especificación de la

JVM

El código no viole la integridad del sistema

El código no provoque overflows o underflow

en la pila de operandos

Sean correctos los tipos de parámetros para

todo el código operacional

No ocurran conversiones ilegales de datos (la

conversión de enteros a apuntadores)

M.A. Mónica Malinali Rueda Cruz

Page 29: Introducción a Java SE

Errores en tiempo

javac: Command not found

Greeting.java:4: cannot resolve

symbol

symbol : method printl

(java.lang.String)

location: class java.io.PrintStream

System.out.printl("hi");

^

TestGreet.java:4: Public class

TestGreeting must be defined in a

file called "TestGreeting.java".

M.A. Mónica Malinali Rueda Cruz

Page 30: Introducción a Java SE

Errores en tiempo de ejecución

Can't find class TestGreeting

Exception in thread "main"

java.lang.NoSuchMethodError: main

M.A. Mónica Malinali Rueda Cruz

Page 31: Introducción a Java SE

Ambiente de tiempo de ejecución Java

M.A. Mónica Malinali Rueda Cruz

Page 32: Introducción a Java SE

Ejercicios Tareas básicas de Java

Objetivos:

Resolver errores de compilación y

ejecución en ejemplos ofrecidos por Java

y escribir un simple programa Java

Tareas:

Analizar y corregir errores de compilación

y ejecución

Crear una aplicación Java

M.A. Mónica Malinali Rueda Cruz

Page 33: Introducción a Java SE

Verifique su progreso

Describe aspectos clave de la tecnología Java

Define los términos clase y aplicación

Escribir, compilar, y ejecutar una simple aplicación

Java

Describe la función de la JVM

Describe como trabaja el recolector de basura

Lista tres tareas ejecutadas por Java que maneja

seguridad del código

M.A. Mónica Malinali Rueda Cruz

Page 34: Introducción a Java SE

Pensando mas allá

¿Cómo se beneficia de Java en su ambiente

de trabajo?

M.A. Mónica Malinali Rueda Cruz