If you can't read please download the document
Upload
victor-orozco
View
843
Download
3
Embed Size (px)
DESCRIPTION
Presentación utilizada en mi participación para el primer #JavaDayGt
Citation preview
2. Licencia
3. doEvolution(Java. . . versiones) 4. Java 5. OpenJDK
6. GPL 7. Comunidad OpenJDK -> JDK 7 8. Base para JSR 9. OpenJDK la plataforma para saltarse JCP y luego entrar a JCP 10. Un largo camino
11. Implementar el compilador 12. Desarrollar nuevas bibliotecas 13. Pruebas 14. Actualizar especificaciones JVM 15. Planear la siguiente evolucin 16. Actualizar las herramientas de la JVM
17. Actualizar java reflect API 18. Actualizar serializacion 19. Verificar compatibilidad 20. Cambios en JDK 7
21. Lamda, Modularity (8) 22. DaVinci->Invokedynamic (hi jython you're wellcome!) 23. NIO 2, Fork/Join(JSR-166y) 24. Otros (JSR-336) 25. Coin 26. Coin
Coordinacin con lamda y modularity (8) 27. La necesidad de evolucin
28. El codigo debe ser agradable a lalectura 29. El lenguaje no debe esconder lo que esta pasando 30. El codigo debe ejecutar lo que aparenta ejecutar 31. La simplicidad importa Evolving the Java Language - JavaOne 2005 32.
33.
34. Sin embargo no hay motivo para que no funcione con Strings, son un tipo especial de objetos incomutables 35.
if(fooString.equalsIgnoreCase("hola")){ System.out.println("hola amigos"); }else if(fooString.equalsIgnoreCase("guatejug")){ System.out.println("guatejug"); }.... }else{ System.out.println("d(_)"); } 36.
switch (fooString) { case "hola": System.out.println("hola amigos"); break; case "guatejug": System.out.println("guatejug"); break; default: System.out.println("d(_)"); break; } 37.
Sin Generics
38.
Sin Generics
Generics hoy List strList = new ArrayList (); 39.
Sin Generics
Generics hoy List strList = new ArrayList (); Generics hoy List < Map >strList =
40. Generics HOY (diamond)
41. BufferedReader br; try{ br = new BufferedReader( new FileReader("./prueba.txt")); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); } catch (final IOException e) { System.out.println(e.toString()); } finally{ }
42. BufferedReader br; try{ br = new BufferedReader( new FileReader("./prueba.txt")); String line; while ((line = br.readLine()) != null) { System.out.println(line);//Puede fallar aca } br.close(); //Y ya no llegar aca System.out.println(":("); } catch (final IOException e) { System.out.println(e.toString()); } finally{ }
43. try (final BufferedReader br = new BufferedReader(new FileReader("./prueba.txt"))){ String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (final IOException e) { System.out.println(e.toString()); }
44. try { if (a == 0) { throw new ExcepcionA(); } if (a > 0) { throw new ExcepcionB(); } } catch (ExcepcionA ex) { System.out.println(ex.getClass() + " fue lanzada"); } catch (ExcepcionB ex) { System.out.println(ex.getClass() + " fue lanzada"); }
45. try { if (a == 0) { throw new ExcepcionA(); } if (a > 0) { throw new ExcepcionB(); } } catch ( ExcepcionA|ExcepcionB ex ) { System.out.println(ex.getClass() +" fue lanzada"); }
46. Ms
47. Mejores advertencias al utilizar vararg (String. . . foo) 48. Mejores backtraces 49. DaVinci->Invokedynamic 50. JVM una obra de ingeniera JVM proporciona
52. Seguridad 53. Bibliotecas estandar 54. Entorno de ejecucin premium (rapido y furioso) 55. Sesiones de debug 56. La magia del bytecode
57. Alguien dijo .net? 58.
59.
60. Cuatro formas de invocar codigo
61. http://openjdk.java.net/projects/mlvm/ 62. JSR-292 63. JSR 223: Scripting for the Java Platform JDK 6 64.
65. La llamada InvokeDynamic genera un administrador del metodo 66. Fase 0 Bootstrap, se genera la referencia al metodo de manera dinmica (primera invocacin) 67. Las siguientes llamadas utilizaran esta referencia
68.
69. Bibliotecas 70.
71. Interaccin con las API's de transparencia 72. JLayer 73. Nuevas mejoras en rendimiento para renderizado 2D (Swing) 74.
75. Java SE 6u10, ahora Swing 76.
77. NIO2-JSR 203 La reinvencin de las bibliotecas I/O
79. rename()funciona parcialmente 80. Los desarrolladores necesitan acceso a ms datos sin utilizar JNI NIO2 al rescate 81. NIO2 :)
Mejor soporte a directorios
Soporte de symlinks (hell yeah! ) 82. java.nio.file.Filesystem
java.nio.file.attribute
83.
84. Nuevos metodos paraPath 85. Unicamente se puede crear porPath y FileSystem
86.
87. Mejor conocido como en framework fork/join 88. Apis extra para el control de concurrencia 89.
90. Solo se puede tomar ventaja si la operacion puede dividirse en varias partes
91.
92.
http://www.guate-jug.org http://tuxtor.shekalug.org [email_address] http://www.slideshare.com/tuxtor http://tuxtor.shekalug.org/talks