Changelog JDK Java 13: Semua Fitur Baru
Daftar lengkap fitur dan JEP pada JDK 13, rilis September 2019, termasuk Switch Expressions preview, Text Blocks preview, dan ZGC untuk uncommit memori.
Changelog JDK Java 13
JDK 13 dirilis pada 17 September 2019 dan merupakan rilis non-LTS. Versi ini melanjutkan penyempurnaan Switch Expressions, memperkenalkan Text Blocks sebagai preview, serta meningkatkan ZGC dan CDS.
Ringkasan JEP
| Nomor | Nama Fitur |
|---|---|
| 350 | Dynamic CDS Archives |
| 351 | ZGC: Uncommit Unused Memory |
| 353 | Reimplement the Legacy Socket API |
| 354 | Switch Expressions (Preview) |
| 355 | Text Blocks (Preview) |
Fitur Utama
Text Blocks (JEP 355) — Preview
Text blocks memungkinkan penulisan string multi-baris secara alami tanpa banyak escape character:
String json = """
{
"name": "Java 13",
"release": 2019
}
""";
Kelebihan:
- Tidak perlu
\ndan gabungan string. - Indentasi dihitung otomatis dari margin paling kiri.
- Mendukung escape sequence baru seperti
\untuk menghindari penerjemahan newline.
Masih preview di JDK 13, dipreview ulang di JDK 14, lalu menjadi standar di JDK 15.
Switch Expressions (JEP 354) — Preview Kedua
Menyempurnakan preview sebelumnya dengan menambahkan bentuk statement menggunakan yield untuk mengembalikan nilai:
int result = switch (cmd) {
case "ADD" -> 1;
default -> {
int len = cmd.length();
yield len; // mengembalikan nilai dari block
}
};
Reimplement the Legacy Socket API (JEP 353)
Mengganti implementasi lama java.net.Socket dan java.net.ServerSocket dengan implementasi baru yang lebih sederhana, mudah dipelihara, dan memudahkan penggunaan Virtual Threads (yang muncul kemudian) maupun Fibers.
ZGC: Uncommit Unused Memory (JEP 351)
ZGC kini dapat mengembalikan memori heap yang sudah tidak terpakai ke sistem operasi, sehingga footprint-nya berkurang di lingkungan dengan sumber daya terbatas.
Dynamic CDS Archives (JEP 350)
Class Data Sharing kini dapat dibuat secara dinamis setelah aplikasi dijalankan, memungkinkan arsip kelas diproduksi tanpa langkah "dump" terpisah:
java -XX:ArchiveClassesAtExit=app.jsa -jar app.jar
Kesimpulan
JDK 13 memoles fitur yang dipreview sebelumnya dan memperkuat infrastruktur: Text Blocks menjanjikan cara baru menulis string mengganggu, ZGC lebih hemat memori, Socket API dirombak untuk masa depan async, dan CDS semakin otomatis.