Weitere ähnliche Inhalte Ähnlich wie JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall (20) Mehr von Yuichi Sakuraba (20) Kürzlich hochgeladen (20) JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall2. 櫻庭 祐一
Java in the Box
http://www.javainthebox.[net, com]
’98 ’
99 ’
00 ’
01 ’
02 ’
’ 03
04 ’
05 ’
06 ’
07 ’
08 ’
09
9. 7 Productivity
Perfomance
8
Universality
Modularity
9
Integration
Serviceability
13. 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
15. Executor
Java1.0
Thread
J2SE5.0 Project Lambda
JSR166
Project Lambda
extJSR166y
ParallelArray
JSR166y
Fork/Join
Brian Goetz
16. 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
18. 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
21. void foo(List<Integer> list) {
if (list instanceof List<Integer>) {
....
}
}
Reification
List<int> list = new ArrayList<>();
Language Futures
22. 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. 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
24. value class Node {
Node property parent;
Node property leftChild;
Node property rightChild;
}
Language Futures
27. jar
module-info.java
jmod
mvn
rpm
deb
Mark
Reinhold
31. 7 Project Coin
2012 Mid InvokeDynamic
Fork/Join Framework
Project Jigsaw
Project Lambda
32. 7
2011 Mid
Project Jigsaw
Project Lambda
8
Project Coin
InvokeDynamic
Fork/Join Framework
2012 Late