Successfully reported this slideshow.
Your SlideShare is downloading. ×

JVM Iceberg... we need to go deeper

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 130 Ad

JVM Iceberg... we need to go deeper

Download to read offline

Pewnie każdy słyszał o Valhalli czy Loomie, ale:
* czy mówią Wam coś Project Leyden, CRaC, Liliput czy Lanai?
* wiecie, że Java ma standard API dla uczenia maszynowego?
* jesteście w stanie się połapać, o co chodzi z takimi projektami jak Jakarta EE, MicroProfile czy Adoptium?
* wykorzystujecie możliwości, jakie daje uruchomienie pełnego JVM-a na GraalVM za pomocą Truffle?

O tym wszystkim opowiem w formacie “iceberg”, w którym zacznę od ogólnie znanych faktów, a później popłyniemy już tylko głębiej i głębiej...
Obiecuje zerowy poziom wiedzy, którą wykorzystacie następnego dnia w projekcie, ale maksimum zabawy z odkrywania tego, co wydarzyło się w Javie w ciągu roku z kawałkiem.

Pewnie każdy słyszał o Valhalli czy Loomie, ale:
* czy mówią Wam coś Project Leyden, CRaC, Liliput czy Lanai?
* wiecie, że Java ma standard API dla uczenia maszynowego?
* jesteście w stanie się połapać, o co chodzi z takimi projektami jak Jakarta EE, MicroProfile czy Adoptium?
* wykorzystujecie możliwości, jakie daje uruchomienie pełnego JVM-a na GraalVM za pomocą Truffle?

O tym wszystkim opowiem w formacie “iceberg”, w którym zacznę od ogólnie znanych faktów, a później popłyniemy już tylko głębiej i głębiej...
Obiecuje zerowy poziom wiedzy, którą wykorzystacie następnego dnia w projekcie, ale maksimum zabawy z odkrywania tego, co wydarzyło się w Javie w ciągu roku z kawałkiem.

Advertisement
Advertisement

More Related Content

More from Artur Skowroński (14)

Recently uploaded (20)

Advertisement

