В выпуске - пишем UDP сервер, оптимизируем код для JIT с помощью JITWatch и разбираемся как работает ThreadLocalRandom.

A Guide To UDP In Java

В статье рассказывается как работать с 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.

Удачи!

dilbert-agile http://dilbert.com/strip/2016-07-30