JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall

2,803 views

Published on

Japan Java User Group Cross Community Conference 2010 Fall
BOF A-1 JavaOne報告会 Java SE/JavaFX編

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,803
On SlideShare
0
From Embeds
0
Number of Embeds
153
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall

  1. 1. Oracle OpenWorld JavaOne+Develop Report Java SE, JavaFX 編 Java in the Box 櫻庭 祐一
  2. 2. 櫻庭 祐一 Java in the Box http://www.javainthebox.[net, com] ’98 ’ 99 ’ 00 ’ 01 ’ 02 ’ ’ 03 04 ’ 05 ’ 06 ’ 07 ’ 08 ’ 09
  3. 3. Mark Reinhold
  4. 4. Roberto Greg Chinnici Bollella
  5. 5. 18 ヶ月 2004.9 2006.12 2008.Q2? J2SE5.0 JavaSE6 JavaSE7
  6. 6. 18 ヶ月 2004.9 2006.12 2010.Q4? J2SE5.0 JavaSE6 JavaSE7
  7. 7. 18 ヶ月 2004.9 2006.12 2010.Q4? J2SE5.0 JavaSE6 JavaSE7
  8. 8. 7 Productivity Perfomance 8 Universality Modularity 9 Integration Serviceability
  9. 9. Project Coin
  10. 10. Project Coin <> 0b String x... Joseph Dercy
  11. 11. Project Coin List<String> list =new ArrayList<>(); Joseph Dercy
  12. 12. Project Coin try(InputStream in = new FileInputStream(src); OutputStream out = new FileOutputStream(dst)) { byte[] buf = new byte[8192]; int n = 0; while((n = in.read(buf)) >= 0) out.write(buf, 0, n); } Joseph Dercy
  13. 13. Project Lambda
  14. 14. Executor Java1.0 Thread J2SE5.0 Project Lambda JSR166 Project Lambda extJSR166y ParallelArray JSR166y Fork/Join Brian Goetz
  15. 15. Collection<Student> students = ... double max = students.filter(new Predicate<Student>() { public boolean op(Student s) { return s.gradYear == 2010; } }).map(new Extractor<Student, Double>() { public Double extract(Student s) { return s.score; } }).max(); Alex Buckley
  16. 16. Collection<Student> students = ... double max = students.filter(#{ s -> s.gradYear == 2010 }) .map( #{ s -> s.score }) .max(); Alex Buckley
  17. 17. Collection<Student> students = ... double max = students.filter(#{ s -> s.gradYear == 2010 }) .map( #{ s -> s.score }) .max(); interface Collection<T> { Collection<T> filter(Predicate<T> p) default Collections.<T>filter; ... } Alex Buckley
  18. 18. Project Lambda SAM の記法 メソッド参照 デフォルト実装 Alex Buckley
  19. 19. Language Futures
  20. 20. void foo(List<Integer> list) { if (list instanceof List<Integer>) { .... } } Reification List<int> list = new ArrayList<>(); Language Futures
  21. 21. class Node { private Node parent; public getNode() { return parent; } private Node leftChild; public getLeftChild() { return leftChild; } private Node rightChild; public getRightChild() { return rightChild; } } Language Futures
  22. 22. value class Node { private Node parent; public getNode() { return parent; } private Node leftChild; public getLeftChild() { return leftChild; } private Node rightChild; public getRightChild() { return rightChild; } } Language Futures
  23. 23. value class Node { Node property parent; Node property leftChild; Node property rightChild; } Language Futures
  24. 24. Project Jigsaw
  25. 25. -classpath Mark Reinhold
  26. 26. jar module-info.java jmod mvn rpm deb Mark Reinhold
  27. 27. Mark Reinhold
  28. 28. Mark Reinhold
  29. 29. Project Jigsaw module の導入 rt.jar のモジュール化 Mark Reinhold
  30. 30. 7 Project Coin 2012 Mid InvokeDynamic Fork/Join Framework Project Jigsaw Project Lambda
  31. 31. 7 2011 Mid Project Jigsaw Project Lambda 8 Project Coin InvokeDynamic Fork/Join Framework 2012 Late
  32. 32. Java SE JavaFX

×