SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Java 1.4 a Java 6
Eduardo Ostertag Jenkins, Ph.D.
OBCOM INGENIERIA S.A. (Chile)
Eduardo.Ostertag@obcom.cl
Breve historia de Java (*)

(*) http://en.wikipedia.org/wiki/Java_version_history
JDK 1.0 (23 de Enero de 1996)




Nombre interno (codename) “Oak”
La primera versión estable fue JDK 1.0.2
que se llamó “Java 1”
JDK 1.1 (19 de Febrero de 1997)








Reorganiza el modelo de eventos de AWT
(Abstract Windowing Toolkit)
Agrega Clases Internas al lenguaje
JavaBeans (componentes reusables)
JDBC (Java Database Connectivity)
RMI (Remote Method Invocation)
Reflección sólo con instrospección (no era
posible hacer modificaciones en ejecución)
J2SE 1.2 (8 de Diciembre de 1998)











Nombre interno (codename) “Playgound”
Renombrado “Java 2”, y el JDK se cambió
a J2SE para distinguirlo de J2EE y J2ME
Agrega “strictfp” (punto flotante estricto)
Agrega Swing (biblioteca gráfica)
Agrega JIT (Just-in-time compilation)
Java Plug-in (conexión con navegadores)
Java IDL para interoperar con CORBA
Agrega “Collections” (List, Queue, Set, …)
J2SE 1.3 (8 de Mayo de 2000)










Nombre interno (codename) “Kestrel”
JVM “HotSpot” (JIT y optimizaciones)
Mejora compatibilidad RMI con CORBA
JavaSound (I/O dispositivos, MIDI)
Agrega JNDI (Java Naming and Directory
Interface)
Agrega JPDA (arquitectura de depuración)
Generación de clases durante la ejecución
(Synthetic Classes / Dynamic Proxies)
J2SE 1.4 (6 de Febrero de 2002)



Nombre interno (codename) “Merlin”
Agrega “assert” al lenguaje
Agrega Expresiones Regulares
Agrega Encadenamiento de Excepciones
Agrega Protocolo Internet v6 (IPv6)
Agrega I/O sin bloqueo (java.nio)
Agrega “Logging” (registro de eventos)



…continua en la próxima diapositiva…








J2SE 1.4 (6 de Febrero de 2002)








…viene de la diapositiva anterior…
Agrega I/O imágenes como JPEG, PNG
Integra parser XML y procesador XSLT
Extensiones a Seguridad y Criptografía
Agrega “Java Web Start” (JNLP)
Agrega Preferencias (java.util.prefs)
J2SE 5.0 (30 de Septiembre de 2004)



Nombre interno (codename) “Tiger”
Agrega “Generics” (List<Empleado>)
Agrega “Annotations” (@Override, …)
Agrega “Boxing/Unboxing” (Integer i = 9;)
Agrega “Enumerations” (enum)
Agrega “for each” (Array, Iterable)
Agrega “Varargs” (parámetros variables)



…continua en la próxima diapositiva…








J2SE 5.0 (30 de Septiembre de 2004)











…viene de la diapositiva anterior…
Mejora modelo de memoria JVM (hebras)
Agrega “import static …”
Generación automática “stub” para RMI
Agrega “synth” (skinnable LAF) a Swing
Agrega “Concurrent” (múltiples hebras)
Agrega “Scanner” (parse streams/buffers)
Último soporte a Windows 9x (95/98/ME)
Java SE 6 (11 de Diciembre de 2006)



Nombre interno (codename) “Mustang”
No soporta Windows 9x (95/98/ME)
Soporta “scripting” + “JavaScript Rhino”
Mejoras importantes en rendimiento
Soporte de Servicios Web
Soporte de JDBC 4.0
Agrega API para invocar compilador Java



…continua en la próxima diapositiva…








Java SE 6 (11 de Diciembre de 2006)









…viene de la diapositiva anterior…
Actualiza JAXB (Java Architecture for XML
Binding) a versión 2.0 + integración con
StAX (Streaming API for XML)
Agrega “Pluggable Annotations”
Muchas mejoras GUI (SwingWorker, orden
y filtro de tablas, doble-buffering, …)
Muchas mejoras en JVM (sincronización,
compilador, GC, velocidad start-up, …)
Java SE 7 (7 de Julio de 2011)






