ceritasaham 

Changelog JDK Java 16: Semua Fitur Baru

Changelog JDK Java 16: Semua Fitur Baru

Daftar lengkap fitur dan JEP pada JDK 16, rilis Maret 2021, termasuk Records dan Pattern Matching standar, Vector API, serta Unix-Domain Socket.

15 September 2026#java#jdk#changelog#jdk-16

Changelog JDK Java 16

JDK 16 dirilis pada 16 Maret 2021 dan merupakan rilis non-LTS. Versi ini menstandarkan Records dan Pattern Matching untuk instanceof, serta memperkuat JDK Internals dengan strong encapsulation.

Ringkasan JEP

NomorNama Fitur
338Vector API (Incubator)
347Enable C++14 Language Features
357Migrate from Mercurial to Git
369Migrate to GitHub
376ZGC: Concurrent Thread-Stack Processing
380Unix-Domain Socket Channels
386Alpine Linux Port
387Elastic Metaspace
388Windows/AArch64 Port
389Foreign Linker API (Incubator)
390Warnings for Value-Based Classes
392Packaging Tool
393Foreign-Memory Access API (Third Incubator)
394Pattern Matching for instanceof
395Records
396Strongly Encapsulate JDK Internals by Default
397Sealed Classes (Second Preview)

Fitur Utama

Records Menjadi Standar (JEP 395)

Records resmi dijadikan fitur permanen setelah dua kali preview di JDK 14 dan JDK 15:

public record Point(int x, int y) { }

Pattern Matching for instanceof Menjadi Standar (JEP 394)

Pola instanceof dengan pattern variable kini resmi menjadi bagian dari bahasa:

if (obj instanceof String s && s.length() > 5) {
    System.out.println(s);
}

Strongly Encapsulate JDK Internals by Default (JEP 396)

Akses ke internal API JDK (seperti sun.misc.*) diblokir secara default. Kode lawas dapat menggunakannya sementara dengan flag --add-opens.

Vector API (JEP 338) — Incubator

API baru untuk menghitung vektor kemunculan CPU secara portable dan performan tinggi, memanfaatkan SIMD:

var species = FloatVector.SPECIES_256;
var a = FloatVector.fromArray(species, fa, 0);
var b = FloatVector.fromArray(species, fb, 0);
var c = a.mul(b);
c.intoArray(fc, 0);

Unix-Domain Socket Channels (JEP 380)

Menambahkan dukungan Unix-domain socket channel untuk komunikasi lokal antar-proses yang lebih cepat dan aman:

UnixDomainSocketAddress addr = UnixDomainSocketAddress.of("/tmp/demo.sock");

Perubahan Lain

  • ZGC: Concurrent Thread-Stack Processing (376).
  • Alpine Linux Port (386): JDK kini mendukung Alpine Linux (musl).
  • Windows/AArch64 Port (388).
  • Elastic Metaspace (387): Metaspace mengembalikan memori tidak terpakai ke OS.
  • Packaging Tool (392): Ditingkatkan dari incubator.
  • Migrasi ke Git & GitHub (357, 369): Sumber JDK pindah dari Mercurial ke Git.
  • Sealed Classes (397): Preview kedua.
  • Foreign Linker API (389) dan Foreign-Memory Access (393): Incubator untuk interoperabilitas dengan native code.

Kesimpulan

JDK 16 adalah gebrakan: Records dan Pattern Matching resmi mengubah cara menulis Java, sementara Vector API, Foreign Linker API, dan strong encapsulation mempersiapkan platform untuk ekosistem yang lebih aman dan berperforma tinggi.

mode [MARKET REGULER]build #ba129dblast update: Sep 22, 2026, 07:43:27 PM UTC▚▚ DYOR! Disclaimer ON! ▚▚