Java SE 27 og OpenJDK 27 gefin út

Eftir sex mánaða þróunarferli hefur Oracle gefið út Java SE 27 (Java Platform, Standard Edition 27), sem notar opinn hugbúnað OpenJDK verkefnið sem viðmiðunarútfærslu. Fyrir utan að nokkrir úreltir eiginleikar hafa verið fjarlægðir, heldur Java SE 27 afturvirkri samhæfni við fyrri útgáfur af Java kerfinu — flestir fyrri Java verkefni munu keyra óbreyttir þegar þeir keyra undir nýju útgáfunni. Tilbúnar útgáfur af Java SE 27 (JDK, JRE og Server JRE) eru undirbúnar fyrir... Linux (x86_64, AArch64), Windows (x86_64) og macOS (x86_64, AArch64). Java SE 27 tilvísunarútfærslan, sem var þróuð af OpenJDK verkefninu, er að fullu opinn hugbúnaður undir GPLv2 leyfinu með GNU ClassPath undantekningu, sem gerir kleift að tengja við viðskiptavörur á virkan hátt.

Java SE 27 er flokkuð sem venjuleg stuðningsútgáfa, með uppfærslum sem verða gefnar út fram að næstu útgáfu. Langtímastuðningsgreinin (LTS) ætti að vera Java SE 25, Java SE 21 eða Java SE 17, með uppfærslum sem verða gefnar út til 2033, 2031 og 2029, talið í sömu röð (almennt í boði til september 2030, 2028 og 2026). Framlengdur stuðningur við Java SE 8 LTS greinina mun halda áfram til 2030 og fyrir Java SE 11 til 2032.

Breytingar í Java SE 27 (1, 2, 3, 4) eru meðal annars:

  • Sjálfgefið er að öll umhverfi noti G1 (Garbage-First) ruslasafnið, sem áður var notað fyrir netþjónakerfi. G1 er fínstillt fyrir notkun á fjölvinnslukerfum með mikið minni og til að vega og meta fyrirsjáanlega seinkun við mikla afköst. Við notkun skiptir G1 minninu í mörg lítil svæði og forgangsraðar þeim svæðum með fleiri ónotuðum hlutum og minna aðgengilegum gögnum.
  • HotSpot JVM notar sjálfgefið þjappaða hlutahausa. Í 64-bita kerfum hefur stærð hausanna verið minnkuð úr 96 í 64 bita, sem dregur úr minnisnotkun og eykur líkur á að gögn lendi í skyndiminni örgjörvans. Í SPECjbb2015 viðmiðunum minnkaði minnisnotkun um 22%, álag á örgjörva minnkaði um 8% og fjöldi ruslsöfnunaraðgerða minnkaði um 15%. Keyrslutími prófunar fyrir JSON-þáttarann ​​var styttur um 10%.
  • TLS 1.3 útfærslan bætir við stuðningi fyrir samkomulagskerfi fyrir blönduð lykilorð sem sameina skammtafræðilega ónæma ML-KEM (CRYSTALS-Kyber) reiknirit við klassíska ECDHE sporöskjulaga kúrfureiknirit: X25519MLKEM768 (ECDHE með X25519 kúrfunni + ML-KEM-768), SecP256r1MLKEM76 (ECDHE með secp256r1 kúrfunni + ML-KEM-768) og SecP384r1MLKEM1024 (ECDHE með secp384r1 kúrfunni + ML-KEM-1024). Í javax.net API.SSL Þessar áætlanir eru sjálfgefið virkjaðar og þurfa ekki neinar breytinga á forritinu til að þær geti verið notaðar.
  • JDK Flight Recorder (JFR), tól sem notað er til að fylgjast með afköstum, sniðagreiningu og greiningu, styður nú hreinsun á skipanalínubreytum, upphafsgildum umhverfisbreyta og kerfiseiginleikum í vistuðum greiningarupplýsingum. Þessi breyting kemur í veg fyrir leka viðkvæmra gagna sem unnið er með í sniðferlinu, svo sem heimildartáknum og aðgangslyklum API sem eru sendir í gegnum umhverfisbreytur.
  • Þriðja forsýningin á Lazy Constants API hefur verið útfærð til að vinna með hluti sem innihalda óbreytanleg gögn og eru meðhöndlaðir sem fastar í JVM. Árangursbætingar svipaðar og fyrir reiti með leitarorðinu "final" eru notaðar á slíka hluti. Ólíkt "final" aðskilur nýja API-ið stofnun fastra gilda frá upphafsstillingu þeirra, tryggir að gildi sé aðeins hægt að frumstilla einu sinni, styttir ræsingartíma forrits og gerir kleift að nota fasta-fellingarbætingar, sem áður voru aðeins notaðar í innri JDK-kóða, í notendakóða. class Application { // Áður: // static final UserService USERS = new UserService(); // Nú: static final StableValue NOTENDUR = StöðugtGildi.af(); public static Notendaþjónusta notendur() { return NOTENDUR.eðaAnnarsSet(Notendaþjónusta::nýtt); } }
  • Mynstursvörunarvélin kynnir fimmtu drög að möguleikanum á að nota frumstæðar gerðir (int, byte, char og aðrar grunngerðir sem ekki eru hlutir) í alls kyns mynstrum, í tilviki virkjans og í rofablokkum. switch (x.getStatus()) { case 0 -> "okay"; case 1 -> "warning"; case 2 -> "error"; case int i -> "unknown status: " + i; } if (i instanceof byte b) { … b … }
  • Sjöunda drög að Structured Concurrency API, sem einfaldar þróun fjölþráða forrita með því að meðhöndla mörg verkefni sem keyra á mismunandi þráðum sem eina einingu, hefur verið gefin út til prófunar.
  • Tólfta prófunarútfærslan af Vector API hefur verið innleidd. Þetta API býður upp á aðgerðir fyrir vigurútreikninga sem framkvæmdir eru með x86_64 og AArch64 örgjörva vigurleiðbeiningum og gerir kleift að framkvæma samtímis aðgerðir á mörgum gildum (SIMD). Ólíkt sjálfvirkri vigurvæðingu HotSpot JIT þýðandans á skalaraðgerðum, gerir nýja API-ið kleift að stjórna vigurvæðingu fyrir samsíða gagnavinnslu.
  • Þriðja drög að API-viðmótinu eru nú fáanleg til að kóða og afkóða hluti sem innihalda dulkóðunarlykla, vottorð og afturköllunarlista vottorða með því að nota PEM-sniðið (Pivacy-Enhanced Mail).

Að auki erum við ánægð að tilkynna útgáfu uppfærslu á JavaFX 27 kerfinu fyrir gerð grafískra notendaviðmótaforrita. Útgáfa GraalVM 27 alhliða sýndarvélarinnar, sem styður keyrslu forrita í JavaScript (Node.js), Python, Ruby, R, hvaða JVM tungumáli sem er (Java, Scala, Clojure, Kotlin) og tungumálum sem hægt er að búa til LLVM bitakóða fyrir (C, C++, Rust), er einnig væntanleg innan skamms.

Heimild: opennet.ru

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster