java. Есть ли свет в конце тоннеля

38
JAVA Alexey Diomin, [email protected]

Upload: alexey-demin

Post on 07-Aug-2015

67 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: Java. Есть ли свет в конце тоннеля

JAVA

Alexey Diomin, [email protected]

Page 2: Java. Есть ли свет в конце тоннеля

Optimist vs Pessimist

Page 3: Java. Есть ли свет в конце тоннеля

Agenda

General JIT GC Mix

Page 4: Java. Есть ли свет в конце тоннеля

Death

Page 5: Java. Есть ли свет в конце тоннеля

History

Page 6: Java. Есть ли свет в конце тоннеля

History

GC

Page 7: Java. Есть ли свет в конце тоннеля

History

GC1. G1

Page 8: Java. Есть ли свет в конце тоннеля

History

GC1. G1 InvokeDynamic

Page 9: Java. Есть ли свет в конце тоннеля

History

GC1. G1 InvokeDynamic1. Lambda

Page 10: Java. Есть ли свет в конце тоннеля

History

GC1. G1 InvokeDynamic1. Lambda DefaultMethods

Page 11: Java. Есть ли свет в конце тоннеля

History

GC1. G1 InvokeDynamic1. Lambda DefaultMethods1. Streams

Page 12: Java. Есть ли свет в конце тоннеля

Invisible History

JIT: TieredCompilation

Page 13: Java. Есть ли свет в конце тоннеля

Invisible History

JIT: TieredCompilation GC: CMS concurrent initial mark

Page 14: Java. Есть ли свет в конце тоннеля

Invisible History

JIT: TieredCompilation GC: CMS concurrent initial mark Misc: speedup MethodHandles &

InvokeDynamic

Page 15: Java. Есть ли свет в конце тоннеля

Graal

Page 16: Java. Есть ли свет в конце тоннеля

Maxin

Erlang without OS (2013)

Page 17: Java. Есть ли свет в конце тоннеля

Maxin

Erlang without OS (2013) Java project GuestVM (2008)

Page 18: Java. Есть ли свет в конце тоннеля

Graal

Page 19: Java. Есть ли свет в конце тоннеля

Graal

Page 20: Java. Есть ли свет в конце тоннеля

Graal

Research VM JIT (inlining) Thruffle (R/Ruby/C)

Page 21: Java. Есть ли свет в конце тоннеля

Graal

Research VM JIT (inlining) Thruffle (R/Ruby/C)

JIT magic =) (gpu/cpu/etc)

Page 22: Java. Есть ли свет в конце тоннеля

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. Есть ли свет в конце тоннеля

Valhalla

Page 24: Java. Есть ли свет в конце тоннеля

Valhalla

Value types Generics

Page 25: Java. Есть ли свет в конце тоннеля

Valhalla

Value types Generics

Remove Unsafe usage from atomic package (VarHandle)

Page 26: Java. Есть ли свет в конце тоннеля

Valhalla

Page 27: Java. Есть ли свет в конце тоннеля

Sumatra

Page 28: Java. Есть ли свет в конце тоннеля

Sumatra

GPU computing1. Aparapi (start from OpenCL, now lambda

& HSA)2. Array 2.0

Page 29: Java. Есть ли свет в конце тоннеля

Sumatra

Page 30: Java. Есть ли свет в конце тоннеля

Panama

Page 31: Java. Есть ли свет в конце тоннеля

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. Есть ли свет в конце тоннеля

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. Есть ли свет в конце тоннеля

Shenandoah

Page 34: Java. Есть ли свет в конце тоннеля

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. Есть ли свет в конце тоннеля

Azul ReadyNow!

Page 36: Java. Есть ли свет в конце тоннеля

JDK 9

http://openjdk.java.net/projects/jdk9/

Page 37: Java. Есть ли свет в конце тоннеля

Final

Page 38: Java. Есть ли свет в конце тоннеля

Q&A