JVM Iceberg... we need to go deeper

  1. 1. Artur Skowroński JVM Iceberg We need to go deeper
  2. 2. Spring Spring Boot Micronaut RXJava Project Panama Project Amber Project Loom Project Valhalla Jakarta EE Micropro fi le Microsoft ❤ Java Quarkus Helidon JSR381 Visual Recognition API Project Lanai GraalVM espresso Project Layden Project CRaC Project Liliput
  3. 3. 19
  4. 4. 19
  5. 5. 129 Slajdów / 45 minut 20 Tematów
  6. 6. Spring Spring Boot Micronaut RXJava
  7. 7. Spring Spring Boot Micronaut RXJava Project Panama Project Amber Project Loom
  8. 8. Project Amber Celem Projektu Amber jest zbadanie i inkubacja mniejszych, zorientowanych na produktywność funkcji języka Java.
  9. 9. Project Amber 286: Local-Variable Type Inference (var) 395: Records 378: Text Blocks 361: Switch Expressions 427: Pattern Matching for switch (Third Preview)
  10. 10. Project Amber
  11. 11. Project Amber public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } } void main() { println("Hello World"); }
  12. 12. Project Loom Celem Project Loom jest stworzenie wysokowydajnego, lekkiego modelu współbieżności w Javie.
  13. 13. Project Loom NASZA APLIKACJA JVM System Operacyjny Wątki Systemu Operacyjnego JVM Thread = OS Thread Scheduler
  14. 14. Wątki Systemu Operacyjnego Scheduler Project Loom NASZA APLIKACJA JVM System Operacyjny JVM Thread = OS Thread Scheduler
  15. 15. Project Loom
  16. 16. Project Loom Virtual Threads Structure Concurrency Scope Locals
  17. 17. Project Panama Celem Project Panama jest upraszczenie procesu łączenia programów w Java z komponentami nie-Javowymi
  18. 18. Project Panama NASZA APLIKACJA JVM System Operacyjny Pamięć Zarządzana Pamięć
  19. 19. Project Panama NASZA APLIKACJA JVM System Operacyjny Pamięć Zarządzana Pamięć
  20. 20. Project Panama NASZA APLIKACJA JVM System Operacyjny Pamięć Zarządzana Pamięć
  21. 21. Project Panama NASZA APLIKACJA JVM System Operacyjny Pamięć Zarządzana Pamięć
  22. 22. Project Panama NASZA APLIKACJA JVM System Operacyjny Zewnętrzne programy
  23. 23. Spring Spring Boot Micronaut RXJava Project Panama Project Amber Project Loom Project Valhalla Jakarta EE GraalVM
  24. 24. Project Valhalla
  25. 25. Project Valhalla JVM
  26. 26. Project Valhalla JVM Stos Sterta
  27. 27. Project Valhalla JVM Stos Sterta Chars Integers Floats Objects
  28. 28. Project Valhalla JVM Stos Sterta Chars Integers Floats Objects References
  29. 29. Project Valhalla JVM Stos Sterta Chars Integers Floats Objects References NASZA APLIKACJA
  30. 30. Project Valhalla JVM Stos Sterta Chars Integers Floats Objects References NASZA APLIKACJA
  31. 31. Project Valhalla JVM Stos Sterta Chars Integers Floats Objects References NASZA APLIKACJA
  32. 32. Project Valhalla JVM Stos Sterta Chars Integers Floats Objects References NASZA APLIKACJA Value Types
  33. 33. Project Valhalla JVM Stos Sterta Chars Integers Floats Objects References NASZA APLIKACJA Value Types = Agregaty Danych
  34. 34. Project Valhalla
  35. 35. GraalVM
  36. 36. GraalVM
  37. 37. GraalVM Kubernetes
  38. 38. Project CRaC JVM Byte Code Interpreter Just-in-Time Compiler Compiled Code 🚀 GraalVM
  39. 39. Project CRaC GraalVM SubstratVM Just-in-Time Compiler Java GraalVM
  40. 40. GraalVM SubstratVM GraalVM Just-in-Time Compiler Java Just-in-Time Compiler Python Just-in-Time Compiler Ruby GraalVM
  41. 41. GraalVM SubstratVM GraalVM Just-in-Time Compiler Java Just-in-Time Compiler Python Just-in-Time Compiler Ruby GraalVM
  42. 42. GraalVM System Operacyjny JVM NASZA APLIKACJA
  43. 43. GraalVM
  44. 44. GraalVM
  45. 45. GraalVM System Operacyjny JVM NASZA APLIKACJA
  46. 46. GraalVM Kubernetes NASZA APLIKACJA Skompilowana Ahead-of-Time GraalVM Just-in-Time Compiler Java
  47. 47. GraalVM
  48. 48. GraalVM
  49. 49. Jakarta EE
  50. 50. Jakarta EE
  51. 51. Jakarta EE
  52. 52. Jakarta EE
  53. 53. Jakarta EE
  54. 54. Jakarta EE
  55. 55. Spring Spring Boot Micronaut RXJava Project Panama Project Amber Project Loom Project Valhalla Jakarta EE Micropro fi le Microsoft ❤ Java GraalVM
  56. 56. Microprofile
  57. 57. Microprofile Full Profile
  58. 58. Microprofile Web Profile Full Profile
  59. 59. Microprofile Full Pro fi le
  60. 60. Microprofile Web Pro fi le
  61. 61. Microprofile
  62. 62. Microprofile Web Profile Full Profile Core Profile
  63. 63. Microsoft ❤ Java
  64. 64. Microsoft ❤ Java
  65. 65. Microsoft ❤ Java
  66. 66. Microsoft ❤ Java
  67. 67. Project Panama Project Amber Project Loom Project Valhalla Jakarta EE Micropro fi le Microsoft ❤ Java Quarkus Helidon GraalVM
  68. 68. Quarkus/Helidon
  69. 69. Quarkus/Helidon
  70. 70. Project Valhalla Jakarta EE Micropro fi le Microsoft ❤ Java Quarkus Helidon JSR381 Visual Recognition API Project Lanai GraalVM
  71. 71. JSR381 Visual Recognition API
  72. 72. JSR381 Visual Recognition API
  73. 73. JSR381 Visual Recognition API
  74. 74. JSR381 Visual Recognition API JSR381 "VisRec" to standardowy interfejs API dla podstawowego uczenia maszynowego (ML), klasy fi kacji obrazów i rozpoznawania obiektów.
  75. 75. JSR381 Visual Recognition API
  76. 76. Project Lanai
  77. 77. Project Lanai
  78. 78. Project Lanai
  79. 79. Project Lanai
  80. 80. Project Lanai
  81. 81. Micropro fi le Microsoft ❤ Java Quarkus Helidon JSR381 Visual Recognition API Project Lanai espresso Project Layden
  82. 82. Project Leyden Celem projektu Leyden jest poprawa czasu uruchamiania, czasu do osiągnięcia szczytowej wydajności programów napisanych Java.
  83. 83. Project Leyden
  84. 84. Kubernetes NASZA APLIKACJA Skompilowana Ahead-of-Time Project Leyden
  85. 85. Project Leyden Compile time Runtime time Class Data Sharing Generation Time Link Kompilacja Ahead-of- Time Application Class Data Sharing JiT Project CRaC ?
  86. 86. Project Leyden Compile Runtime time Class Data Sharing Link Kompilacja Ahead-of-Time Application Class Data Sharing JiT Project CRaC ?
  87. 87. Project Leyden Compile Runtime time Class Data Sharing Link Kompilacja Ahead-of-Time Application Class Data Sharing JiT Project CRaC ? Kod
  88. 88. Project Leyden Compile Runtime time Class Data Sharing Link Kompilacja Ahead-of-Time Application Class Data Sharing JiT Project CRaC ? Skompilowany kod
  89. 89. Project Leyden Compile Runtime time Class Data Sharing Link Kompilacja Ahead-of-Time JiT Kod
  90. 90. Project Leyden Compile Runtime time Class Data Sharing Link Kompilacja Ahead-of-Time JiT Interpretowany Bajtkod
  91. 91. Project Leyden Compile Runtime time Class Data Sharing Link Kompilacja Ahead-of-Time JiT Skompilowany kod
  92. 92. Project Leyden Kompilacja Ahead-of- Time Application Class Data Sharing JiT Project CRaC Condensers
  93. 93. Project Leyden Kompilacja Ahead-of- Time Application Class Data Sharing JiT Project CRaC Condensers
  94. 94. espresso GraalVM Runtime (SubstratVM)
  95. 95. espresso GraalVM JIT Compiler GraalVM Runtime (SubstratVM)
  96. 96. espresso GraalVM JIT Compiler Truf fl e GraalVM Runtime (SubstratVM)
  97. 97. espresso GraalVM Runtime (SubstratVM) GraalVM JIT Compiler Truf fl e
  98. 98. espresso NASZA APLIKACJA
  99. 99. espresso GraalVM JIT Compiler Truf fl e Espresso GraalVM Runtime (SubstratVM)
  100. 100. espresso GraalVM JIT Compiler Truf fl e Espresso GraalVM Runtime (SubstratVM)
  101. 101. espresso NASZA APLIKACJA Espresso
  102. 102. espresso NASZA APLIKACJA Espresso
  103. 103. espresso
  104. 104. espresso
  105. 105. Quarkus Helidon JSR381 Visual Recognition API Project Lanai espresso Project Layden Project CRaC Project Liliput
  106. 106. Project Liliput Obiekt Java Obiekt Java Obiekt Java Obiekt Java
  107. 107. Project Liliput Obiekt Java Obiekt Java Obiekt Java Obiekt Java 128 Bits 128 Bits 128 Bits 128 Bits
  108. 108. Project Liliput 64 Bity dla Garbage Collectora / Locka / etc 64 Bity dla Wskaźnika Klasy
  109. 109. Project Liliput 64 Bity dla Garbage Collectora / Locka / Identity 32 Bity dla Wskaźnika Klasy
  110. 110. Project Liliput 32 Bity dla Garbage Collectora / Locka / Identity 32 Bity dla Wskaźnika Klasy
  111. 111. Project CRaC
  112. 112. Project Coordinated Restore at Checkpoint
  113. 113. Project CRaC JVM Byte Code Interpreter Just-in-Time Compiler Compiled Code 🚀
  114. 114. Project CRaC JVM Byte Code Interpreter Compiled Code 🚀
  115. 115. Project CRaC
  116. 116. Project CRaC JVM Byte Code Interpreter Just-in-Time Compiler Compiled Code 🚀
  117. 117. Project CRaC JVM Byte Code Interpreter Just-in-Time Compiler Compiled Code 🚀
  118. 118. Project CRaC JVM Byte Code Interpreter Compiled Code 🚀
  119. 119. Project CRaC JVM Byte Code Interpreter Compiled Code 🚀
  120. 120. vived.io
  121. 121. Thank you 🙇 @ArturSkowronski

×