Почитайки ангажимента си, Oracle предостави новото Java 10 на време. Идването му, JDK 10, изпълнението на Java Standard Edition 10 бе добре прието. Защо? Доста производители на инструменти и рамки не бяха опитни с Java 9 и все още бяха натоварени с адаптирането към новата модулна система. По този начин промяната в схемата на нещата помага на потребителите бързо да се справят с тази задача.
Нови функции в Java 10
И така, какво е всичко ново в Java 10? На първо място, голяма част от вниманието бе съсредоточено върху най-новите характеристики на Java, включително въвеждането на -
- Механизъм за локална променлива - Характеристиката има за цел да подобри езика на Java, за да разшири привързаността на типа към декларациите за локални променливи с инициализатори. Той твърди, че е единствената реална особеност на разработчиците в JDK 10.
- Предоставяне на подразбиращ се набор сертификати за сертификати за сертификати за корен в JDK Основната цел зад това е коренните сертификати с отворен код в програмата Java O Root CA на Oracle, за да се направи OpenJDK по-привлекателно за разработчиците. Също така, както е описано в описанието, полезното добавяне ще предостави по подразбиране набор от сертификати на сертифициращия орган (CA) в JDK.
- Обмен на данни за клас на приложение, за да се оптимизира времето за стартиране и отпечатък - CDS (обмен на данни за класове) бе представен за първи път в JDK 5 в опит да подобри производителността на стартирането на JVM и да намали отпечатъка на ресурса, когато няколко машини JVM се изпълняват на една и съща физическа машина. JDK 10 ще разшири функционалността на CDS, така че класовете на приложения също могат да бъдат поставени в споделения архив. Преди това използването на CDS бе ограничено само до товарача за класове обувки.
- Познаване на докерите - Започвайки сега, във всеки случай, в който сте избрали да стартирате Java 10 на Linux системи, Java Virtual Machine (JVM) бързо ще разпознае дали работи в контейнер на Docker. Конкретната информация за контейнерите, като броя на процесорите и общата памет, разпределена на контейнера, ще бъде извлечена от JVM, вместо да се търси в операционната система.
- Допълнителни опции за JVM - новите опции ще предоставят на потребителите на контейнерите на Docker по-голям контрол над системната памет.
- Изчистване на бъгове - Отстраняване на грешки, за да се коригира механизмът за прикачване, когато се опитвате да прикачите от хост процес към Java процес, който е в контейнер на Docker.
- Нови API - Java 10 ще включва нови приложни програмни интерфейси (API), за да даде възможност за създаване на немодифицирани колекции. Методите copyOf, Set.copyOf и Map.copyOf създават нови случаи на събиране от съществуващи потребителски модели. Нови методи към UnmodifiableList, toUnmodifiableSet и toUnmodifiableMap бяха добавени към класа Collectors в пакета Stream, позволявайки елементите на Stream да бъдат събрани в немодифицирана колекция.
- Интерфейс за събиране на отпадъци: В по-ранната структура на JDK компонентите, съставляващи внедряването на Garbage Collector (GC), са разпръснати в различни части на кодовата база. Макар че те се оказаха известни на тези, запознати с схемата на GC, използвана от JDK, това често води до объркване за по-новите разработчици. Това е променено в Java 10. Сега е чист интерфейс в изходния код на JVM, който позволява алтернативните колектори да бъдат бързо и лесно интегрирани. Тя ще подобри изолацията на източника на код на различните колектори за отпадъци.
- Агрегиране на хранилищата на гората JDK в едно хранилище - Кодовата база досега е била разделена на множество репо сделки, което може да доведе до проблеми при управлението на източника. Така че, в опит да рационализира развитието, осем repos:
- корен
- Corba
- Hotspot
- Jaxp
- Jaxws
- JDK
- Langtools
- Nashorn
- Предишните налични в JDK 9 бяха обединени в едно хранилище, за да извършат атомно обвързване между хранилища на взаимозависими промени.
Grall Java-базиран съвременен компилатор
Накрая, Graal, който позволява на програмистите да създават времена на изпълнение и компилатори за нови или съществуващи езици в Java, е активиран като компилатор Just-in-Time, базиран на Java, който да се използва експериментално на платформата Linux / x64.
Oracle обещава, че ще продължи да предлага дългосрочни издания на регулярна основа и на редовни интервали от време. За повече информация вижте тази страница.