• JVM SustainingEngineer
• OpenJDK Update Project
Maintainer
• JavaOne Rock Star
• Co-author of Oracle WebLogic
Server 11g 構築・運用ガイド
• @DavidBuckJP
• https://blogs.oracle.com/buc
k/
Who am I? バック デイビッド(左)
3.
Agenda
• 350: DynamicCDS Archives
• 351: ZGC: Uncommit Unused Memory
• 353: Reimplement the Legacy Socket API
• 354: Switch Expressions (Preview)
• 355: Text Blocks (Preview)
4.
Agenda
• 350: DynamicCDS Archives
• 351: ZGC: Uncommit Unused Memory
• 353: Reimplement the Legacy Socket API
• 354: Switch Expressions (Preview)
• 355: Text Blocks (Preview)
5.
Agenda
• 350: DynamicCDS Archives
• 351: ZGC: Uncommit Unused Memory
• 353: Reimplement the Legacy Socket API
• 12: Preview Language and VM Features
• 354: Switch Expressions (Preview)
• 355: Text Blocks (Preview)
Class Data Sharingの歴史
• 2004 Class Data Sharing - JDK 5
• 2015 Application Class Data Sharing - JDK 8u40 and JDK 9
(Closed Source)
• 2018 JEP 310: Application Class Data Sharing - JDK 10 (Open
Source)
int numLetters;
switch (day){
case MONDAY:
case FRIDAY:
case SUNDAY:
numLetters = 6;
break;
case TUESDAY:
numLetters = 7;
break;
case THURSDAY:
case SATURDAY:
numLetters = 8;
break;
case WEDNESDAY:
numLetters = 9;
break;
default:
throw new
IllegalStateException("Wa
t: " + day);
}
64.
int numLetters;
switch (day){
case MONDAY:
case FRIDAY:
case SUNDAY:
numLetters = 6;
break;
case TUESDAY:
numLetters = 7;
break;
case THURSDAY:
case SATURDAY:
numLetters = 8;
break;
case WEDNESDAY:
numLetters = 9;
break;
default:
throw new
IllegalStateException("Wa
t: " + day);
}
yield キーワード
int result= switch (s) {
case "Foo":
yield 1;
case "Bar":
yield 2;
default:
System.out.println("Neither Foo nor Bar,
hmmm...");
yield 0;
};