Nombre interno (codename) “Dolphin”
JVM soporta lenguajes dinámicos (PHP,…)
Punteros comprimidos de 64-bits
Cambios pequeños al lenguaje:







Instrucción “switch” ahora permite “String”
Instrucción “try” con “dispose” automático
Mejoran inferencia de tipos genéricos
Simplifican declaración de “Varargs”

…continua en la próxima diapositiva…
Java SE 7 (7 de Julio de 2011)


…viene de la diapositiva anterior…



Cambios pequeños al lenguaje:




Literales de valores enteros binarios (0b1011)
“_” en literales de valores numéricos (1_234)
“catch” de múltiples excepciones



Mejoras a “Concurrency”
Mejoras a I/O (java.nio.file, attribute)
Agrega “Elliptic Curve Cryptography”



…continua en la próxima diapositiva…



Java SE 7 (7 de Julio de 2011)








…viene de la diapositiva anterior…
Agrega XRender a Java 2D (GPUs)
Nuevas APIs para manejo gráfico
Soporte de nuevos protocolos (Stream
Control Transmission Protocol, Sockets
Direct Protocol)
Actualizaciones a XML y Unicode
Avances de Java 1.4 a Java 6
Tipos genéricos (desde Java 5.0)
Java 1.4
List v = new ArrayList();
v.add("test");
String s = (String) v.get(0);

// OK

Integer i = (Integer) v.get(0);

// Error de ejecución

Java 5.0

List<String> v = new ArrayList<String>();
v.add("test");
String s = v.get(0);

// OK

Integer i = v.get(0);

// Error de compilación
Anotaciones (desde Java 5.0)
Java 1.4
/**
* @ejbgen:session type="Stateless" default-transaction="Required"
* @ejbgen:jndi-name remote="cl/obcom/emp/EmpRemote"

*/
public class EmpBean implements SessionBean {…}

Java 5.0
@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public class EmpBean implements EmpRemote {…}
Auto Boxing/Unboxing (desde Java 5.0)
Java 1.4
Integer i = new Integer(9);

// Encajonar “int” en “Integer”

…
int k = i.intValue();

// Desencajonar “int” de “Integer”

Java 5.0

Integer i = 9;

// Auto Boxing (encajonar)

…
int k = i;

// Auto Unboxing (desencajonar)
Enumeraciones (desde Java 5.0)
Java 1.4
public static final int CHILE = 1;

// Definimos “int” CHILE

public static final int PERU = 2;

// Definimos “int” PERU

…

public void metodo(int pais) {…}

// Recibe cualquier “int”

Java 5.0
public enum Pais { CHILE, PERU, … };

// Enumeración “Pais”

…
public void metodo(Pais pais) {…}

// Sólo recibe un “Pais”
Iteración “for each” (desde Java 5.0)
Java 1.4
public void cancelarTareas(Collection tareas)

{
for (Iterator iter = tareas.iterator(); iter.hasNext();)
((Tarea) iter.next()).cancelar();
}
Java 5.0

public void cancelarTareas(Collection<Tarea> tareas)
{
for (Tarea tarea : tareas)
tarea.cancelar();

}
Parámetros variables (desde Java 5.0)
Java 1.4
public void agregar(List lista, String e1, String e2)

{
lista.add(e1);

// Sólo se pueden agregar

lista.add(e2);

// 2 elementos a la lista

}
Java 5.0

public void agregar(List<String> lista, String … elementos)
{
for (String e : elementos)
lista.add(e);

}

// “elementos” es un array
// cuyo largo es variable
Import static (desde Java 5.0)
Java 1.4
import java.lang.Math;

