Nyheder i Java 10 og hvad er fremtidens planer?
For nylig har Java ændret tempoet i udgivelser. Tidligere ville det tage år at komme med en ny Java-version. Men Java 10 blev frigivet til verden kun seks måneder efter Java 9. Det ser ud til, at Oracle vil prøve at få nye Java-versioner til udviklere så hurtigt som muligt. Hurtigere frigivelse af Java-versioner betyder, at udviklere får adgang til nye funktioner hurtigere. På den anden side vil hurtig vedtagelse af udviklere føre til mere Java-popularitet. Så det er en win-win for begge parter.
Hvad er nyt?
Her er nogle af de vigtige Java 10-funktioner:
Lokal variabel type inferens: Java kræver eksplicit typede variabler for at sikre "typesikkerhed". Det bruges som et designprincip for at minimere runtime-fejl. Imidlertid eksplicit at skrive variabler til loop-iteratorer og mellemliggende værdier gør Java-programmering tidskrævende og fejlbehæftet. Med lokal inferens af variabel type vil Java-compiler kunne udlede typen af en variabel fra kontekst. Det skal fremskynde programmeringen i Java.
Parallel fuld GC til G1 Garbage Collector: Nogle gange får affaldsindsamling prioritet frem for kørende program, og programudførelsen er frossen for at give skraldindsamling eksklusiv adgang til JVM. Dette er kendt som "Full Garbage Collection". I Java 10 er denne proces optimeret til at køre parallelle tråde på flere processorer. Det gør processen mere effektiv.
Deling af applikationsklasse: Det optimerer opstartstid og fodaftryk. Hvis en krukke ikke ændres, ændres klassedata heller ikke. Når klassedataene er oprettet, kan de placeres i et arkiv og genbruges på tværs af flere JVM'er.
Eksperimentel JIT-kompilator: Just-in-time (JIT) kompilatorer hjælper udviklere med at skrive effektive applikationer. Men Java's JIT-kompilator blev skrevet i C++. Den nye JIT er Java-baseret. Det vil gøre det lettere for udviklere at vedligeholde koden.
Docker Awareness: Java 10 JVM ved, om det kører i en Docker-container. I stedet for at tale direkte med operativsystemet, får JVM informationen fra Docker-containeren.
Konsolider JDK Forest i et enkelt arkiv: Forskellige JDK-skove kombineres i et enkelt arkiv. Det forbedrer husholdningen og strømline udviklingen.
Bunktildeling på alternative hukommelsesenheder: HotSpot VM vil være i stand til at tildele Java-objektbunke på en alternativ brugerdefineret hukommelsesenhed.
Rodcertifikater: JDK 10 er udviklet i samarbejde med OpenJDK. Det giver et standardsæt med rodcertificeringsmyndigheder.
Fremtidsplaner
Her er nogle fremtidige overvejelser for Java:
- Amber-projekt hjælper med at skabe produktivitetsorienterede funktioner som lokal inferens af variabel type, forbedrede enums og lambda-rester.
- Project Panama arbejder på sammenkobling af JVM og native code.
- Project Valhalla forsøger at udvikle vigtige sprogfunktioner til Java 10.
- Project Loom fokuserer på at forenkle udviklingen af samtidige applikationer. Det bevarer de generelle Java-tråde, mens det forbedrer ydeevnen og reducerer fodaftryk.
Konklusion
De nye hurtige frigivelsescyklusser betyder, at funktioner måske bliver skubbet til den næste udgave oftere end før. Men generelt skal JDK 10-funktioner være gode for alle.
Referencer:
- https: // www.infoworld.com / artikel / 3230507 / java / java-jdk-10-hvad-nye-funktioner-at-forvente-i-den-næste-java.html
- https: // www.forbes.com / sites / oracle / 2018/03/20 / what-java-10-and-javas-new-6-month-release-cadence-mean-for-developers / # 1c8b7e29271a
- https: // blog.codefx.org / java / application-class-data-sharing /
- https: // jaxenter.com / bedre-containeriseret-jvms-jdk-10-140593.html
- https: // dzone.com / artikler / java-10-frigivet-10-nye-funktioner-devs-skal-vide