java. Есть ли свет в конце тоннеля
TRANSCRIPT
![Page 2: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/2.jpg)
Optimist vs Pessimist
![Page 3: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/3.jpg)
Agenda
General JIT GC Mix
![Page 4: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/4.jpg)
Death
![Page 5: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/5.jpg)
History
![Page 6: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/6.jpg)
History
GC
![Page 7: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/7.jpg)
History
GC1. G1
![Page 8: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/8.jpg)
History
GC1. G1 InvokeDynamic
![Page 9: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/9.jpg)
History
GC1. G1 InvokeDynamic1. Lambda
![Page 10: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/10.jpg)
History
GC1. G1 InvokeDynamic1. Lambda DefaultMethods
![Page 11: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/11.jpg)
History
GC1. G1 InvokeDynamic1. Lambda DefaultMethods1. Streams
![Page 12: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/12.jpg)
Invisible History
JIT: TieredCompilation
![Page 13: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/13.jpg)
Invisible History
JIT: TieredCompilation GC: CMS concurrent initial mark
![Page 14: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/14.jpg)
Invisible History
JIT: TieredCompilation GC: CMS concurrent initial mark Misc: speedup MethodHandles &
InvokeDynamic
![Page 15: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/15.jpg)
Graal
![Page 16: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/16.jpg)
Maxin
Erlang without OS (2013)
![Page 17: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/17.jpg)
Maxin
Erlang without OS (2013) Java project GuestVM (2008)
![Page 18: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/18.jpg)
Graal
![Page 19: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/19.jpg)
Graal
![Page 20: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/20.jpg)
Graal
Research VM JIT (inlining) Thruffle (R/Ruby/C)
![Page 21: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/21.jpg)
Graal
Research VM JIT (inlining) Thruffle (R/Ruby/C)
JIT magic =) (gpu/cpu/etc)
![Page 22: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/22.jpg)
Graal
Research VM JIT (inlining) Thruffle (R/Ruby/C)
JIT magic =) (gpu/cpu/etc)
status: JEP 243: Java-Level JVM Compiler Interface
![Page 23: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/23.jpg)
Valhalla
![Page 24: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/24.jpg)
Valhalla
Value types Generics
![Page 25: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/25.jpg)
Valhalla
Value types Generics
Remove Unsafe usage from atomic package (VarHandle)
![Page 26: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/26.jpg)
Valhalla
![Page 27: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/27.jpg)
Sumatra
![Page 28: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/28.jpg)
Sumatra
GPU computing1. Aparapi (start from OpenCL, now lambda
& HSA)2. Array 2.0
![Page 29: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/29.jpg)
Sumatra
![Page 30: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/30.jpg)
Panama
![Page 31: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/31.jpg)
Panama
We are improving and enriching the connections between the Java virtual machine and well-defined but “foreign” (non-Java) APIs, including many interfaces commonly used by C programmers.
![Page 32: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/32.jpg)
Panama
We are improving and enriching the connections between the Java virtual machine and well-defined but “foreign” (non-Java) APIs, including many interfaces commonly used by C programmers.
JEP 191: Foreign Function Interface. JDK 10 =(
https://github.com/jnr/jnr-ffi
![Page 33: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/33.jpg)
Shenandoah
![Page 34: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/34.jpg)
Shenandoah
Ultra-low pause-time GC (100G+ less 10ms)
Concurrent evacuations
JEP 189: Shenandoah: An Ultra-Low-Pause-Time Garbage Collector
Sponsor RedHat
![Page 35: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/35.jpg)
Azul ReadyNow!
![Page 36: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/36.jpg)
JDK 9
http://openjdk.java.net/projects/jdk9/
![Page 37: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/37.jpg)
Final
![Page 38: Java. Есть ли свет в конце тоннеля](https://reader030.vdocuments.mx/reader030/viewer/2022032505/55c4c20fbb61eb191e8b4816/html5/thumbnails/38.jpg)
Q&A