Megjelent a Java 27: mindenhol alapértelmezetté vált a G1 szemétgyűjtő

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

A Java 27-tel a Garbage-First, vagyis G1 szemétgyűjtőt mostantól mindenhol alapértelmezettként használják. JDK 9 óta a G1 volt az alapértelmezett szemétgyűjtő a Java szerveres környezetekben, mára viszont elég robusztusnak bizonyult ahhoz, hogy általános alapértelmezetté váljon. A Serial collectorhoz képest a G1 minden heap-méret mellett versenyképes áteresztőképességet, késleltetést, memóriahasználatot és indulási időt ígér.

A G1 mindenhol alapértelmezetté tételét leíró JEP 523 így fogalmaz:

„Azóta minden mutató mentén továbbfejlesztettük a G1 collectort, és a tesztek azt mutatják, hogy a G1 mostanra minden heap-méret mellett versenyképes a Seriallel. A szinkronizáció csökkentésén végzett legutóbbi munkánknak (JEP 522) köszönhetően a G1 maximális áteresztőképessége már közel van a Serialéhoz. A G1 maximális késleltetése mindig is jobb volt a Serialénál, mivel a G1 az öreg generációban lévő memóriát inkrementális szemétgyűjtésekkel szabadítja fel, nem pedig teljes gyűjtésekkel. Végül az utóbbi kiadásokban a G1 natív memóriahasználatát is sikerült a Serialével összemérhető szintre csökkenteni.

A G1 teljesítménye mostanra elég ahhoz, hogy minden olyan helyzetben kiváltsa a Serialt, ahol a JVM korábban a Serialt választotta. Itt az ideje, hogy ne válasszuk többé alapértelmezettként a Serialt a szűkös erőforrású környezetekben. Ez egyben megkönnyíti a JVM viselkedésének megértését és átlátását is.”

Az OpenJDK / Java 27 emellett támogatást ad a poszt-kvantum hibrid kulcscseréhez TLS 1.3-hoz, tartalmazza a lazy konstansok legújabb előzetesét, a strukturált konkurencia Java-támogatásának hetedik előzetesét, az alapértelmezett kompakt objektumfejléceket, valamint a Java Vector API legfrissebb inkubátorát.

Az alapértelmezett kompakt objektumfejlécek 96 bitről 64 bitre csökkentik az objektumfejlécek méretét, ami növeli a telepítési sűrűséget, javítja az adatelhelyezés lokalitását, és csökkenti a heap méretét. JDK 24 óta bizonyították a stabilitásukat és teljesítményüket, így mostanra ezek lettek az új alapértelmezettek.

További részletek a Java 27 GA kiadásáról a mai kiadás bejelentésében.