JDK 10 10 nieuwe functies en verbeteringen in Java 10
Ter ere van zijn toewijding heeft Oracle het nieuwe geleverd Java 10 op tijd. De komst ervan, dat wil zeggen., JDK 10, een implementatie van Java Standard Edition 10 werd goed ontvangen. Waarom? Nogal wat tool- en framework-fabrikanten waren niet bekwaam met de Java 9 en waren nog steeds bezig met aanpassing aan het nieuwe modulesysteem. Als zodanig hielp de verandering in het samenstel van dingen de gebruikers om snel met de taak om te gaan.
Nieuwe functies in Java 10
Wat is er allemaal nieuw in Java 10? Allereerst is er veel aandacht geweest voor de nieuwste functies van Java, waaronder de introductie van-
- Inferenting van het lokale variabele type - De functie is bedoeld om de Java-taal te verbeteren om het type gevolgtrekking uit te breiden tot declaraties van lokale variabelen met initializers. Het beweert de enige echte functie te zijn voor ontwikkelaars in JDK 10.
- Het verstrekken van een standaardset certificaten voor rootcertificeringsautoriteit in de JDK -De belangrijkste doelstelling hierachter is om rootcertificaten te openen in Oracle's Java SE Root CA-programma om OpenJDK aantrekkelijker te maken voor ontwikkelaars. Ook, zoals de beschrijving luidt, zal de voordelige toevoeging een standaard set van root Certification Authority (CA) -certificaten in de JDK bieden.
- Applicatie klasse-gegevens delen om opstarttijd en voetafdruk te optimaliseren - CDS (sharing van klassengegevens) werd voor het eerst geïntroduceerd in JDK 5 om de prestaties van de JVM-startup te verbeteren en de resource footprint te verminderen wanneer meerdere JVM's op dezelfde fysieke machine draaiden. JDK 10 breidt CDS-functionaliteit uit, zodat toepassingsklassen ook in het gedeelde archief kunnen worden geplaatst. Eerder was het gebruik van CDS alleen beperkt tot de bootstrap-klassenlader.
- Docker-bewustzijn - Vanaf nu, in elk geval waar je Java 10 wilt draaien op Linux-systemen, zal de Java Virtual Machine (JVM) snel herkennen of het in een Docker-container draait. Containerspecifieke informatie zoals het aantal CPU's en het totale geheugen dat aan de container is toegewezen, wordt door de JVM geëxtraheerd in plaats van dat het besturingssysteem wordt bevraagd.
- Extra JVM-opties - de nieuwe opties bieden Docker-containergebruikers meer controle over het systeemgeheugen.
- Bugfixes - Een bugfix om het bijlagemechanisme te corrigeren bij het proberen te koppelen van een hostproces aan een Java-proces dat zich in een Docker-container bevindt.
- Nieuwe API's - Java 10 zal nieuwe API's bevatten om het creëren van niet-wijzigbare collecties beter mogelijk te maken. De methoden copyOf, Set.copyOf en Map.copyOf maken nieuwe collectie-exemplaren van bestaande exemplaren. Nieuwe methoden omUnmodifiableList, toUnmodifiableSet, en toUnmodifiableMap zijn toegevoegd aan de Collectors-klasse in het Stream-pakket, waardoor de elementen van een Stream kunnen worden verzameld in een niet-identificeerbare verzameling.
- Garbage Collector Interface: In de eerdere JDK-structuur waren de componenten waaruit een Garbage Collector (GC) -implementatie bestond verspreid over verschillende delen van de codebasis. Hoewel ze bekendstonden bij degenen die bekend waren met het GC-schema dat door de JDK werd gebruikt, leidde dit vaak tot verwarring voor nieuwere ontwikkelaars. Het is veranderd in Java 10. Nu is het een schone interface binnen de JVM-broncode om alternatieve verzamelaars snel en eenvoudig te integreren. Het zal de broncode-isolatie van verschillende vuilnismannen verbeteren.
- Aggregatie van de repositories van het JDK-forest in een enkele repository - De codebasis tot nu toe was opgedeeld in meerdere repo's, wat problemen kan veroorzaken met broncodebeheer. Dus, in een poging om de ontwikkeling te stroomlijnen, acht repo's:
- Wortel
- Corba
- hotspot
- JAXP
- Jaxws
- jdk
- Langtools
- Nashorn
- Eerder beschikbaar in JDK 9 werden samengevoegd in een enkele repository om een atomic commit uit te voeren tussen repositories van onderling afhankelijke changesets.
Grall op Java gebaseerde just-in-time compiler
Ten slotte is Graal, waarmee programmeurs runtimes en compilers voor nieuwe of bestaande talen in Java kunnen maken, ingeschakeld als de op Grall op Java gebaseerde just-in-time-compiler om op experimentele wijze te worden gebruikt op het Linux / x64-platform.
Oracle belooft dat het op geregelde tijdstippen en op geregelde tijdstippen releases op lange termijn zal blijven aanbieden. Raadpleeg deze pagina voor meer informatie.