…
System.out.println(“Circunferencia = " + (Math.PI * 5));
System.out.println(“Area = " + (Math.PI * Math.pow(2.5, 2)));

Java 5.0
import static java.lang.Math.PI;
import static java.lang.Math.pow;
…
System.out.println(“Circunferencia = " + (PI * 5));
System.out.println(“Area = " + (PI * pow(2.5, 2)));
Servicios Web (desde Java 6)
Java 6

import javax.jws.*;
…
@WebService(name=“HelloWS",targetNamespace="http://ws.obcom.cl/")
public class ServicioAmigable
{
@WebMethod(operationName="hello")
public String hola(@WebParam(name="name") String nombre)
{
return “¡¡Hola " + nombre + “!!";
}
}
Muchas gracias

Más contenido relacionado

La actualidad más candente

Concurrencia en Java
Concurrencia en JavaConcurrencia en Java
Concurrencia en JavaCristian
 
40 Novedades de JavaSE 9
40 Novedades de JavaSE 940 Novedades de JavaSE 9
40 Novedades de JavaSE 9Alexis Lopez
 
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)Pablo Alvarez Doval
 
Realizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaRealizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaAndres Almiray
 
Instalacion androidstudio win
Instalacion androidstudio winInstalacion androidstudio win
Instalacion androidstudio wincobymotion
 
Manual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en EclipseManual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en EclipseStalin Eduardo Tusa Vitar
 
Eclipse refactoring
Eclipse refactoringEclipse refactoring
Eclipse refactoringsrcid
 
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...Dani Adastra
 
Fundamentos de la Refactorización
Fundamentos de la RefactorizaciónFundamentos de la Refactorización
Fundamentos de la RefactorizaciónJavier Pérez
 
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)Pablo Alvarez Doval
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Telefónica
 
Evolución y avances del Gestor PostgreSQL
Evolución y avances del  Gestor PostgreSQLEvolución y avances del  Gestor PostgreSQL
Evolución y avances del Gestor PostgreSQLAnthony Sotolongo
 
Armitage pruebas
Armitage pruebasArmitage pruebas
Armitage pruebasTensor
 
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...Andrea Guaygua
 

La actualidad más candente (19)

Advanced Action Script 3.0
Advanced Action Script 3.0Advanced Action Script 3.0
Advanced Action Script 3.0
 
Concurrencia en Java
Concurrencia en JavaConcurrencia en Java
Concurrencia en Java
 
40 Novedades de JavaSE 9
40 Novedades de JavaSE 940 Novedades de JavaSE 9
40 Novedades de JavaSE 9
 
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Extendida)
 
Realizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y EficaciaRealizando Pruebas en la JVM con Velocidad y Eficacia
Realizando Pruebas en la JVM con Velocidad y Eficacia
 
Presentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.ARPresentation OWASP Day @ FIUBA.AR
Presentation OWASP Day @ FIUBA.AR
 
Instalacion androidstudio win
Instalacion androidstudio winInstalacion androidstudio win
Instalacion androidstudio win
 
Manual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en EclipseManual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en Eclipse
 
Eclipse refactoring
Eclipse refactoringEclipse refactoring
Eclipse refactoring
 
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
 
Fundamentos de la Refactorización
Fundamentos de la RefactorizaciónFundamentos de la Refactorización
Fundamentos de la Refactorización
 
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
Depuración Avanzada Con Win Dbg Y Vs 2010 (Basica)
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2
 
Tomcat y Jboss
Tomcat y JbossTomcat y Jboss
Tomcat y Jboss
 
Evolución y avances del Gestor PostgreSQL
Evolución y avances del  Gestor PostgreSQLEvolución y avances del  Gestor PostgreSQL
Evolución y avances del Gestor PostgreSQL
 
Armitage pruebas
Armitage pruebasArmitage pruebas
Armitage pruebas
 
Clustersqlserver
ClustersqlserverClustersqlserver
Clustersqlserver
 
Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
 

Similar a Java 1.4 to java 6 (20)

Tema 1 el entorno de desarrollo de java
Tema 1 el entorno de desarrollo de javaTema 1 el entorno de desarrollo de java
Tema 1 el entorno de desarrollo de java
 
Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)Introducción a Java y BEA (2008)
Introducción a Java y BEA (2008)
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
Java world
Java worldJava world
Java world
 
Explicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfExplicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdf
 
Lo nuevo de Java EE6
Lo nuevo de Java EE6Lo nuevo de Java EE6
Lo nuevo de Java EE6
 
Grupo1
Grupo1Grupo1
Grupo1
 
JRuby Al Rescate J2EE
JRuby Al Rescate J2EEJRuby Al Rescate J2EE
JRuby Al Rescate J2EE
 
Monitorizando aplicaciones con AspectJ
Monitorizando aplicaciones con AspectJMonitorizando aplicaciones con AspectJ
Monitorizando aplicaciones con AspectJ
 
19 javascript servidor
19 javascript servidor19 javascript servidor
19 javascript servidor
 
JRuby al Rescate de J2EE
JRuby al Rescate de J2EEJRuby al Rescate de J2EE
JRuby al Rescate de J2EE
 
Java
JavaJava
Java
 
Evolución de java
Evolución de javaEvolución de java
Evolución de java
 
Entornodedesarrollodejava
EntornodedesarrollodejavaEntornodedesarrollodejava
Entornodedesarrollodejava
 
sesion_01-JAVA.pdf
sesion_01-JAVA.pdfsesion_01-JAVA.pdf
sesion_01-JAVA.pdf
 
Java
JavaJava
Java
 
instrumentos de trabajo
instrumentos de trabajoinstrumentos de trabajo
instrumentos de trabajo
 
Que Es Java
Que Es JavaQue Es Java
Que Es Java
 
Semana9 Vbr
Semana9 VbrSemana9 Vbr
Semana9 Vbr
 
historia
historiahistoria
historia
 

Más de Aldo Ulloa Carrasco

Más de Aldo Ulloa Carrasco (19)

Sql wizard - OBCOM Ingenieria
Sql wizard - OBCOM IngenieriaSql wizard - OBCOM Ingenieria
Sql wizard - OBCOM Ingenieria
 
Supchilesupbrazil 131022091735-phpapp01
Supchilesupbrazil 131022091735-phpapp01Supchilesupbrazil 131022091735-phpapp01
Supchilesupbrazil 131022091735-phpapp01
 
Steve Jobs, "Stay Foolish, Stay Hungry", Stanford.-
Steve Jobs, "Stay Foolish, Stay Hungry", Stanford.-Steve Jobs, "Stay Foolish, Stay Hungry", Stanford.-
Steve Jobs, "Stay Foolish, Stay Hungry", Stanford.-
 
Ayrton Senna
Ayrton SennaAyrton Senna
Ayrton Senna
 
Quotes from Sir Ken Robinson
Quotes from Sir Ken RobinsonQuotes from Sir Ken Robinson
Quotes from Sir Ken Robinson
 
Bill Gates , Part 1.-
Bill Gates , Part 1.-Bill Gates , Part 1.-
Bill Gates , Part 1.-
 
Inside Steve Jobs Brain ,
Inside Steve Jobs Brain ,Inside Steve Jobs Brain ,
Inside Steve Jobs Brain ,
 
Introduction AJAX
Introduction AJAXIntroduction AJAX
Introduction AJAX
 
10 Business Lessons
10 Business Lessons10 Business Lessons
10 Business Lessons
 
Ken Robinson, Changing Education Paradigms
Ken Robinson, Changing Education ParadigmsKen Robinson, Changing Education Paradigms
Ken Robinson, Changing Education Paradigms
 
Sir Ken Robinson, The Element
Sir Ken Robinson, The ElementSir Ken Robinson, The Element
Sir Ken Robinson, The Element
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)
 
