Oracle je najavio izlazak Java SE 15, znajte šta je novo

Nakon šest meseci razvoja, Oracle je najavio izlazak nova verzija JavaSE 15 kao referentna implementacija koja koristi projekat otvorenog koda OpenJDK.

JavaSE 15 klasificiran je kao redovna verzija podrške, sa ažuriranjima koja će biti objavljena do sljedeće verzije. Java SE 11 treba koristiti kao dugoročnu potpornu nogu (LTS) i ažuriranja bit će izdana do 2026. Prethodna grana Java 8 LTS bit će podržan do decembra 2020. Sljedeće LTS izdanje zakazano je za septembar 2021. godine.

Glavne nove karakteristike Java SE 15

U ovoj novoj verziji, predstavljena je funkcija podrške za EdDSA RFC 8032 Signature, predložena primena EdDSA ne ovisi o hardverskim platformama, zaštićen je od napada bočnih kanala (zagarantovano je konstantno vrijeme svih proračuna) i nadmašuje postojeću ECDSA implementaciju napisanu na C u smislu performansi, uz isti nivo zaštite.

Druga promjena je eksperimentalna podrška za zapečaćene klase i sučelja Que ne mogu ih koristiti druge klase i sučelja naslijediti, produžiti ili se nerazvrstati.

Takođe u ovoj novoj verziji Jave SE 15 istaknuto je podrška za skrivene klase koje bytecode ne može koristiti izravno ostalih klasa. Ključna upotreba skrivenih klasa je za okvire koji dinamički generiraju klase tokom izvođenja i koriste ih indirektno kroz refleksiju.

Sakupljač smeća ZGC (Zbirka smeća) je stabiliziran i prepoznat kao spreman za opću upotrebu. ZGC radi u pasivnom načinu rada kako bi što više smanjio kašnjenje zbog sakupljanja smeća (zastoji pri korištenju ZGC-a ne prelaze 10 ms) i mogu raditi s malim i velikim gomilama, veličine od nekoliko stotina od megabajta do mnogih terabajta.

Sakupljač smeća Shenandoah se stabilizirao i prepoznao kao sveprisutan. Shenandoah su razvili Red Hat and izdvaja se upotrebom algoritma koji smanjuje vrijeme pauze tijekom odvoza smeća prilikom čišćenja paralelno sa pokrenutim Java aplikacijama.

Takođe podrška za blokove teksta je stabilizirana i upisano na jeziku: a novi oblik doslovnih nizova Omogućuju vam da u izvorni kôd uključite višeredne tekstualne podatke bez upotrebe izlaznih znakova i očuvanja izvornog oblikovanja teksta u bloku.

Sa druge strane Legacy DatagramSocket API je prerađen u stare implementacije java.net.DatagramSocket i java.net.MulticastSocket zamijenjene su modernom implementacijom koja se lakše otklanja pogreške i održava, a kompatibilna je s virtualnim nitima razvijenim u projektu Loom.

U slučaju mogućeg kršenja kompatibilnosti sa postojećim kodom, stara implementacija nije uklonjena i može se aktivirati pomoću opcije jdk.net.usePlainDatagramSocketImpl.

Takođe, predložena je druga eksperimentalna implementacija podudaranja uzoraka u operatoru "instanceof", koji vam omogućava da odmah definirate lokalnu varijablu za pristup provjerenoj vrijednosti.

Konačno, istaknuta je i druga eksperimentalna implementacija ključne riječi «record», koja pruža kompaktan oblik za definicije klasa, izbjegavajući potrebu za eksplicitnim definiranjem nekoliko metoda na niskom nivou, kao što su equals (), hashCode () i toString (), u slučajevima kada su podaci pohranjeni samo u poljima.

Konačno ostale istaknute promjene:

  • Predlaže se drugi nacrt API-ja za pristup vanjskoj memoriji
  • Tehnika optimizacije pristrasnog zaključavanja koju HotSpot JVM koristi za smanjenje dodatnih troškova zaključavanja onemogućena je i zastarjela.
  • RMI aktivacija deklariranog zastarjelog mehanizma, koji će biti uklonjen u budućem izdanju.
  • Uklonio je Nashorn JavaScript motor, koji je zastario u Javi SE 11.
  • Uklonjeni su portovi za Solaris OS i SPARC procesore (Solaris / SPARC, Solaris / x64 i Linux / SPARC).

Si želite znati više o tome o ovoj novoj verziji. Možete provjeriti detalje Na sledećem linku.