Sběratel odpadu Epsilon
Podle JDK Enhancement Proposal (or JEP) 318, Epsilon is a low-overhead garbage collector (GC), jehož účelem je zpracovávat alokaci paměti bez implementace jakéhokoli skutečného mechanismu rekultivace paměti.
Cílem je „poskytnout zcela pasivní implementaci GC s omezeným limitem alokace a nejnižší možnou latencí, na úkor stopy paměti a propustnosti paměti,“ uvádějí v návrhu vývojáři jádra Java. „Úspěšná implementace je izolovaná změna kódu, nedotýká se ostatních GC a ve zbytku JVM provádí minimální změny.“
I když Java již nabízí široký výběr vysoce konfigurovatelných implementací GC, vývojáři věří, že je snazší udržovat samostatnou implementaci GC pro řešení konkrétních případů použití, jako je testování výkonu, testování tlaku v paměti, testování rozhraní VM, extrémně krátkodobé úlohy , vylepšení latence poslední kapky nebo vylepšení propustnosti poslední kapky, než hromadění jiné možnosti konfigurace ve stávající implementaci GC.
Syntaxe lokálních proměnných pro parametry lambda
Java 10 představila odvození lokální proměnné typu, aby se snížila výřečnost spojená s psaním kódu Java, a Java 11 ji rozšiřuje tak, aby umožňovala var použít při deklaraci formálních parametrů implicitně zadaných výrazů lambda, jak je uvedeno v JEP 323 s názvem Syntaxe lokální proměnné pro parametry Lambda.
Místo toho tedy místo psaní:
(var x, var y) -> x.proces (y)Bude možné jednoduše napsat:
(x, y) -> x.proces (y)Samotná uniformita není jedinou výhodou syntaxe lokálních proměnných pro parametry lambda. Další výhodou je, že bude možné aplikovat modifikátory na lokální proměnné a formáty lambda bez ztráty stručnosti.
Dynamické konstanty třídních souborů
JEP 309 rozšiřuje formát souborů třídy Java o novou formu konstantního fondu, CONSTANT_Dynamic, za účelem snížení nákladů a narušení vytváření nových forem materializovatelných konstant třídních souborů. Stejně jako propojení invokedynamic zavolat delegáty stránky propojení s metodou bootstrap, tak bude načítání a CONSTANT_Dynamic vytvoření delegáta metodou bootstrap.
Podle vývojářů jádra Java nabídne nová forma konstantního fondu návrhářům jazyků a implementátorům překladačů širší možnosti pro expresivitu a výkon. „Bohatší, flexibilnější a typičtější konstanty odstraňují tření z vývoje invokedynamických protokolů, což zase usnadňuje přesun složité logiky z doby běhu do doby propojení, zlepšuje výkon programu a zjednodušuje logiku kompilátoru.“
Co se nedostane do Javy 11
Navzdory výše popsaným funkcím bude Java 11 ve skutečnosti štíhlejší než Java 10, protože je nastavena tak, aby ztratila CORBA (Common Object Request Broker Architecture), moduly Java EE a JavaFX, sadu grafických a mediálních balíčků, které vývojářům umožňují navrhovat, vytvářet, testovat, ladit a nasazovat bohaté klientské aplikace.
CORBA je otevřený standard pro heterogenní práci na počítači a v prostředí Java SE 9 byl spolu s moduly Java EE zastaralý. Samostatné verze modulů Java EE budou stále k dispozici na webech třetích stran, ale Oracle již nebude muset udržovat dvě samostatné implementace: jednu v prostředí Java SE a druhou v prostředí Java EE.