Nakon Ε‘est mjeseci razvoja, Oracle puΕ‘ten platforma JavaSE 15 (Java platforma, Standardno izdanje 15), OpenJDK projekat otvorenog koda se koristi kao referentna implementacija. Java SE 15 odrΕΎava kompatibilnost unatrag sa prethodnim izdanjima Java platforme; svi prethodno napisani Java projekti Δe raditi bez promjena kada se pokrenu pod novom verzijom. Java SE 15 verzije spremne za instalaciju (JDK, JRE i Server JRE) pripremljeno za Linux (x86_64), Windows i macOS. Referentna implementacija razvijena od strane OpenJDK projekta Java 15 je potpuno otvorenog koda pod GPLv2 licencom, sa GNU ClassPath izuzecima koji dozvoljavaju dinamiΔko povezivanje sa komercijalnim proizvodima.
Java SE 15 je klasificirana kao izdanje za opΔu podrΕ‘ku i nastavit Δe primati aΕΎuriranja do sljedeΔeg izdanja. Ogranak za dugoroΔnu podrΕ‘ku (LTS) bi trebao biti Java SE 11, koji Δe nastaviti primati aΕΎuriranja do 2026. godine. Prethodna LTS grana Jave 8 Δe biti podrΕΎana do decembra 2020. SljedeΔe izdanje LTS-a zakazano je za septembar 2021. Podsjetimo, poΔevΕ‘i od izdavanja Jave 10, projekat je preΕ‘ao na novi razvojni proces, Ε‘to podrazumijeva kraΔi ciklus za formiranje novih izdanja. Nova funkcionalnost je sada razvijena u jednoj stalno aΕΎuriranoj glavnoj grani, koja ukljuΔuje gotove promjene i iz koje se grane granaju svakih Ε‘est mjeseci kako bi se stabilizirala nova izdanja.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π²ΡΠΎΡΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ podudaranje uzoraka u operatoru βinstanceofβ, koji vam omoguΔava da odmah definirate lokalnu varijablu za pristup provjerenoj vrijednosti. Na primjer, moΕΎete odmah napisati βif (obj instanceof String s && s.length() > 5) {.. s.contains(..) ..}β bez eksplicitnog definiranja βString s = (String) objβ.
Bilo je:
if (obj instanceof Group) {
Grupna grupa = (Grupa)obj;
var entries = group.getEntries();
}
Sada moΕΎete bez definicije "Grupa grupe = (Grupa) obj":
if (obj instanceof Group group) {
var entries = group.getEntries();
}
PredloΕΎeno Π²ΡΠΎΡΠ°Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° Β«rekord", koji pruΕΎa kompaktnu formu za definiranje klasa koja eliminira potrebu za eksplicitnim definiranjem razliΔitih metoda niskog nivoa, kao Ε‘to su equals(), hashCode() i toString(), u sluΔajevima kada se podaci pohranjuju samo u poljima Δije ponaΕ‘anje ne odgovara ne mijenjati. Kada klasa koristi standardne implementacije metoda equals(), hashCode() i toString(), moΕΎe bez njihove eksplicitne definicije:
javni zapis Bankarska transakcija (lokalni datum datum,
dupli iznos
Opis niza) {}
Ova deklaracija Δe automatski dodati implementacije metoda equals(), hashCode() i toString() pored metoda konstruktora i getter.