Java 27 is nu beschikbaar. Deze release maakt G1 overal de standaard garbage collector en brengt onder meer Compact Object Headers, TLS-verbeteringen en diverse prestatieverbeteringen.
Oracle heeft de algemene beschikbaarheid van Java 27 aangekondigd, de nieuwste functie-uitgave van het Java-platform. De release verschijnt zes maanden na Java 26 en past daarmee binnen de vaste releasecyclus van het project.
Java 27 bevat negen JDK Enhancement Proposals (JEP’s). Die hebben betrekking op wijzigingen in de JVM, nieuwe taalfuncties, cryptografie, bibliotheken en ontwikkeltools. Vier van deze voorstellen zijn preview-functies; de Vector API blijft een incubator-functie.
Een opvallende wijziging in Java 27 is dat G1 nu overal de standaard garbage collector is. Voorheen kon de HotSpot JVM in sommige configuraties de Serial garbage collector kiezen. Met JDK 27 wordt G1 altijd geselecteerd wanneer gebruikers geen garbage collector opgeven.
Compact Object Headers zijn nu standaard ingeschakeld. Op 64-bitarchitecturen verkleint deze functie de object headers van 96 bits naar 64 bits. Volgens Oracle leidt dit tot minder geheugengebruik, betere datalokaliteit en een efficiënter gebruik van beschikbaar geheugen.
Daarnaast introduceert Java 27 een hybride post-quantum key exchange voor TLS 1.3. Deze implementatie combineert traditionele cryptografische algoritmen met quantumresistente algoritmen en werkt automatisch in applicaties die Java’s javax.net.ssl-API’s gebruiken, zonder dat codeaanpassingen nodig zijn.
Op taalgebied gaan primitieve typen in patterns, instanceof en switch hun vijfde previewfase in. Daarmee wordt verder gewerkt aan een consistenter gebruik van primitieve waarden binnen Java’s pattern-matchingfuncties, terwijl de compilercontroles rond switch-expressies strenger worden.
Structured Concurrency keert terug in een zevende preview. Met deze API kunnen gerelateerde gelijktijdige taken eenvoudiger als één geheel worden beheerd, vooral bij afhandeling van annulering, fouten en taakvoltooiing.
Lazy Constants keren terug in een derde preview. Deze bieden een API voor waarden die pas worden geïnitialiseerd wanneer ze voor het eerst nodig zijn en daarna onveranderlijk blijven.
De Vector API gaat inmiddels zijn twaalfde incubatorronde in. Hiermee kunnen ontwikkelaars vectorberekeningen uitdrukken die de JVM kan omzetten naar vector-instructies van de cpu op ondersteunde hardware. Vooral workloads die baat hebben bij SIMD-verwerking kunnen hiervan flink profiteren.
Een andere toevoeging is JFR In-Process Data Redaction. Java Flight Recorder kan nu opdrachtregelargumenten, waarden van omgevingsvariabelen en systeemeigenschappen afschermen voordat diagnostische gegevens het draaiende Java-proces verlaten. Dat helpt voorkomen dat mogelijk gevoelige runtime-informatie in opnames terechtkomt.
Naast deze negen JEP’s bevat JDK 27 nog tal van kleinere verbeteringen in runtime en tooling. Denk aan aanpassingen in G1-heapgrootte, compileroptimalisaties, snellere bestandstoegang en native I/O, optimalisaties voor de Vector API en prestatieverbeteringen voor verschillende cryptografische algoritmen.
Ook de diagnostische tools van Java zijn verbeterd. JSON-thread dumps geven geselecteerde identificatiegegevens en aantallen nu weer als JSON-getallen, terwijl VM-diagnostiek het aantal momenteel geopende bestandsdescriptors kan rapporteren. Daarnaast is Bash-autocompletion toegevoegd voor het hulpprogramma jcmd.
Voor meer informatie kun je de officiële aankondiging raadplegen. Oracle is van plan om updates voor JDK 27 te blijven uitbrengen tot maart 2027. Daarna wordt Java 28 naar verwachting de volgende functie-uitgave.





