Вышла Java 13
Прошли очередные 6 месяцев, и в строгом соответствии с расписанием вышла новая, 13-я версия платформы Java. Как обычно, доступны для скачивания сборки Oracle JDK и OpenJDK.
Исчерпывающий список изменений, который можно посмотреть на сайте Алексея Шипилёва, содержит более 2 тысяч закрытых задач...
Подробнее: https://telegra.ph/Java-13-is-out-09-18
Прошли очередные 6 месяцев, и в строгом соответствии с расписанием вышла новая, 13-я версия платформы Java. Как обычно, доступны для скачивания сборки Oracle JDK и OpenJDK.
Исчерпывающий список изменений, который можно посмотреть на сайте Алексея Шипилёва, содержит более 2 тысяч закрытых задач...
Подробнее: https://telegra.ph/Java-13-is-out-09-18
Telegraph
Java 13 is out
Вышла Java 13 Прошли очередные 6 месяцев, и в строгом соответствии с расписанием вышла новая, 13-я версия платформы Java. Как обычно, доступны для скачивания сборки Oracle JDK и OpenJDK. Исчерпывающий список изменений, который можно посмотреть на сайте Алексея…
Пробуем улучшенный оператор instanceof в Java 14
Не за горами новая, 14-я версия Java, а значит самое время посмотреть, какие новые синтаксические возможности будет содержать эта версия Java. Одной из таких синтаксических возможностей является паттерн-матчинг по типу, который будет осуществляться посредством улучшенного (расширенного) оператора instanceof.
Сегодня я хотел бы поиграться с этим новым оператором и рассмотреть особенности его работы более детально. Так как паттерн-матчинг по типу ещё не вошёл в главный репозиторий JDK, мне пришлось скачать репозиторий проекта Amber, в котором ведётся разработка новых синтаксических конструкций Java, и собрать JDK из этого репозитория.
Подробнее: https://habr.com/ru/post/477654/
Не за горами новая, 14-я версия Java, а значит самое время посмотреть, какие новые синтаксические возможности будет содержать эта версия Java. Одной из таких синтаксических возможностей является паттерн-матчинг по типу, который будет осуществляться посредством улучшенного (расширенного) оператора instanceof.
Сегодня я хотел бы поиграться с этим новым оператором и рассмотреть особенности его работы более детально. Так как паттерн-матчинг по типу ещё не вошёл в главный репозиторий JDK, мне пришлось скачать репозиторий проекта Amber, в котором ведётся разработка новых синтаксических конструкций Java, и собрать JDK из этого репозитория.
Подробнее: https://habr.com/ru/post/477654/
Хабр
Пробуем улучшенный оператор instanceof в Java 14
Не за горами новая, 14-я версия Java, а значит самое время посмотреть, какие новые синтаксические возможности будет содержать эта версия Java. Одной из таких син...
Плагинное приложение на Java без боли
В этой статье я хотел бы рассказать, как быстро и просто сделать каркас приложения на Java с поддержкой динамической загрузки плагинов. Читателю наверняка сразу в голову придёт, что такая задача уже давно решена, и можно просто использовать готовые фреймворки или написать свой загрузчик классов, но в предлагаемом мною решении ничего этого не потребуется:
• Нам не понадобятся специальные библиотеки или фреймворки (OSGi, Guice и т.п.)
• Мы не будем использовать парсинг байткода с помощью ASM и подобных библиотек.
• Не будем писать свой загрузчик классов.
• Не будем использовать рефлексию и аннотации.
• Не понадобится возня с classpath для поиска плагинов. Мы вообще не будем трогать classpath.
• Также мы не будем использовать XML, YAML или какие-либо другие декларативные языки для описания точек расширений (extension point’ов в плагинах).
Однако всё же есть одно требование — такое решение будет работать только на Java 9 или выше. Потому что оно будет основано на модулях и сервисах.
Читать далее: https://habr.com/ru/post/479478/
В этой статье я хотел бы рассказать, как быстро и просто сделать каркас приложения на Java с поддержкой динамической загрузки плагинов. Читателю наверняка сразу в голову придёт, что такая задача уже давно решена, и можно просто использовать готовые фреймворки или написать свой загрузчик классов, но в предлагаемом мною решении ничего этого не потребуется:
• Нам не понадобятся специальные библиотеки или фреймворки (OSGi, Guice и т.п.)
• Мы не будем использовать парсинг байткода с помощью ASM и подобных библиотек.
• Не будем писать свой загрузчик классов.
• Не будем использовать рефлексию и аннотации.
• Не понадобится возня с classpath для поиска плагинов. Мы вообще не будем трогать classpath.
• Также мы не будем использовать XML, YAML или какие-либо другие декларативные языки для описания точек расширений (extension point’ов в плагинах).
Однако всё же есть одно требование — такое решение будет работать только на Java 9 или выше. Потому что оно будет основано на модулях и сервисах.
Читать далее: https://habr.com/ru/post/479478/
Хабр
Плагинное приложение на Java без боли
В этой статье я хотел бы рассказать, как быстро и просто сделать каркас приложения на Java с поддержкой динамической загрузки плагинов. Читателю наверняка сразу...
Исследуем записи в Java 14
В прошлый раз мы тестировали улучшенный оператор
У записей есть свой JEP, однако он не сильно блещет подробностями, поэтому многое придётся пробовать и проверять самим. Да, можно конечно, открыть спецификацию Java SE, но, мне кажется, гораздо интереснее самим начать писать код и смотреть на поведение компилятора в тех или иных ситуациях. Так что заваривайте чаёк и располагайтесь поудобнее. Поехали: https://habr.com/ru/post/482300/
В прошлый раз мы тестировали улучшенный оператор
instanceof, который появится в грядущей, 14-й версии Java (выйдет в марте 2020). Сегодня я хотел бы исследовать в деталях вторую синтаксическую возможность, которая также появится в Java 14: записи (records).У записей есть свой JEP, однако он не сильно блещет подробностями, поэтому многое придётся пробовать и проверять самим. Да, можно конечно, открыть спецификацию Java SE, но, мне кажется, гораздо интереснее самим начать писать код и смотреть на поведение компилятора в тех или иных ситуациях. Так что заваривайте чаёк и располагайтесь поудобнее. Поехали: https://habr.com/ru/post/482300/
Хабр
Исследуем записи в Java 14
В прошлый раз мы тестировали улучшенный оператор instanceof, который появится в грядущей, 14-й версии Java (выйдет в марте 2020). Сегодня я хотел бы исследовать...
У miniJUG появился сайт
Друзья, хорошие новости! Теперь у miniJUG появился свой веб-сайт minijug.ru, куда были старательно перенесены все публикации с telegra.ph и Хабра с момента создания нашего Телеграм-канала. Таким образом, весь контент за два с лишним года года теперь присутствует на сайте для вашего удобства. Если вдруг вы хотите перечитать какую-то статью или новость, то можете легко её найти с помощью карты сайта.
Подробнее: https://minijug.ru/introducing_minijug_website.html
(К сожалению, Instant View для ссылок на сайт пока что ещё недоступен, несмотря на, что я отправил шаблон почти неделю назад. Видимо, команда Telegram сейчас занята другими делами, и шаблон некому одобрить. Поэтому пока что я буду использовать обходной путь в виде второй ссылки, которая зашита в двоеточии)
Друзья, хорошие новости! Теперь у miniJUG появился свой веб-сайт minijug.ru, куда были старательно перенесены все публикации с telegra.ph и Хабра с момента создания нашего Телеграм-канала. Таким образом, весь контент за два с лишним года года теперь присутствует на сайте для вашего удобства. Если вдруг вы хотите перечитать какую-то статью или новость, то можете легко её найти с помощью карты сайта.
Подробнее: https://minijug.ru/introducing_minijug_website.html
(К сожалению, Instant View для ссылок на сайт пока что ещё недоступен, несмотря на, что я отправил шаблон почти неделю назад. Видимо, команда Telegram сейчас занята другими делами, и шаблон некому одобрить. Поэтому пока что я буду использовать обходной путь в виде второй ссылки, которая зашита в двоеточии)
miniJUG
У miniJUG появился сайт
Друзья, хорошие новости! Теперь у miniJUG появился свой веб-сайт minijug.ru, куда были старательно перенесены все публикации с telegra.ph и Хабра с момента создания нашего Телеграм-канала. Таким…
В Java появятся скрытые классы
На сайте OpenJDK появился новый JEP 371, в котором предлагается ввести в язык специальный тип классов, называемых скрытыми. Скрытые классы будут стандартной заменой существующего метода
• Скрытый класс создаётся во время выполнения с помощью нового метода
• На такой класс не могут прямо ссылаться другие классы. Всё его использование может осуществляться исключительно через рефлексию.
• Такой класс является необнаружимым: его нельзя найти ни по имени, ни обнаружить с помощью загрузчиков классов (через
• Имя скрытого класса получается конкатенацией его имени в байт-коде, символа
• Методы скрытых классов не появляются в стек-трейсах, если не включить опции
Подробнее: https://minijug.ru/hidden_classes.html
На сайте OpenJDK появился новый JEP 371, в котором предлагается ввести в язык специальный тип классов, называемых скрытыми. Скрытые классы будут стандартной заменой существующего метода
sun.misc.Unsafe.defineAnonymousClass(), который станет deprecated for removal. Скрытый класс – это класс, который обладает следующими характеристиками:• Скрытый класс создаётся во время выполнения с помощью нового метода
Lookup.defineHiddenClass().• На такой класс не могут прямо ссылаться другие классы. Всё его использование может осуществляться исключительно через рефлексию.
• Такой класс является необнаружимым: его нельзя найти ни по имени, ни обнаружить с помощью загрузчиков классов (через
Class.forName(), ClassLoader.loadClass(), ClassLoader.findLoadedClass() и т.д.)• Имя скрытого класса получается конкатенацией его имени в байт-коде, символа
'/' и суффикса, который зависит от реализации JVM. Например, com.example.Foo/1234.• Методы скрытых классов не появляются в стек-трейсах, если не включить опции
-XX:+UnlockDiagnosticVMOptions и -XX:+ShowHiddenFrames.Подробнее: https://minijug.ru/hidden_classes.html
miniJUG
В Java появятся скрытые классы
На сайте OpenJDK появился новый JEP 371, в котором предлагается ввести в язык специальный тип классов, называемых скрытыми. Скрытые классы будут стандартной заменой существующего метода…
Подписывайтесь на второй канал @microJUG
Друзья, я долго думал над тем, стоит ли в этот канал постить мелкие заметки и интересные ссылки, выражать в свободной форме свои мысли по поводу тех или иных событий, происходящих с Java. В итоге я решил, что нет, всё-таки не буду. Пусть формат этого канала остаётся как есть: здесь будут только новости и статьи, написанные мной. А для всякой отсебятины и мелочи я решил завести отдельный канал.
Встречайте: https://t.me/microJUG.
Контент в этих двух каналах никак не будет пересекаться. Вы можете подписаться на оба канала, можете остаться подписанным только на miniJUG, а можете подписаться только на microJUG. Вам решать.
Друзья, я долго думал над тем, стоит ли в этот канал постить мелкие заметки и интересные ссылки, выражать в свободной форме свои мысли по поводу тех или иных событий, происходящих с Java. В итоге я решил, что нет, всё-таки не буду. Пусть формат этого канала остаётся как есть: здесь будут только новости и статьи, написанные мной. А для всякой отсебятины и мелочи я решил завести отдельный канал.
Встречайте: https://t.me/microJUG.
Контент в этих двух каналах никак не будет пересекаться. Вы можете подписаться на оба канала, можете остаться подписанным только на miniJUG, а можете подписаться только на microJUG. Вам решать.
Telegram
microJUG
Мысли о Java.
Основной канал: @miniJUG
Буст: https://t.me/microJUG?boost
Чат: https://t.me/micro_JUG
Таблица JEP'ов: https://minijug.org/jeps.html
Основной канал: @miniJUG
Буст: https://t.me/microJUG?boost
Чат: https://t.me/micro_JUG
Таблица JEP'ов: https://minijug.org/jeps.html
API, ради которых наконец-то стоит обновиться с Java 8. Часть 1
На сегодняшний день Java 8 является самой популярной версией Java и ещё довольно долго будет ей оставаться. Однако с тех пор уже выпущено пять новых версий Java (9, 10, 11, 12, 13), и совсем скоро выйдет ещё одна, Java 14. В этих новых версиях появилось гигантское количество новых возможностей. Например, если считать в JEP'ах, то в сумме их было реализовано 141:
• 99 в JDK 9
• 12 в JDK 10
• 17 в JDK 11
• 8 в JDK 12
• 5 в JDK 13
• (+14 в JDK 14)
Однако в этом цикле статей не будет никакого сухого перечисления JEP'ов. Вместо этого я хочу просто рассказать об интересных API, которые появились в новых версиях. Каждая статья будет содержать по 10 API. В выборе и порядке этих API не будет какой-то определённой логики и закономерности. Это будет просто 10 случайных API, не ТОП 10 и без сортировки от наиболее важного API к наименее важному. Давайте начнём: https://habr.com/ru/post/485750/
На сегодняшний день Java 8 является самой популярной версией Java и ещё довольно долго будет ей оставаться. Однако с тех пор уже выпущено пять новых версий Java (9, 10, 11, 12, 13), и совсем скоро выйдет ещё одна, Java 14. В этих новых версиях появилось гигантское количество новых возможностей. Например, если считать в JEP'ах, то в сумме их было реализовано 141:
• 99 в JDK 9
• 12 в JDK 10
• 17 в JDK 11
• 8 в JDK 12
• 5 в JDK 13
• (+14 в JDK 14)
Однако в этом цикле статей не будет никакого сухого перечисления JEP'ов. Вместо этого я хочу просто рассказать об интересных API, которые появились в новых версиях. Каждая статья будет содержать по 10 API. В выборе и порядке этих API не будет какой-то определённой логики и закономерности. Это будет просто 10 случайных API, не ТОП 10 и без сортировки от наиболее важного API к наименее важному. Давайте начнём: https://habr.com/ru/post/485750/
Хабр
API, ради которых наконец-то стоит обновиться с Java 8. Часть 1
На сегодняшний день Java 8 является самой популярной версией Java и ещё довольно долго будет ей оставаться. Однако с тех пор уже выпущено пять новых версий Java...
API, ради которых наконец-то стоит обновиться с Java 8. Часть 2
Продолжаем рассказ про API, которые появились в новых версиях Java.
1. Files.mismatch()
Появился в: Java 12
На практике довольно часто возникает необходимость проверить, являются ли два файла в точности одинаковыми или нет. С помощью метода
Это может быть полезно, например, когда синхронизируешь содержимое двух директорий. Чтобы не перезаписывать файл при копировании тем же самым содержимым и лишний раз не нагружать диск, можно сначала проверить, идентичны файлы или нет: https://habr.com/ru/post/487636/
Продолжаем рассказ про API, которые появились в новых версиях Java.
1. Files.mismatch()
Появился в: Java 12
На практике довольно часто возникает необходимость проверить, являются ли два файла в точности одинаковыми или нет. С помощью метода
Files.mismatch(), появившегося в Java 12, это наконец-то можно сделать. Этот метод возвращает позицию первого несовпадающего байта в двух файлах или -1, если файлы идентичны.Это может быть полезно, например, когда синхронизируешь содержимое двух директорий. Чтобы не перезаписывать файл при копировании тем же самым содержимым и лишний раз не нагружать диск, можно сначала проверить, идентичны файлы или нет: https://habr.com/ru/post/487636/
Хабр
API, ради которых наконец-то стоит обновиться с Java 8. Часть 2
Продолжаем рассказ про API, которые появились в новых версиях Java. 1. Files.mismatch() Появился в: Java 12 На практике довольно часто возникает необходимость п...
Из Java исчезнет Nashorn
На сайте OpenJDK вышел новый JEP, в котором предлагается убрать из JDK движок JavaScript Nashorn и инструмент jjs.
Nashorn появился в Java 8 в качестве более современной и производительной замены Rhino, предыдущего движка JavaScript в JDK. Когда Nashorn был выпущен, он был полной реализацией стандарта ECMAScript-262 5.1...
Подробнее: https://minijug.ru/remove_nashorn.html
На сайте OpenJDK вышел новый JEP, в котором предлагается убрать из JDK движок JavaScript Nashorn и инструмент jjs.
Nashorn появился в Java 8 в качестве более современной и производительной замены Rhino, предыдущего движка JavaScript в JDK. Когда Nashorn был выпущен, он был полной реализацией стандарта ECMAScript-262 5.1...
Подробнее: https://minijug.ru/remove_nashorn.html
miniJUG
Из Java исчезнет Nashorn
На сайте OpenJDK вышел новый JEP, в котором предлагается убрать из JDK движок JavaScript Nashorn и инструмент jjs…
Вышла Java 14
18 марта вышла общедоступная версия Java 14.
В этот релиз попало 16 JEP'ов, а также сотни более мелких улучшений и тысячи исправлений багов: https://minijug.ru/java_14_is_out.html
18 марта вышла общедоступная версия Java 14.
В этот релиз попало 16 JEP'ов, а также сотни более мелких улучшений и тысячи исправлений багов: https://minijug.ru/java_14_is_out.html
miniJUG
Вышла Java 14
Вышла общедоступная версия Java 14. Ссылки на скачивание…
В Java появятся паттерны деконструкции
В недавно вышедшем JEP 375 появилась информация о введении в язык так называемых паттернов деконструкции. Такие паттерны позволят применять оператор
В недавно вышедшем JEP 375 появилась информация о введении в язык так называемых паттернов деконструкции. Такие паттерны позволят применять оператор
instanceof не просто для теста по типу, но и для извлечения компонентов этого типа. В первой реализации можно будет извлекать только компоненты записей: https://minijug.ru/deconstruction_patterns.htmlminiJUG
В Java появятся паттерны деконструкции
В недавно вышедшем JEP 375 появилась информация о введении в язык так называемых паттернов деконструкции. Такие паттерны позволят применять оператор instanceof не просто для теста по типу, но и для…
В Java можно будет объявлять локальные интерфейсы и перечисления
На сайте OpenJDK вышел новый черновик JEP с заголовком "Records (Second Preview)". В нём специфицируются некоторые изменения в записях по сравнению с первым preview, а также возможность объявлять в методах интерфейсы и перечисления.
Напомним, что в Java есть возможность объявлять классы внутри методов. Такие классы называются локальными. Локальные классы очень похожи на внутренние классы, но они ещё могут захватывать effectively final переменные, объявленные выше в этом же методе. На практике чаще всего используются анонимные локальные классы, но именованные локальные классы также возможны: https://minijug.ru/local_interfaces_and_enums.html
На сайте OpenJDK вышел новый черновик JEP с заголовком "Records (Second Preview)". В нём специфицируются некоторые изменения в записях по сравнению с первым preview, а также возможность объявлять в методах интерфейсы и перечисления.
Напомним, что в Java есть возможность объявлять классы внутри методов. Такие классы называются локальными. Локальные классы очень похожи на внутренние классы, но они ещё могут захватывать effectively final переменные, объявленные выше в этом же методе. На практике чаще всего используются анонимные локальные классы, но именованные локальные классы также возможны: https://minijug.ru/local_interfaces_and_enums.html
miniJUG
В Java можно будет объявлять локальные интерфейсы и перечисления
На сайте OpenJDK вышел новый черновик JEP с заголовком "Records (Second Preview)". В нём специфицируются некоторые изменения в записях по сравнению с первым preview, а также возможность объявлять в…
Java исполняется 25 лет
Друзья, сегодня у нас знаменательная дата. 23 мая 1995 года, ровно 25 лет назад, вышла первая публичная версия языка программирования Java. Новый язык мгновенно завоевал огромную популярность: благодаря простоте, кроссплатформенности, отсутствию необходимости вручную освобождать память и при этом довольно неплохой производительности разработчики получили огромный прирост в скорости написания программ. Java быстро стала стандартом де-факто для написания корпоративных веб-приложений. Сегодня по самым скромным оценкам порядка 15% всего Интернета работает на JVM.
С момента выхода первой версии язык и платформа кардинально эволюционировали. JDK стала полностью открытым и свободным ПО. JIT-компилятор был усовершенствован настолько, что программы на Java по скорости хорошо приблизились к C++. Появилось несметное количество инструментов и библиотек, решающих самый большой спектр задач. С возможностями IntelliJ IDEA не может соревноваться ни одна другая среда разработки. Новые сборщики мусора Shenandoah и ZGC сделали возможным писать приложения, чувствительные к миллисекундным временам отклика. Сам язык значительно изменился: появились дженерики, аннотации, лямбда-выражения, модули. Были созданы другие популярные языки на основе JVM, такие как Scala, Kotlin, Groovy.
Сегодня Java продолжает развиваться огромными темпами. Версии Java стали выходить раз в полгода, что теперь позволяет разработчикам начать пользоваться нововведениями намного раньше. В рамках проекта Amber в языке появляются всё новые и новые синтаксические изменения, которые позволят сделать код ещё выразительнее и безопаснее. Проекты Valhalla и Graal позволят ещё сильнее увеличить производительность Java-программ, сократив разницу с нативными языками до минимума. Проект Panama ликвидирует брешь в возможностях взаимодействия JVM с нативным кодом. Проект Loom позволит писать многопоточные конкурентные приложения так же просто, как в Erlang и Go. Проект Leyden поможет в решении проблемы медленного старта Java-приложений.
25 лет – это немалый возраст для языка, но Java ни в коем случае не устарела. Наоборот, сегодня она находится на самом пике своего цветения и продолжает уверенно укреплять свои позиции на рынке. Эти 25 лет были прекрасным временем, но будущее будет ещё более светлым и захватывающим.
Всех с праздником! 🥳
Друзья, сегодня у нас знаменательная дата. 23 мая 1995 года, ровно 25 лет назад, вышла первая публичная версия языка программирования Java. Новый язык мгновенно завоевал огромную популярность: благодаря простоте, кроссплатформенности, отсутствию необходимости вручную освобождать память и при этом довольно неплохой производительности разработчики получили огромный прирост в скорости написания программ. Java быстро стала стандартом де-факто для написания корпоративных веб-приложений. Сегодня по самым скромным оценкам порядка 15% всего Интернета работает на JVM.
С момента выхода первой версии язык и платформа кардинально эволюционировали. JDK стала полностью открытым и свободным ПО. JIT-компилятор был усовершенствован настолько, что программы на Java по скорости хорошо приблизились к C++. Появилось несметное количество инструментов и библиотек, решающих самый большой спектр задач. С возможностями IntelliJ IDEA не может соревноваться ни одна другая среда разработки. Новые сборщики мусора Shenandoah и ZGC сделали возможным писать приложения, чувствительные к миллисекундным временам отклика. Сам язык значительно изменился: появились дженерики, аннотации, лямбда-выражения, модули. Были созданы другие популярные языки на основе JVM, такие как Scala, Kotlin, Groovy.
Сегодня Java продолжает развиваться огромными темпами. Версии Java стали выходить раз в полгода, что теперь позволяет разработчикам начать пользоваться нововведениями намного раньше. В рамках проекта Amber в языке появляются всё новые и новые синтаксические изменения, которые позволят сделать код ещё выразительнее и безопаснее. Проекты Valhalla и Graal позволят ещё сильнее увеличить производительность Java-программ, сократив разницу с нативными языками до минимума. Проект Panama ликвидирует брешь в возможностях взаимодействия JVM с нативным кодом. Проект Loom позволит писать многопоточные конкурентные приложения так же просто, как в Erlang и Go. Проект Leyden поможет в решении проблемы медленного старта Java-приложений.
25 лет – это немалый возраст для языка, но Java ни в коем случае не устарела. Наоборот, сегодня она находится на самом пике своего цветения и продолжает уверенно укреплять свои позиции на рынке. Эти 25 лет были прекрасным временем, но будущее будет ещё более светлым и захватывающим.
Всех с праздником! 🥳
Всем привет. На днях я поучаствовал в подкасте @javaswag. Обсудили много интересным тем. Я рассказал про то, почему когда-то ушёл C# на Java, как функциональные языки повлияли на мой стиль кода, стоит ли использовать var или нет, и какие крутые новшества появились в Java 9-11 (спойлер: не только модули). В общем, приглашаю послушать.
Ссылка на SoundCloud
Ссылка на Google Podcasts
Ссылка на Apple Podcasts
Ну и подписывайтесь на канал @javaswag – там берут интервью у многих других интересных гостей.
Ссылка на SoundCloud
Ссылка на Google Podcasts
Ссылка на Apple Podcasts
Ну и подписывайтесь на канал @javaswag – там берут интервью у многих других интересных гостей.
SoundCloud
Hear the world’s sounds
Explore the largest community of artists, bands, podcasters and creators of music & audio
Исследуем sealed классы в Java 15
Продолжаем исследовать новые возможности, которые появляются в Java. В прошлые разы мы подробно рассматривали улучшенный оператор
Идея введения в язык «запечатанных» типов впервые была подробно описана в феврале 2019 года в документе «Data Classes and Sealed Types for Java», и в июле того же года получила свой JEP 360: https://habr.com/ru/post/505696/
Продолжаем исследовать новые возможности, которые появляются в Java. В прошлые разы мы подробно рассматривали улучшенный оператор
instanceof и записи, а сегодня объектом исследования будут sealed классы, которые запланированы к выходу в пятнадцатой версии Java.Идея введения в язык «запечатанных» типов впервые была подробно описана в феврале 2019 года в документе «Data Classes and Sealed Types for Java», и в июле того же года получила свой JEP 360: https://habr.com/ru/post/505696/
Хабр
Исследуем sealed классы в Java 15
Продолжаем исследовать новые возможности, которые появляются в Java. В прошлые разы мы подробно рассматривали улучшенный оператор instanceof и записи, а сегодня...
Вышла вторая часть выпуска подкаста @javaswag про нововведения в новых версиях Java. В этот раз мы обсудили Nestmates, выражения switch, блоки текста, паттерн-матчинг для instanceof, записи, CDS-архивы. Так же поздравили нашу любимую Java с днём рождения и вспомнили, как она начиналась.
Ссылки: SoundCloud, Google Podcasts, Apple Podcasts.
P.S. В следующем выпуске у нас будет интересный гость. Его имя я пока называть не буду, но дам вам подсказку: он недавно стал чемпионом. В каком виде спорта – угадайте сами :)
Ссылки: SoundCloud, Google Podcasts, Apple Podcasts.
P.S. В следующем выпуске у нас будет интересный гость. Его имя я пока называть не буду, но дам вам подсказку: он недавно стал чемпионом. В каком виде спорта – угадайте сами :)
SoundCloud
Евгений Козлов - День рождения Java и новые фичи Java 12-14
В 9 выпуске подкаста Javaswag поговорили с Евгением Козловым о 25 летии джавы и новых фичах в 12 и 14 версиях.
00:00 Приветствие
00:49 История Java 1.0
06:29 Джава не прижилась в клиенте
12:17 Зависи
00:00 Приветствие
00:49 История Java 1.0
06:29 Джава не прижилась в клиенте
12:17 Зависи
Forwarded from javaswag
https://soundcloud.com/javaswag/10-tagir-valeev-sibirskiy-java-chempion
В 10 выпуске подкаста Javaswag поговорили с Тагиром Валеевым о джава чемпионстве, фичах Intellij IDEA и коммитах в OpenJDK.
00:00 Приветствие
01:11 Как стать джава чемпионом
08:31 Кандидат наук
17:12 Как ты все успеваешь?
28:26 Три самые крупные фичи в IDEA
37:01 Поддержка рекордов в IDEA
40:19 IDEA умеет генерировать рекорды по классам?
43:42 Как IDEA справляется с полугодовым релизным циклом?
46:46 Недооцененная фича в IDEA по мнению Тагира
52:51 Насколько глубоко анализирует IDEA?
1:00:38 Выведение контрактов в IDEA
1:07:02 Какой самый первый патч в OpenJDK?
1:08:29 OpenJDK и GitHub
1:13:23 Можно ли обновлять поля рекордов?
1:18:28 Деконструкция рекордов
1:23:10 Рекорды и сериализация
1:24:31 На рекорды стоит смотреть через призму сериализации
1:25:32 Сериализация восстанет из пепла
1:26:20 Про конференции
1:29:38 JVM Language Summit
Гость - https://twitter.com/tagir_valeev
В 10 выпуске подкаста Javaswag поговорили с Тагиром Валеевым о джава чемпионстве, фичах Intellij IDEA и коммитах в OpenJDK.
00:00 Приветствие
01:11 Как стать джава чемпионом
08:31 Кандидат наук
17:12 Как ты все успеваешь?
28:26 Три самые крупные фичи в IDEA
37:01 Поддержка рекордов в IDEA
40:19 IDEA умеет генерировать рекорды по классам?
43:42 Как IDEA справляется с полугодовым релизным циклом?
46:46 Недооцененная фича в IDEA по мнению Тагира
52:51 Насколько глубоко анализирует IDEA?
1:00:38 Выведение контрактов в IDEA
1:07:02 Какой самый первый патч в OpenJDK?
1:08:29 OpenJDK и GitHub
1:13:23 Можно ли обновлять поля рекордов?
1:18:28 Деконструкция рекордов
1:23:10 Рекорды и сериализация
1:24:31 На рекорды стоит смотреть через призму сериализации
1:25:32 Сериализация восстанет из пепла
1:26:20 Про конференции
1:29:38 JVM Language Summit
Гость - https://twitter.com/tagir_valeev
SoundCloud
Hear the world’s sounds
Explore the largest community of artists, bands, podcasters and creators of music & audio
Вышла Java 15
Сегодня, 15 сентября 2020 года, в свет вышла 15-я версия платформы Java. Как и всегда, доступны для скачивания сборки Oracle JDK и OpenJDK.
В новый релиз попало 14 JEP'ов и сотни более мелких улучшений. Если хочется ознакомиться с полным списком изменений с точностью до всех JIRA-тикетов, то их можно посмотреть на сайте Алексея Шипилёва. Также если интересны все изменения API, то их можно посмотреть...
Подробнее: https://habr.com/ru/post/519270/
Сегодня, 15 сентября 2020 года, в свет вышла 15-я версия платформы Java. Как и всегда, доступны для скачивания сборки Oracle JDK и OpenJDK.
В новый релиз попало 14 JEP'ов и сотни более мелких улучшений. Если хочется ознакомиться с полным списком изменений с точностью до всех JIRA-тикетов, то их можно посмотреть на сайте Алексея Шипилёва. Также если интересны все изменения API, то их можно посмотреть...
Подробнее: https://habr.com/ru/post/519270/
Хабр
Вышла Java 15
Сегодня в свет вышла новая, 15-я версия платформы Java. Скачать JDK 15 можно по следующим ссылкам: Oracle JDK (проприетарная версия, обратите внимание на ограни...
Новости Java #1
Всех с Новым 2021 Годом! 🎄
Новый год – новое начинание. Будем делать еженедельную подборку новостей Java.
• В компиляторе javac нашли баг, который не позволяет использовать лямбды в компактных конструкторах записей при определённых обстоятельствах. Баг был обнаружен пользователем skohlman в Твиттере.
• Вышла стабильная версия JetBrains Runtime под Apple M1. Теперь она включена почти во все IDE компании, начиная с версии 2020.3.1. Пользователи уже доложили о нескольких ошибках, которые проявляются в различных IDE.
• Разработчики обнаружили новый класс HexFormat, который появится в Java 17. С помощью этого класса можно будет конвертировать строки с шестнадцатеричными символами в массивы байтов и обратно.
• Huawei реализовал свой порт OpenJDK 11 под архитектуру Linux/RISC-V и спрашивает, заинтересовано ли сообщество во включении этого порта в jdk-master. Alibaba изъявили желание помочь и сделать вклад в разработку.
• Команда Jetty рассказала об опыте перехода веб-сервера на виртуальные нити из проекта Loom. Они сделали вывод, что количество нитей – это не всегда главный лимитирующий фактор, и правило «просто всегда создавай виртуальную нить» может не сработать, если каждая нить имеет глубокий стек или держит какие-то большие ресурсы.
• Разработчик из Oracle рассказал о том, как ускорил MD5 в OpenJDK.
📆 До выхода Java 16 осталось 72 дня.
Всех с Новым 2021 Годом! 🎄
Новый год – новое начинание. Будем делать еженедельную подборку новостей Java.
• В компиляторе javac нашли баг, который не позволяет использовать лямбды в компактных конструкторах записей при определённых обстоятельствах. Баг был обнаружен пользователем skohlman в Твиттере.
• Вышла стабильная версия JetBrains Runtime под Apple M1. Теперь она включена почти во все IDE компании, начиная с версии 2020.3.1. Пользователи уже доложили о нескольких ошибках, которые проявляются в различных IDE.
• Разработчики обнаружили новый класс HexFormat, который появится в Java 17. С помощью этого класса можно будет конвертировать строки с шестнадцатеричными символами в массивы байтов и обратно.
• Huawei реализовал свой порт OpenJDK 11 под архитектуру Linux/RISC-V и спрашивает, заинтересовано ли сообщество во включении этого порта в jdk-master. Alibaba изъявили желание помочь и сделать вклад в разработку.
• Команда Jetty рассказала об опыте перехода веб-сервера на виртуальные нити из проекта Loom. Они сделали вывод, что количество нитей – это не всегда главный лимитирующий фактор, и правило «просто всегда создавай виртуальную нить» может не сработать, если каждая нить имеет глубокий стек или держит какие-то большие ресурсы.
• Разработчик из Oracle рассказал о том, как ускорил MD5 в OpenJDK.
📆 До выхода Java 16 осталось 72 дня.