В выпуске - пишем UDP сервер, оптимизируем код для JIT с помощью JITWatch и разбираемся как работает ThreadLocalRandom.
В статье рассказывается как работать с UDP пакетами в Java. На примере простого UDP сервера и клиента автор рассказывает чем отличаются протоколы TCP от UDP и как это ложится на Java.
Linked Array Queues, part 1: SPSC
Нитсан разрабатывает библиотеку JCTools и предлагает реализации очередей, которых по его мнению не хватает в Java. В статье рассматривается несколько типов очередей с примерами реализаций из JCTools.
Why it rocks to finally understand Java JIT with JITWatch
JitWatch - утилита которая показывает, как JIT компилятор работает с вашим кодом. В ней можно найти длинные методы в приложении и посмотреть во что компилируется класс. JITWatch поможет найти “узкие места” в коде и переписать их, чтобы код стал JIT-friendly.
New Tricks with Dynamic Proxies in Java 8 (part 2)
В статье несколько примеров и трюков по использованию прокси-объектов, а также сравнение их производительности.
Do you really need instanceof?
Автор предлагает присмотреться к местам, где в коде используется ‘instanceof’ и попробовать заменить его на паттерн “Визитор”. Станет ли код читабельней или производительней — открытый вопрос. В статье обсуждение и примеры замены.
Generational disparity in garbage collection
Рафаэль — создатель известной библиотеки для работы с байт кодом - ByteBuddy. В статье он рассказывает как инструментировал ForkJoinPool и боролся со сборкой долгоживущих объектов в своей библиотеке.
HTTP headers forwarding in microservices
Николас рассказывает о том как можно написать свой “трейсирующий” фреймворк поверх Спринга. Фреймворк добавляет всего три заголовка в запросы к микросервисам. Фреймворк поможет отслеживать работу ваших сервисов и написать кастомный мониторинг для вашего приложения.
Memory efficient HashSet implementation for Java
Автор поставил задачу — написать свой HashSet для hex строк, который будет потреблять меньше памяти чем стандартный из Java. Что в итоге получилось читаем в статье.
Netty Tutorial Part 1: Introduction to Netty
Последние три недели плотно работал с библиотекой Netty - реализовывал RPC(Remote Procedure Call). Про RPC на Netty написано не мало, но как всегда нужен свой “узкозаточенный” мини-фреймворк. Это одна из двух частей статей, которые помогли мне вспомнить основные концепции Netty.
Java ThreadLocalRandom explained
Автор разобрается в алгоритмах которые стоят за генерацией случайных чисел в джаве. Титанический труд прочитать все научные работы, стоящие за константами и “магией” в джаве.
Еженедельные выпуски Джавасвэга на почту — http://javaswag.curated.co.
Еженедельные выпуски Джавасвэга в Телеграме — http://telegram.me/javaswag.
Удачи!