03 Inspirational quotes
03 Inspirational quotes03 Inspirational quotes
03 Inspirational quotes
 
Education, Finland
Education, Finland Education, Finland
Education, Finland
 
02 Steve jobs
02 Steve jobs02 Steve jobs
02 Steve jobs
 
01 Steve Jobs, Lessons
01 Steve Jobs, Lessons01 Steve Jobs, Lessons
01 Steve Jobs, Lessons
 
01 Sir Ken Robinson, Education
01 Sir Ken Robinson, Education01 Sir Ken Robinson, Education
01 Sir Ken Robinson, Education
 
Indices2011 herramienta para una postulacion informada
Indices2011 herramienta para una postulacion informadaIndices2011 herramienta para una postulacion informada
Indices2011 herramienta para una postulacion informada
 
Buenamigoghostmusic
BuenamigoghostmusicBuenamigoghostmusic
Buenamigoghostmusic
 

Último

PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 

Último (20)

PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 

Java 1.4 to java 6

  • 1. Java 1.4 a Java 6 Eduardo Ostertag Jenkins, Ph.D. OBCOM INGENIERIA S.A. (Chile) Eduardo.Ostertag@obcom.cl
  • 2. Breve historia de Java (*) (*) http://en.wikipedia.org/wiki/Java_version_history
  • 3. JDK 1.0 (23 de Enero de 1996)   Nombre interno (codename) “Oak” La primera versión estable fue JDK 1.0.2 que se llamó “Java 1”
  • 4. JDK 1.1 (19 de Febrero de 1997)       Reorganiza el modelo de eventos de AWT (Abstract Windowing Toolkit) Agrega Clases Internas al lenguaje JavaBeans (componentes reusables) JDBC (Java Database Connectivity) RMI (Remote Method Invocation) Reflección sólo con instrospección (no era posible hacer modificaciones en ejecución)
  • 5. J2SE 1.2 (8 de Diciembre de 1998)         Nombre interno (codename) “Playgound” Renombrado “Java 2”, y el JDK se cambió a J2SE para distinguirlo de J2EE y J2ME Agrega “strictfp” (punto flotante estricto) Agrega Swing (biblioteca gráfica) Agrega JIT (Just-in-time compilation) Java Plug-in (conexión con navegadores) Java IDL para interoperar con CORBA Agrega “Collections” (List, Queue, Set, …)
  • 6. J2SE 1.3 (8 de Mayo de 2000)        Nombre interno (codename) “Kestrel” JVM “HotSpot” (JIT y optimizaciones) Mejora compatibilidad RMI con CORBA JavaSound (I/O dispositivos, MIDI) Agrega JNDI (Java Naming and Directory Interface) Agrega JPDA (arquitectura de depuración) Generación de clases durante la ejecución (Synthetic Classes / Dynamic Proxies)
  • 7. J2SE 1.4 (6 de Febrero de 2002)  Nombre interno (codename) “Merlin” Agrega “assert” al lenguaje Agrega Expresiones Regulares Agrega Encadenamiento de Excepciones Agrega Protocolo Internet v6 (IPv6) Agrega I/O sin bloqueo (java.nio) Agrega “Logging” (registro de eventos)  …continua en la próxima diapositiva…      
  • 8. J2SE 1.4 (6 de Febrero de 2002)       …viene de la diapositiva anterior… Agrega I/O imágenes como JPEG, PNG Integra parser XML y procesador XSLT Extensiones a Seguridad y Criptografía Agrega “Java Web Start” (JNLP) Agrega Preferencias (java.util.prefs)
  • 9. J2SE 5.0 (30 de Septiembre de 2004)  Nombre interno (codename) “Tiger” Agrega “Generics” (List<Empleado>) Agrega “Annotations” (@Override, …) Agrega “Boxing/Unboxing” (Integer i = 9;) Agrega “Enumerations” (enum) Agrega “for each” (Array, Iterable) Agrega “Varargs” (parámetros variables)  …continua en la próxima diapositiva…      
  • 10. J2SE 5.0 (30 de Septiembre de 2004)         …viene de la diapositiva anterior… Mejora modelo de memoria JVM (hebras) Agrega “import static …” Generación automática “stub” para RMI Agrega “synth” (skinnable LAF) a Swing Agrega “Concurrent” (múltiples hebras) Agrega “Scanner” (parse streams/buffers) Último soporte a Windows 9x (95/98/ME)
  • 11. Java SE 6 (11 de Diciembre de 2006)  Nombre interno (codename) “Mustang” No soporta Windows 9x (95/98/ME) Soporta “scripting” + “JavaScript Rhino” Mejoras importantes en rendimiento Soporte de Servicios Web Soporte de JDBC 4.0 Agrega API para invocar compilador Java  …continua en la próxima diapositiva…      
  • 12. Java SE 6 (11 de Diciembre de 2006)      …viene de la diapositiva anterior… Actualiza JAXB (Java Architecture for XML Binding) a versión 2.0 + integración con StAX (Streaming API for XML) Agrega “Pluggable Annotations” Muchas mejoras GUI (SwingWorker, orden y filtro de tablas, doble-buffering, …) Muchas mejoras en JVM (sincronización, compilador, GC, velocidad start-up, …)
  • 13. Java SE 7 (7 de Julio de 2011)     Nombre interno (codename) “Dolphin” JVM soporta lenguajes dinámicos (PHP,…) Punteros comprimidos de 64-bits Cambios pequeños al lenguaje:      Instrucción “switch” ahora permite “String” Instrucción “try” con “dispose” automático Mejoran inferencia de tipos genéricos Simplifican declaración de “Varargs” …continua en la próxima diapositiva…
  • 14. Java SE 7 (7 de Julio de 2011)  …viene de la diapositiva anterior…  Cambios pequeños al lenguaje:    Literales de valores enteros binarios (0b1011) “_” en literales de valores numéricos (1_234) “catch” de múltiples excepciones  Mejoras a “Concurrency” Mejoras a I/O (java.nio.file, attribute) Agrega “Elliptic Curve Cryptography”  …continua en la próxima diapositiva…  
  • 15. Java SE 7 (7 de Julio de 2011)      …viene de la diapositiva anterior… Agrega XRender a Java 2D (GPUs) Nuevas APIs para manejo gráfico Soporte de nuevos protocolos (Stream Control Transmission Protocol, Sockets Direct Protocol) Actualizaciones a XML y Unicode
  • 16. Avances de Java 1.4 a Java 6
  • 17. Tipos genéricos (desde Java 5.0) Java 1.4 List v = new ArrayList(); v.add("test"); String s = (String) v.get(0); // OK Integer i = (Integer) v.get(0); // Error de ejecución Java 5.0 List<String> v = new ArrayList<String>(); v.add("test"); String s = v.get(0); // OK Integer i = v.get(0); // Error de compilación
  • 18. Anotaciones (desde Java 5.0) Java 1.4 /** * @ejbgen:session type="Stateless" default-transaction="Required" * @ejbgen:jndi-name remote="cl/obcom/emp/EmpRemote" */ public class EmpBean implements SessionBean {…} Java 5.0 @Stateless @TransactionAttribute(TransactionAttributeType.REQUIRED) public class EmpBean implements EmpRemote {…}
  • 19. Auto Boxing/Unboxing (desde Java 5.0) Java 1.4 Integer i = new Integer(9); // Encajonar “int” en “Integer” … int k = i.intValue(); // Desencajonar “int” de “Integer” Java 5.0 Integer i = 9; // Auto Boxing (encajonar) … int k = i; // Auto Unboxing (desencajonar)
  • 20. Enumeraciones (desde Java 5.0) Java 1.4 public static final int CHILE = 1; // Definimos “int” CHILE public static final int PERU = 2; // Definimos “int” PERU … public void metodo(int pais) {…} // Recibe cualquier “int” Java 5.0 public enum Pais { CHILE, PERU, … }; // Enumeración “Pais” … public void metodo(Pais pais) {…} // Sólo recibe un “Pais”
  • 21. Iteración “for each” (desde Java 5.0) Java 1.4 public void cancelarTareas(Collection tareas) { for (Iterator iter = tareas.iterator(); iter.hasNext();) ((Tarea) iter.next()).cancelar(); } Java 5.0 public void cancelarTareas(Collection<Tarea> tareas) { for (Tarea tarea : tareas) tarea.cancelar(); }
  • 22. Parámetros variables (desde Java 5.0) Java 1.4 public void agregar(List lista, String e1, String e2) { lista.add(e1); // Sólo se pueden agregar lista.add(e2); // 2 elementos a la lista } Java 5.0 public void agregar(List<String> lista, String … elementos) { for (String e : elementos) lista.add(e); } // “elementos” es un array // cuyo largo es variable
  • 23. Import static (desde Java 5.0) Java 1.4 import java.lang.Math; … System.out.println(“Circunferencia = " + (Math.PI * 5)); System.out.println(“Area = " + (Math.PI * Math.pow(2.5, 2))); Java 5.0 import static java.lang.Math.PI; import static java.lang.Math.pow; … System.out.println(“Circunferencia = " + (PI * 5)); System.out.println(“Area = " + (PI * pow(2.5, 2)));
  • 24. Servicios Web (desde Java 6) Java 6 import javax.jws.*; … @WebService(name=“HelloWS",targetNamespace="http://ws.obcom.cl/") public class ServicioAmigable { @WebMethod(operationName="hello") public String hola(@WebParam(name="name") String nombre) { return “¡¡Hola " + nombre + “!!"; } }