Efter seks måneders udvikling har Oracle platformen (Java Platform, Standard Edition 13), som anvender det åbne projekt OpenJDK som referenceimplementering. Java SE 13 bevarer bagudkompatibilitet med tidligere versioner af Java-platformen; alle tidligere skrevne Java-projekter vil fungere uændret under den nye version. Færdige installationspakker til Java SE 13 (JDK, JRE og Server JRE) til Linux (x86_64), Solaris, Windows og macOS. Den referenceimplementering, der er udviklet inden for rammerne af OpenJDK-projektet er helt åbne under GPLv2-licensen med undtagelser for GNU ClassPath, der tillader dynamisk binding til kommercielle produkter.
Java SE 13 er klassificeret som en release med almindelig support, hvor opdateringer vil blive frigivet frem til næste version. For en langvarig supportgren (LTS) bør Java SE 11 anvendes, med opdateringer der bliver frigivet frem til 2026. Den tidligere LTS-version Java 8 vil blive understøttet indtil december 2020. Den næste LTS-release er planlagt til september 2021. Det skal bemærkes, at med frigivelsen af Java 10 blev projektet overgået til en ny udviklingsproces, der sigter mod en kortere cyklus for nye versioner. Ny funktionalitet udvikles nu i en master-gren, der konstant opdateres, hvor allerede klare ændringer inkluderes, og fra hvilken stabiliseringsgrene for nye versioner forgrenes hver sjette måned. Java 14 er planlagt til at blive udgivet i marts næste år, med tidlige versioner allerede til testning.
Af :
- understøttelse af dynamisk tilføjelse af CDS-arkiver (Class-Data Sharing), som giver applikationer adgang til delte klasser. Ved hjælp af CDS kan delte klasser placeres i et separat delt arkiv, hvilket muliggør hurtigere opstart af applikationer og reducerer overhead. I den nye version er der tilføjet værktøjer til dynamisk arkivering af klasser efter applikationens afslutning. De klasser, der placeres i arkivet, inkluderer alle klasser og tilknyttede biblioteker, der blev indlæst under programmets kørsel og som ikke var til stede i den oprindeligt leverede basis CDS-arkiv;
- I garbage collector ZGC (Z Garbage Collector) understøttelse af tilbagegivelse af ubrugt hukommelse til operativsystemet;
- Omarbejdede API Legacy Socket-implementering (java.net.Socket og java.net.ServerSocket), som er lettere at vedligeholde og debugge. Desuden vil den foreslåede implementering være lettere at tilpasse til det nye trådssystem i brugerrummet (fibers), der udvikles i projektet Loom;
- udvikling af en ny form for 'switch'-udtryk. Tilføjet eksperimentel (Preview) mulighed for at anvende 'switch' som både en operator og et udtryk. For eksempel kan konstruktioner som følgende nu bruges:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};eller
System.out.println(
switch (k) {
case 1 -> «one»
case 2 -> «two»
default -> «many»
}
);I fremtiden kan denne mulighed bruges til at implementere understøttelse af mønstermatch;
- eksperimentel understøttelse af tekstblokke — en ny form for strenglitteraler, der muliggør inkludering af flerlinjede tekstdata i kildekoden uden brug af tegnescape og bevarer den ursprunglige tekstformatering i blokken. Blokken indrammes med tre doble citationstegn. For eksempel, i stedet for udtrykket
String query = «SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n» +
«WHERE `CITY` = ‘INDIANAPOLIS’\n» +
«ORDER BY `EMP_ID`, `LAST_NAME`;\n»;kan konstruktionen nu anvendes:
String query = «»»
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = ‘INDIANAPOLIS’
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - 2126 fejlrapporter er lukket, hvoraf 1454 er rettet af Oracle-medarbejdere, og 671 af uafhængige bidragsydere, hvoraf en sjettedel af ændringerne er foretaget af uafhængige udviklere, og resten af repræsentanter fra virksomheder som IBM, Red Hat, Google, Loongson, Huawei, ARM og SAP.
Kilde: opennet.ru
