Был официально выпущен Java 15. Неожиданно вклад Tencent, использующий C++, превысил вклад Alibaba.

Java

Ява, 25 лет.

В 2020 году Java исполняется 25 лет. За последние несколько лет Java предоставила пользователям более двух десятилетий инноваций, основанных на прошлых улучшениях, таких как Generics в Java 5, Lambdas в Java 8 и Modules в Java 9, которые улучшили производительность, стабильность и безопасность Java-платформа.

Хотя Java уже 25 лет, он все еще продолжает внедрять инновации. 15 сентября Oracle объявила об официальном выпуске JDK15. Это шестой выпуск после того, как цикл итерации Java был сокращен до шести месяцев. С ускорением скорости итерации тестировщикам Java-дизайна легче справляться с изменениями в итерации.

За шесть месяцев темпы выпуска новых готовых к производству версий JDK значительно увеличились. Вместо десятков тысяч исправлений и около сотни предложений по улучшению JDK (JEP), выпускаемых крупными выпусками каждые несколько лет.

Java JEP数量随着迭代的加速更加容易应对

Предложения по улучшению JDK: для краткости JEP предложения по улучшению JDK — это предложения по добавлению и улучшению функций JDK.

Китайские предприятия вносят выдающийся вклад

Кроме того, сообщество OpenJDK также внесло важный вклад в рождение JDK 15. Помимо известных технологических гигантов, есть также несколько небольших организаций и независимых разработчиков.

参与JDK15 ISSUES修复的组织

Oracle по-прежнему является основной силой в разработке JDK, выполняя 79,68% рабочей нагрузки, за ней следует гигант с открытым исходным кодом Red Hat. Местная компания, внесшая наибольший вклад, — это Tencent, которую Oracle назвал и поблагодарил. Alibaba и Huawei также внесли неизгладимый вклад. Вклад Java в научную и технологическую мощь Китая может значительно усилить мощь китайских информационных технологий.

Java 15

Java 15 предоставляет пользователямЧетырнадцать основных улучшений/изменений, включая модуль инкубатора, три функции предварительного просмотра, две устаревшие функции и две функции удаления.

Алгоритм цифровой подписи EdDSA

Недавно добавлен алгоритм цифровой подписи Эдвардса-Кривой (EdDSA) для реализации зашифрованной подписи. Поддерживается многими другими криптографическими библиотеками, такими как OpenSSL и BoringSSL. EdDSA имеет более высокий уровень безопасности и производительности, чем существующие схемы подписи в JDK. Это новая функция.

скрытый класс

Эта функция помогает платформам, которым необходимо генерировать классы во время выполнения. Классы, сгенерированные платформой, должны динамически расширять свое поведение, но хотят ограничить доступ к этим классам. Скрытые классы полезны, потому что они доступны только через отражение, а не из обычного байт-кода. Кроме того, скрытые классы можно загружать независимо от других классов, что может уменьшить объем памяти, занимаемой фреймворком. Это новая функция.

Повторно реализовать DatagramSocket API

Повторно реализовать устаревший API DatagramSocket и заменить его более простой и современной реализацией.java.net.DatagramSocketиjava.net.MulticastSocketБазовая реализация API повышает удобство сопровождения и стабильность JDK.

Функция ZGC положительная

ZGC былJEP 333Р ГJDK 11, его цель — повысить производительность за счет сокращения времени пауз сборщика мусора. В JEP 377 компания ZGC перешла от функции предварительного просмотра к функции производства.

Исправлена ​​функция текстового блока

текстовый блок поJEP 355Представлен в 2019 году. Текстовый блок — это многострочный строковый литерал, который позволяет избежать большинства escape-последовательностей, автоматически форматирует строку предсказуемым образом и дает разработчику контроль над форматированием, когда это необходимо. В JEP 378 текстовые блоки стали постоянной особенностью языка Java.

Алгоритм сборки мусора Shenandoah оказался положительным

Сборка мусора Шенандоа превратилась из экспериментальной функции в серийную. Это алгоритм повторного использования, представленный в JDK 12, который сокращает время пауз GC, выполняя работу по эвакуации одновременно с выполнением потоков Java. Время паузы для Shenandoah не зависит от размера кучи и имеет одинаковое время паузы, независимо от того, составляет ли стек 200 МБ или 200 ГБ.

Запечатанный класс (предварительная версия)

Используется для ограничения использования суперклассов, запечатанных классов и интерфейсов, ограничивающих другие классы или интерфейсы, которые могут их наследовать или реализовать. Это новая функция предварительного просмотра.

instanceof автоматически сопоставляет шаблоны (предварительная версия)

До этого в Java:

// 先判断类型
if (obj instanceof String) {
    // 然后转换
    String s = (String) obj;
    // 然后才能使用
}

В автоматическом режиме:

if (obj instanceof String s) {
    // 如果类型匹配 直接使用
} else {
    // 如果类型不匹配则不能直接使用
}

Это второй предварительный просмотр функции, которую мы уже анонсировали впервые в Java 14.

Класс записей (предварительная версия)

Это тоже второй превью. Я подробно представил эту функцию. Вы можете найти ее наЗаписи JEP 359, новые возможности Java 14Узнайте больше об этом в этой статье.

API доступа к внешней памяти (предварительная версия)

Цель состоит в том, чтобы представить API, позволяющий Java-программам безопасно и эффективно обращаться к внешней памяти за пределами кучи Java. Это также предварительная функция Java 14.

разное

Есть и другие устаревшие и устаревшие функции, такие как удаление движка Nashorn JavaScript, а также удаление портов Solaris и SPARC. и пометил некоторые устаревшие функции.

关注公众号:Felordcn获取更多资讯

Личный блог: https://felord.cn