Better Containerized JVMs in JDK10
JDK 10 выйдет уже в марте — да так скоро, и в новой версии есть нововведения по контейнеризации джавы. Теперь кол-во памяти и ЦПУ можно указать с помощью квот — параметров докера, которые виртуальная машина научилась понимать.
Example Spring Boot 2 application
Это пример приложения spring-boot 2 с самыми модными технологиями: Kotlin 1.2, Java 9, JUnit 5, TestContainers, WebFlux CRUD with Reactive MongoDB client.
Now You See Me, Now You Don’t: LinkedIn’s Real-Time Presence Platform
Инженеры Линкедин рассказывают как они реализовали статусы пользователей. С виду простая задача: отобразить зеленый кружок когда пользователь онлайн, серый — когда оффлайн и написать время последнего пребывания. Но внутри все не так просто. Реализовано все на акторах, но концепцию легко перенести и в наш джава мир.
JEP 325: Switch Expressions
Switch — достаточно старая конструкция языка. Для новичков она выглядит как рудимент и вызывает много вопросов. Java Enhancement Proposal(JEP) направлен на усовершенствование этой конструкции. Теперь можно использовать лямбда выражения в блоке с case без “все время забываемых” break и return.
JAVAPARSER TO GENERATE, ANALYZE AND MODIFY JAVA CODE
С помощью библиотеки JavaParser можно генерировать, читать, изменять джава код. У библиотеки понятный с первого раза АПИ. В статье несколько примеров, как работать с этой библиотекой. Пробегитесь глазами, возможно, библиотека пригодится вам, если вы устанете писать код и захотите сгенерировать его автоматически.
In an increasingly complex world, Java takes the right move
Рассуждения на тему как хорошо что появилась модульность, и как хорошо что появится проект Graal. Автор считает, что джава движется в правильном направлении.
HOW TO COMPILE GROOVY BEFORE JAVA IN A GRADLE BUILD
Компилим груви файлы перед джава файлами с помощью грейдла. Почему? Потому что можем!
Spliterator Characteristics and Performance
Внутри стримов спрятаны так называемые «характеристики» стрима, описывающие данные в стриме. Казалось бы что они очень полезны. Например, если мы сразу знаем count, то при вызове count() можно сразу вернуть уже готовое значение. Но характеритики эти используются не всегда и иногда влияют на производительность в неожиданных местах.
Java 8 – The Bad Parts
Разработчики так рады стримам и лямбда функциям из восьмой джавы, что готовы закрывать глаза на недостатки. Как и любые технологии стримы не идеальны — об этом в статье.
Introduction to Headless Chrome
Начиная с версии 59 браузер Хром теперь поддерживает запуск в режиме “без интерфейса”. Теперь для тестирования приложений мы можем использовать тот же браузер, что и обычные пользователи.