JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
-
Upload
yuichi-sakuraba -
Category
Technology
-
view
2.502 -
download
3
description
Transcript of JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
![Page 1: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/1.jpg)
Java in the Box櫻庭 祐一
Oracle OpenWorldJavaOne+Develop Report
Java SE, JavaFX 編
![Page 2: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/2.jpg)
櫻庭 祐一Java in the Box
http://www.javainthebox.[net, com]
98’99’
00’01’
02’03’
04’05’
06’07’
08’09’
![Page 3: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/3.jpg)
![Page 4: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/4.jpg)
Mark Reinhold
![Page 5: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/5.jpg)
RobertoChinnici
GregBollella
![Page 6: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/6.jpg)
18ヶ月2004.9J2SE5.0
2006.12JavaSE6
2008.Q2?JavaSE7
![Page 7: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/7.jpg)
18ヶ月2004.9J2SE5.0
2006.12JavaSE6
2010.Q4?JavaSE7
![Page 8: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/8.jpg)
18ヶ月2004.9J2SE5.0
2006.12JavaSE6
2010.Q4?JavaSE7
![Page 9: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/9.jpg)
789
Productivity
Perfomance
Universality
Modularity
Integration
Serviceability
Productivity
Perfomance
Universality
Modularity
Integration
Serviceability
![Page 10: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/10.jpg)
Project Coin
![Page 11: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/11.jpg)
Project Coin
Joseph Dercy
0b<>String
x...
![Page 12: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/12.jpg)
Project Coin
Joseph Dercy
List<String> list
=new ArrayList<>();
![Page 13: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/13.jpg)
Project Coin
Joseph Dercy
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);
}
![Page 14: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/14.jpg)
Project Lambda
![Page 15: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/15.jpg)
Project Lambda
Brian GoetzBrian Goetz
Java1.0Thread J2SE5.0
JSR166
Executor
JSR166yFork/Join
extJSR166yParallelArray
Project Lambda
![Page 16: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/16.jpg)
Alex Buckley
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();
![Page 17: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/17.jpg)
Alex Buckley
Collection<Student> students = ...
double max =
students.filter(#{ s -> s.gradYear == 2010 })
.map( #{ s -> s.score })
.max();
![Page 18: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/18.jpg)
Alex Buckley
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;
...
}
![Page 19: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/19.jpg)
Alex Buckley
Project Lambda
SAMの記法
メソッド参照
デフォルト実装
![Page 20: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/20.jpg)
Language Futures
![Page 21: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/21.jpg)
Language Futures
void foo(List<Integer> list) {
if (list instanceof List<Integer>) {
....
}
}
List<int> list = new ArrayList<>();
Reification
![Page 22: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/22.jpg)
Language Futures
class Node {
private Node parent;
public getNode() { return parent; }
private Node leftChild;
public getLeftChild() { return leftChild; }
private Node rightChild;
public getRightChild() { return rightChild; }
}
![Page 23: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/23.jpg)
Language Futures
value class Node {
private Node parent;
public getNode() { return parent; }
private Node leftChild;
public getLeftChild() { return leftChild; }
private Node rightChild;
public getRightChild() { return rightChild; }
}
![Page 24: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/24.jpg)
Language Futures
value class Node {
Node property parent;
Node property leftChild;
Node property rightChild;
}
![Page 25: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/25.jpg)
Project JigsawProject Jigsaw
![Page 26: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/26.jpg)
MarkReinhold
-classpath
![Page 27: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/27.jpg)
MarkReinhold
module-info.java
jar
jmod
rpm
deb
mvn
![Page 28: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/28.jpg)
MarkReinhold
![Page 29: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/29.jpg)
MarkReinhold
![Page 30: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/30.jpg)
MarkReinhold
module の導入
Project Jigsaw
rt.jar のモジュール化
![Page 31: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/31.jpg)
7 Project CoinInvokeDynamicFork/Join FrameworkProject JigsawProject Lambda
2012 Mid
![Page 32: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/32.jpg)
7Project CoinInvokeDynamicFork/Join Framework
Project JigsawProject Lambda
82011 Mid
2012 Late
![Page 33: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/33.jpg)
![Page 34: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/34.jpg)
![Page 35: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/35.jpg)
![Page 36: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/36.jpg)
![Page 37: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/37.jpg)
Java SE
JavaFX
![Page 38: JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall](https://reader034.fdocuments.net/reader034/viewer/2022042607/55660495d8b42aa6628b4b96/html5/thumbnails/38.jpg)