What JVM (2020)
- 🔗 Which Java SDK Should You Use?
- 🔗 OpenJDK - java.net in sdkman.
- 🔗 AdoptOpenJDK - binaries build from openjdk.
- 🔗 Renamed in 2021 to Eclipse Adoptium Temurin
- 🔗 OpenJDK Hotspot
- 🔗 OpenJ9 VM - eclipse VM for low memory usage and fast start-up time.
- 🔗 Amazon Corretto - only LTS versions. The versions that are used on AWS.
- 🔗 Azul Zulu - versions from version 6 and forward. Used on MS Azure.
- 🔗 BellSoft Liberica - versions with JavaFX, normal and embedded.
- Java editions:
- 🔗 JavaFX - versions with client UI libraries (
javafx.*
packages). Not included in the standard JDK from version 11.
- 🔗 JavaFX - versions with client UI libraries (
- Specialized virtual machines
Java Performance Tools
- JMH - Java Microbenchmark Harness for microbenchmarking
- jHiccup for measuring JVM pauses due to GC
Versions
- LTS version every 3 years.
- non-LTS version every 6 months. In March and September.
Documentation
- 🔗 Java SE Documentation
- 🔗 Java Language and Virtual Machine Specifications
- 🔗 Secure Coding Guidelines for Java SE
- 🔗 mkyong -> What is new in Java 17
- 🔗 JVM Memory
Version 8 (LTS) - 2014-03
- lambda expressions
java.stream
- stream APIjava.time
- date & time APIjava.util.Base64
encoder and decoder- nashorn javascript runtime
Version 9 - 2017-09
- module system
jlink
for building custom runtime imagejshell
REPL
Version 10 - 2018-03
var
- local-variable type inference- graalvm
- run source code files without having to compile them
java Test.java
Version 11 (LTS) - 2018-09
- HTTP client
- TLS 1.3
jfr
andjmc
- for production profiling and monitoring- new GC algorithms:
- zgc
- epsilon
Version 12 - 2019-03
- new GC algorithms:
- shenandoah