Почитая свою приверженность, Oracle поставила новую Java 10 во время. Приход этого, т. Е. JDK 10, была хорошо принята реализация Java Standard Edition 10. Зачем? Довольно много производителей инструментов и фреймворков не разбирались в Java 9 и все еще были заняты адаптацией к новой модульной системе. Таким образом, изменение схемы вещей помогло пользователям быстро справиться с задачей.
Новые возможности Java 10
Итак, что нового в Java 10? Во-первых, большое внимание было по праву сосредоточено на новейших возможностях Java,
- Вывод локального переменного типа - Цель состоит в том, чтобы улучшить язык Java, чтобы расширить вывод типа на объявления локальных переменных с инициализаторами. Он утверждает, что является единственной реальной возможностью для разработчиков в JDK 10.
- Предоставление по умолчанию набора сертификатов центра сертификации сертификатов в JDK -Основной целью этого является корневые сертификаты с открытым исходным кодом в программе Oracle SE Root CA, чтобы сделать OpenJDK более привлекательным для разработчиков. Кроме того, как будет описано в описании, полезное добавление предоставит набор стандартных сертификатов центра сертификации (CA) по умолчанию в JDK.
- Совместное использование данных класса приложений для оптимизации времени запуска и занимаемой площади - CDS (совместное использование классов) впервые был представлен в JDK 5 в попытке улучшить производительность запуска JVM и уменьшить площадь ресурса, когда несколько JVM работали на одной физической машине. JDK 10 расширит функциональность CDS, поэтому классы приложений также могут быть размещены в общем архиве. Раньше использование CDS ограничивалось только загрузчиком bootstrap.
- Докерная осведомленность - Начиная с настоящего момента, в любом случае, когда вы выбрали запуск Java 10 в системах Linux, виртуальная машина Java (JVM) быстро узнает, работает ли она в контейнере Docker. Конкретная информация, такая как количество CPU и общая память, выделенная для контейнера, будет извлекаться JVM, а не запрашивать операционную систему.
- Дополнительные параметры JVM - новые опции будут предлагать пользователям контейнеров Docker больший контроль над системной памятью.
- Исправление ошибок - Исправлена ошибка исправления механизма прикрепления при попытке присоединения от хост-процесса к процессу Java, который находится в контейнере Docker.
- Новые API - Java 10 будет отображать новые API-интерфейсы, чтобы обеспечить возможность создания немодифицируемых коллекций. Методы copyOf, Set.copyOf и Map.copyOf создают новые экземпляры коллекции из существующих экземпляров. Новые методы toUnmodifiableList, toUnmodifiableSet и toUnmodifiableMap были добавлены в класс Collectors в пакете Stream, что позволило собрать элементы потока в немодифицируемую коллекцию.
- Интерфейс сборщика мусора: В более ранней структуре JDK компоненты, которые составляли реализацию сборщика мусора (GC), были разбросаны по различным частям базы кода. Хотя они были известны тем, кто знаком с GC-схемой, используемой JDK, это часто приводило к путанице для новых разработчиков. Он изменен в Java 10. Теперь это чистый интерфейс в исходном коде JVM, позволяющий быстро и легко интегрировать альтернативные сборщики. Это улучшит изоляцию исходного кода от разных сборщиков мусора.
- Агрегация репозиториев леса JDK в единый репозиторий - База кода до сих пор была разбита на несколько репозиториев, что может вызвать проблемы с управлением исходным кодом. Таким образом, чтобы упростить разработку, восемь репозиториев:
- корень
- Corba
- Hotspot
- JAXP
- JAXWS
- Jdk
- Langtools
- Nashorn
- Ранее доступные в JDK 9 были объединены в один репозиторий для выполнения атомарного фиксации в репозиториях зависимых наборов изменений.
Grall Java-компилятор «точно в срок»
Наконец, Graal, который позволяет программистам создавать среды выполнения и компиляторы для новых или существующих языков в Java, был включен, поскольку компилятор Just-во времени Grall Java, который будет использоваться экспериментально на платформе Linux / x64.
Oracle обещает, что он будет продолжать предлагать долгосрочные релизы на регулярной основе и через регулярные промежутки времени. Для получения дополнительной информации см. Эту страницу.