JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
-
Upload
yuichi-sakuraba -
Category
Technology
-
view
2.500 -
download
3
description
Transcript of JavaOne報告会 Java SE/JavaFX 編 - JJUG CCC 2010 Fall
Java in the Box櫻庭 祐一
Oracle OpenWorldJavaOne+Develop Report
Java SE, JavaFX 編
櫻庭 祐一Java in the Box
http://www.javainthebox.[net, com]
98’99’
00’01’
02’03’
04’05’
06’07’
08’09’
Mark Reinhold
RobertoChinnici
GregBollella
18ヶ月2004.9J2SE5.0
2006.12JavaSE6
2008.Q2?JavaSE7
18ヶ月2004.9J2SE5.0
2006.12JavaSE6
2010.Q4?JavaSE7
18ヶ月2004.9J2SE5.0
2006.12JavaSE6
2010.Q4?JavaSE7
789
Productivity
Perfomance
Universality
Modularity
Integration
Serviceability
Productivity
Perfomance
Universality
Modularity
Integration
Serviceability
Project Coin
Project Coin
Joseph Dercy
0b<>String
x...
Project Coin
Joseph Dercy
List<String> list
=new ArrayList<>();
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);
}
Project Lambda
Project Lambda
Brian GoetzBrian Goetz
Java1.0Thread J2SE5.0
JSR166
Executor
JSR166yFork/Join
extJSR166yParallelArray
Project Lambda
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();
Alex Buckley
Collection<Student> students = ...
double max =
students.filter(#{ s -> s.gradYear == 2010 })
.map( #{ s -> s.score })
.max();
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;
...
}
Alex Buckley
Project Lambda
SAMの記法
メソッド参照
デフォルト実装
Language Futures
Language Futures
void foo(List<Integer> list) {
if (list instanceof List<Integer>) {
....
}
}
List<int> list = new ArrayList<>();
Reification
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; }
}
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; }
}
Language Futures
value class Node {
Node property parent;
Node property leftChild;
Node property rightChild;
}
Project JigsawProject Jigsaw
MarkReinhold
-classpath
MarkReinhold
module-info.java
jar
jmod
rpm
deb
mvn
MarkReinhold
MarkReinhold
MarkReinhold
module の導入
Project Jigsaw
rt.jar のモジュール化
7 Project CoinInvokeDynamicFork/Join FrameworkProject JigsawProject Lambda
2012 Mid
7Project CoinInvokeDynamicFork/Join Framework
Project JigsawProject Lambda
82011 Mid
2012 Late
Java SE
JavaFX