The Ghosts of Java Past, Present and Yet To Come
-
Upload
steve-elliott -
Category
Software
-
view
477 -
download
0
Transcript of The Ghosts of Java Past, Present and Yet To Come
![Page 1: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/1.jpg)
The$Ghosts$of$Java$Past,$Present$and$Yet$To$Come$Steve$Ellio9$Oracle$UK$8th$December$2015$
![Page 2: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/2.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.
![Page 3: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/3.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 3$
“It$held$a$branch$of$fresh$green$holly$in$its$hand… $$But$the$strangest$thing$about$it$was,$that$from$the$crown$of$its$head$there$sprung$a$bright$clear$jet$of$light,$by$which$all$this$was$visible;$and$which$was$doubtless$the$occasion$of$its$using,$in$its$duller$moments,$a$great$ex?nguisher$for$a$cap,$which$it$now$held$under$its$arm.”$
![Page 4: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/4.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 4$
h9p://www.newyorker.com/magazine/2015/03/30/thinkingTsideways$
![Page 5: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/5.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 6: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/6.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 6$
![Page 7: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/7.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 7$
![Page 8: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/8.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 8$
• Dynamically$Threaded,$1T8$threads$/$core$• Concurrent$Memory$MigraYon,$VA$Masking$• Dual$Issue$OOO$execuYon$unit$• 64$Mb$L3$• 256K$L2$per$core$cluster$• Crypto$acceleraYon$• …$
![Page 9: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/9.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
(some)$Influences$on$Java$$$$$(née$GreenTalk/Oak)$
Fortran
LISP
Clojure
Pascal (p-code)
Perl
C
PL/M Smalltalk
Java
occam
BASIC
Ruby
Scala
Coral
Algol
Ada
BCPL
Forth
Simula Modula
C++ Scheme
Objective C
Erlang
Haskell Python
http://en.wikipedia.org/wiki/Timeline_of_programming_languages http://hopl.murdoch.edu.au/
VB
PHP
Groovy
LiveScript/JavaScript
Dart
Go
Mesa Cedar
B
Self (Hotspot)
Kotlin
Ceylon
Fantom
TypeScript
Swift
57#58#59#60#61#62#63#64#65#66#67#68#69#70#71#72#73#74#75#76#77#78#79#80#81#82#83#84#85#86#87#88#89#90#91#92#93#94#95#96#97#98#99#00#01#02#03#04#05#06#07#08#09#10#11#12#13#14#15#
![Page 10: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/10.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 10$
![Page 11: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/11.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 11$
#(née#GreenTalk/Oak)#(some)$Influences$on$Java$
![Page 12: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/12.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 12$
Ole-Johan Dahl Kristen Nygaard
Fortran
LISP
Simula
C
![Page 13: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/13.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
The$Ghost$in$the$(Java$Virtual)$Machine$
![Page 14: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/14.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
(some)$JVMs$&$GC$Collectors$
• Oracle$– HotSpot $ $Serial[Old],$Parallel[Old],CMS$ $RTGC,$G1$
$ $ $ $ $ $ $ $Shenendoah$(OpenJDK$JEP$189)$– JRockit $ $MSC$gen/par/com $ $ $JRockit$Real$Time$
• IBM$– J9 $ $ $thruput,$avgpause,$gencon $ $Balanced,$Metronome$
• Azul$– Zing $ $ $ $ $ $ $C4$(née$GPGC)$$
• Jikes$(IBM),$Maxine$(Sun),$Squawk$(Sun,$JavaMETSunSpots),$Monty,$KVM…$$ hBps://en.wikipedia.org/wiki/List_of_Java_virtual_machines$
![Page 15: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/15.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
Hotspot$Collectors$
TXX:+UseSerialGC$TXX:+UseParallelGC$TXX:+UseParallelOldGC$TXX:+UseConcMarkSweepGC$TXX:+UseParNewGC$TXX:+UseG1GC$$$
![Page 16: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/16.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
markTsweep$garbage$collecYon$$[McCarthy,$1960]$
OTcode$(BCPL,$$Richards)$$ PTcode$
h9p://www.strongtalk.org/history.html$
“Most$objects$die$young”$$$$$$$$$$$$$$$$$$$$$$$$$David$Ungar$K$1984$
![Page 17: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/17.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 17$
![Page 18: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/18.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
A$brief$history$of$(some)$Java$Virtual$Machines…$• VM$for$Oak$(1992$–$Gosling)$
• Sun$JDK$:$Alpha/Beta$(1995),$1.0$(1996)$• JIT$added$in$1.1$(1997)$Cliff$Click$(later$worked$on$C2$server$Compiler)$
• Sun$acquires$Animorphic$(1997)$David$Ungar,$Lars$Bak,$Urs$Hölzle…$(Self)$+$David$Griswold,$Gilad$Bracha…$(Strongtalk)$$
• HotSpot$released$(1999)$add$on$for$1.2,$default$in$1.3$
• CMS$Printezis/Detlefs$(2000)$
• G1$Printezis/Flood/Heller$(2004)$
• RTGC$/$Java$RTS$(2009)$[not$acYve]$
• Appeal$Virtual$Machines$–$Stockholm$(1998)$$$$$Marcus$Hirt,$Marcus$Lagergren…$
• Acquired$by$BEA$(2002)$• BEA$Acquired$by$Oracle$(2008)$• Dynamic$GC$• DeterminisYc$GC$(~2005)$–$JRRT$Eva$Andreasson$
• JRockit$Mission$Control$(~2007)$
![Page 19: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/19.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
A$brief$history$of$Java$Virtual$Machines$(contd)$
• Azul$(2002)$Sellers/Tene/Pillalamarri$
• Stephen$DeWi9$+$ex$Sun$(2004)$
• Vega$(2004)$• Zing$5$(2010)$soxware$only$
C4$Collector$
$
• IBM$Hursley$T$Java$Technology$Center$(1996)$• J9$T$IBM$O9owa$Labs$(OTI)$1.4$(2003)$$$$$$$$IBM$Toronto$Labs$
• Metronome$RT$collector$(2003)$• Balanced$Collector$(2011)$
![Page 20: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/20.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 21: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/21.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 22: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/22.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 22$
![Page 23: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/23.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
HotSpot$/$G1$• Permgen$removal$• Density$• JIT$Compilers$(C1/C2$Tiered$CompilaYon)$• GC$improvements$/$G1$/$RaYonalisaYon$• Ergonomics$• InstrumentaYon$/$Tuning$/$Performance$$• Cloud$–$MulYTTenancy.$IsolaYon$/$Resource$Management.$• AOT$CompilaYon$(h9ps://www.youtube.com/watch?v=Xybzyv8qbOc$)$• DeterminisYc$GC$/$Low$Latency$
$
![Page 24: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/24.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 24$
Concurrency$/$Threads$/$Java$Memory$Model$
![Page 25: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/25.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 25$
![Page 26: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/26.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014
1.4 5.0 6 7 8 java.lang.Thread
java.util.concurrent (jsr166)
Fork/Join Framework (jsr166y)
Project Lambda Concurrency$in$Java$
Phasers,#etc#(jsr166)#
![Page 27: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/27.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
Guy$Steele$JVM$Language$Summit$2013$
![Page 28: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/28.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
h9p://shipilev.net/talks/narniaT2555TjmmTpragmaYcsTen.pdf$$h9ps://www.youtube.com/watch?v=TxqsKzxyySo$$(VJUG)$
![Page 29: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/29.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 29$
h9p://www.cs.umd.edu/~pugh/java/memoryModel$$
![Page 30: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/30.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 30$
![Page 31: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/31.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 31$
![Page 32: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/32.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 32$
![Page 33: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/33.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 33$
h9p://www.infoq.com/arYcles/TheTOpenJDK9TRevisedTJavaTMemoryTModel$
![Page 34: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/34.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 34$
JVM$Language$Summit$2015$VarHandles$(nee$enhanced$volaYles)$$(Paul$Sandoz$video$from$August$11th$2015)$h9ps://www.youtube.com/watch?v=ycKn18LtNtk$
![Page 35: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/35.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
Security$
![Page 36: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/36.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 37: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/37.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 37$
![Page 38: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/38.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
Java$Security$
• Java$Language$Security$and$Bytecode$VerificaYon$• Security$APIs$and$Libraries$
– Cryptography:$JCA/JCE$– PublicTKey$Infrastructure$(PKI):$CerYficates,$CertPaths$– AuthenYcaYon:$JAAS,$Kerberos$– Secure$CommunicaYon:$JSSE$(SSL/TLS),$GSSTAPI,$SASL$– Access$Control:$Security$Manager,$Policy,$JAAS$– XML$Signature$
• Tools:$jarsigner,$keytool$
![Page 39: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/39.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 40: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/40.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 41: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/41.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 42: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/42.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 43: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/43.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
JDK$9$Security$Features$h@p://openjdk.java.net/jeps/0#
• JEP$219:$Datagram$Transport$Layer$Security$(DTLS)$
• JEP$229:$Create$PKCS12$Keystores$by$Default$
• JEP$232:$Improve$Secure$ApplicaYon$Performance$
• JEP$244:$TLS$ApplicaYonTLayer$Protocol$NegoYaYon$Extension$
• JEP$246:$Leverage$CPU$InstrucYons$for$GHASH$and$RSA$
• JEP$249:$OCSP$Stapling$for$TLS$• JEP$273:$DRBGTBased$SecureRandom$ImplementaYons$
43$
![Page 44: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/44.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 44$
Distributed$Java$
c$$1994$(via$James$Gosling’s$old$blog)$
![Page 45: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/45.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 45$
Web#Services#SOAP#
REST#
RMIPIIOP#IIOP#
(2001)$
(1991)$
(1991)$
(1996)$
(2000$T$h9p1.1$1996T1999)$
(1998)$
(2014)$
RMI#(1996)$
DCOM#(1996)$
WebSockets$(2011)$
SSL#/#TLS#(1995)$$$$$$(1999)$
MQQT/COAP#XMPP#etc#
![Page 46: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/46.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 47: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/47.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 48: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/48.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 49: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/49.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
Roadmap$Update$Updated$version$post$talk$on$8th$Dec.$$h9p://mail.openjdk.java.net/pipermail/jdk9Tdev/2015TDecember/003237.html$
49$
h9p://openjdk.java.net/projects/jdk9$h9ps://wiki.openjdk.java.net/display/AdopYon/JDK+9+Outreach$$
![Page 50: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/50.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 50$
Move$out$6$months$
23rd#March#2016#
![Page 51: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/51.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 51$
Move$out$6$months$
![Page 52: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/52.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
Java$End$of$Public$Updates$(EoPU)$
• Public$Java$updates$are$available$unYl$all$three$of$these$condiYons$occur$$– Three$years$axer$general$availability$– One$year$axer$being$superseded$by$a$new$major$release$– Six$months$axer$the$new$major$release$is$made$the$default$on$java.com$$
![Page 53: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/53.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
• Project#Valhalla $ $h9p://openjdk.java.net/projects/valhalla$• Value$Types$–$aggregates$without$idenYty$h9p://cr.openjdk.java.net/~jrose/values/valuesT0.html$
• SpecializaYon$–$templated$types$on$demand$h9p://cr.openjdk.java.net/~briangoetz/valhalla/specializaYon.html$
• JMM$Update$–$VarHandles$
• Project#Panama $ $h9p://openjdk.java.net/projects/panama$• Arrays$2.0$–$flexible$array$implementaYon$and$organizaYon$• Layouts$–$flexible$object$layout$• FFI$(JEP$191)$–$be9er$naYve$code$interop$
Post$Java$9$
h9p://mail.openjdk.java.net/pipermail/valhallaTdev$h9p://mail.openjdk.java.net/pipermail/panamaTdev$
![Page 54: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/54.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
John$Rose$@$JVM$language$summit$July$2014$h9p://www.oracle.com/technetwork/java/javase/community/jlssessionsT2255337.html$
54$
![Page 55: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/55.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 56: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/56.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
![Page 57: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/57.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 57$
![Page 58: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/58.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$ 58$
![Page 59: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/59.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
Acknowledgments$&$Links$(1/2)$• Wikipedia$
– h9ps://en.wikipedia.org/wiki/File:Charles_DickensTA_Christmas_CarolTTitle_pageTFirst_ediYon_1843.jpg$– h9ps://en.wikipedia.org/wiki/File:The_Last_of_the_SpiritsTJohn_Leech,_1843.jpg$– h9ps://en.wikipedia.org/wiki/File:TI_microSPARC_I_die.jpg$– h9ps://en.wikipedia.org/wiki/File:Intel_PenYum_P54C_die.jpg$
• JVM$Language$Summit$– h9p://openjdk.java.net/projects/mlvm/jvmlangsummit$$
![Page 60: The Ghosts of Java Past, Present and Yet To Come](https://reader036.fdocuments.us/reader036/viewer/2022062412/587a2df21a28abbd388b6a1b/html5/thumbnails/60.jpg)
Copyright$©$2015,$Oracle$and/or$its$affiliates.$All$rights$reserved.$$|$
Acknowledgments$&$Links$(2/2)$• Others$
– Oracle$M7$PresentaYon$from$HotChips$2014$/$Stephen$Philips$– Language$Based$Virtual$Machines$/$Lars$Bak$h9p://aosd.net/2012/images/stories/bak.pdf$– Aleksey$Shipilev$h9p://shipilev.net/blog/2014/jmmTpragmaYcs$– Oracle$Java$DocumentaYon$h9ps://docs.oracle.com/javase/specs/jls/se8/html/jlsT17.html$– ACM$Queue$h9ps://queue.acm.org/detail.cfm?id=2034639$– The$Eight$Fallacies$of$Distributed$CompuYng$/$James$Gosling$(old)$home$page$– Roadmaps$(OpenWorld$2015)$/$Aurelio$GarciaTRibeyro$h9ps://publishedTrs.lanyonevents.com/published/oracleus2015/sessionsFiles/1467/CON9682_GarciaTRibeyroTCON9682TOOW2015TJavaSEAdvanced.pdf$– ThreatTModeling$the$JVM$[CON2031]$(JavaOne$2015)$/$Erik$Costlow$– Duke$images$h9ps://duke.kenai.com$Merry$Christmas$h9ps://duke.kenai.com/animaYons/DukeTuxChristmas.gif$
$