Обнародован график подготовки Java 9
🕛 14.05.2015, 15:54
Компания Oracle опубликовала график разработки платформы Java 9, в соответствии с которым релиз намечен на 22 сентября 2016 года. До 10 декабря 2015 года планируется завершить разработку всей необходимой функциональности, а до 4 февраля 2016 года стабилизировать кодовую базу для успешного прохождения всех тестов, после чего сформировать серию тестовых выпусков. Платформа Java 9 примечательна интеграцией наработок, созданных в рамках проекта Jigsaw, развивающего принципиально новые для Java средства разбиения программ и JDK на модули. Разбиение кода платформы Java на модули упростит создание, сопровождение и распространение больших приложений, позволив избавиться от наблюдаемых в настоящее время проблем с монолитными JAR и распространением наборов классов. Система модулей даст возможность легко выделять функциональность и формировать настраиваемые конфигурации, адаптируемые как для развёртывания на больших серверах, так и на встраиваемой технике. Модульные приложения, построенные на основе модульной платформы Java, потребуют загрузки меньшего объёма данных и позволят достигнуть более высокой производительности за счёт более эффективной оптимизации специфичных для используемой конфигурации модулей.
В настоящее время в JDK 9 одобрена реализация трёх спецификаций, связанных с модулями: JEP 200 - определение модульной структуры JDK; JEP 201 - реорганизация кода JDK в модули, усовершенствование системы сборки для поддержки компиляции модулей, раздельная обработка модулей на этапе сборки; JEP 220 - реструктуризация структуры бинарных образов JDK и JRE для поддержки модулей и увеличения производительности, безопасности и удобства сопровождения.
Некоторые другие улучшения: Легковесный JSON API для обработки и генерации данных в формате JSON; Новый API HTTP-клиент, идущий на замену HttpURLConnection и поддерживающий HTTP/2.0 и websockets; Улучшенный API для управления процессами на уровне операционной системы; Улучшение работы блокировок для конкурирующих Java-объектов, позволившие повысить производительность в условиях, когда разные нити одновременно пытаются получить доступ к объектам; Сегментирование кэша JIT-компилятора, позволяющее повысить производительность длительно выполняемых программ, сократить фрагментацию и время запуска; Добавление в компилятор sjavac (Smart Java compiler) средств параллельной и раздельной сборки, внесение улучшений для обеспечения сборки JDK и крупных проектов;