Java-дайджест (27 августа — 04 сентября)

Этот дайджест взаимодополняет выпуск подкаста «Разбор Полётов». На этот раз в студии были Виктор Гамов, Барух Садогурский и Олег Чирухин.
Получить запись подкаста можно либо пройдя по ссылке на сайт РП, либо скачав MP3-файл.


  • В JDK 12 появились первые JEP.
    • Raw String Literals:
    • Switch Expressions:
  • Напоминаем, что JDK 11 сейчас находится в стадии первого Release Candidate, финальный RC будет 8 сентября, а 25 сентября мы-таки увидим релиз.
  • В Golang 2.0, скорей всего, будут дженерики. Кто там говорил, что дженерики в Java — для лохов? 🙂
  • Вышел Kotlin 1.3-M2 с поддержкой Contracts. Подробности есть в ченжлоге. Хороший пост про контракты писал Илья Горбунов. Вкратце, это экспериментальное дополнение к системе типов вот такого вида:
  • Вышел Kotlin DSL Release Candidate 3. А окончательно он будет зарелизен одновременно с Gradle 5.0. Если вы не видели ещё его в действии, можно посмотреть вот это видео:
  • Uber выпустили JVM Profiler под названием «JVM Profiler». С открытыми исходниками. После перехода на него, на одном из своих приложений они смогли снизить потребление памяти на 2 терабайта. Из коробки он умеет следующие фичи:
    • Отладка использования памяти. Java heap memory, non-heap memory, native memory (VmRSS, VmHWM), memory pool, buffer pool (directed/mapped buffer);
    • Отладка использования CPU и GC;
    • Duration Profiling (для произвольного метода класса, как часто он использовался);
    • Argument Profiling (отслеживание аргументов вызова произвольного метода);
    • Stacktrack Profiling & flamegraph generation;
    • Метрики IO (r/w диска, CPU iowait).
  • В Eclipse выпустили новое облачное IDE для GitHub — GitPod. Фронт работает на Theia, бэк — докерный контейнер. Кастомные языки на LSP, визуализация диаграмм на Sprotty, интеграция с языками Xtext.
  • В Eclipse всё еще помнят об Xtext и Xtend и недавно опубликовали хороший гид по новым фичам. В основном там про интеграцию с Eclipse IDE. Напоминаю, что на наших конференциях про Xtend делает доклады Андрей Когунь.
  • А вот вы знаете об JS-подобном языке и IDE под названием N4JS? А оно живое и шевелится. Вкратце, это такая штука для разработки больших и сложных приложений для Node.js, с IDE чем-то похожем на JetBrains WebStorm. Так вот, недавно вышла новая статья про уже реализованные фичи, в которых заявлены визуализация AST и графа потока исполнения.
  • Три очередных интервью из жизни JakartaEE: раз, два, три.
  • Eclipse зарелизило MicroProfile версий 1.4 и 2.0.

  • WildFly 14 вышел и официально сертифицирован для Java EE8. Вот список новых и обновленных стандартов в нем:
    • Java Servlet
    • Contexts and Dependency Injection for — Java
    • Bean Validation
    • JavaServer Faces
    • JavaMail
    • Java API for RESTFul Web Services
    • Java API for JSON Processing
    • Java API for JSON Binding
    • Common Annotations for the Java Platform
    • Java EE Security
    • Java Persistence
  • Федеральный суд отклонил апелляцию Google. Следующий этап — Верховный Суд.
  • GitHub решил послушать жалобы пользователей и анонсировал Project Paper Cuts. Пока что в рамках проекта они отгрузили следующие ништяки:
    • Access your repositories straight from the profile dropdown
    • Highlight permalinked comments
    • Remove files from a pull request with a button
    • Branch names in merge notification emails
    • Create new pull requests from your repository’s Pull Requests Page
    • Add a teammate from the team discussions page
    • Collapse all diffs in a pull request at once
    • Copy the URL of a comment
  • Подписчикам Safari online books должен стать доступен rough-cut второй редакции книги «Refactoring». Посмотреть на rough-cut можно по ссылке. Интересно, что Фаулер тут же написал заметку «Most people will be disappointed by the second edition»
  • Вышла очередная порция статистики от RedMonk, показывающая, что JVM-языки потихоньку растут: Scala (2), Clojure (4), Groovy (2). А вот у Kotlin почему-то просел на 1 место. Но авторы предупреждают, что на мелкие продвижения по рейтингу стоит смотреть скептически. Гораздо интересней их же обновленное исследование с прогрессом языков в масштабе долгих лет.
  • Google анонсировали облачный text-to-speech. Стоимость на момент написания статьи — 4 бакса за миллион символов (либо 16 баксов за продвинутые голоса из WaveNet).
  • Появилась новая операционная система IncludeOS, микроядерная ОС, работающая поверх GNU/Linux и позволяющая запускать приложения в облаке за десятки миллисекунд и использующая очень мало памяти. Тот вариант что сейчас имеется, запускается на macOS и Linux с помощью Qemu. Ах, если бы на ней запустить приложения, генерируемые GraalVM native-image…

Дайджест готовили

  • Текстовая версия: Олег Чирухин (контент, верстка, проверка фактов) и редакция JUG.ru Group;
  • Подкаст «Разбор Полётов» (ссылка на запись): Виктор Гамов, Барух Садогурский и Олег Чирухин.