Архив за месяц: Май 2022

Книга «Grokking Simplicity» — отличное введение в функциональное программирование

Закончил чтение книги Grokking Simplicity: Taming complex software with functional thinking. Очень советую ее прочитать всем. Это одна из тех книг, которые относятся к категории концептуальных книг.

Книга очень подробно излагает на примерах концепции и идеи функционального программирования. Мне понравилось то, что в книге концепции эти подаются очень взвешенно, постепенно и подробно объясняются с помощью иллюстраций, схем и кода.

Для примеров используется код, написанный на JavaScript. Автор выбрал именно этот язык потому что а) его практически все программисты знают, а те, кто не знает, легко его поймут б) в нем отсутствуют многие инструменты функционального программирования, которые присутствуют в других языках уже изначально. Поэтому из главы в главу постепенно вместе с автором мы создает инструменты-элементы функциональных программ, которые в других языках мы получаем «из коробки». Автор считает что, так мы лучше понимаем, как эти элементарные инструменты работают изнутри.

Данная заметка может превратиться в пересказ книги, если я начну глубоко копать. Поэтому приведу лишь несколько примеров отличных идей, изложенных в книге.

Читать далее

Зачем выставлять стартовые параметры -Xmx и -Xms у JVM на одно значение

В стартовых параметрах Java есть два параметра -Xmx и -Xms, которые отвечают за то, какой объем heap вы хотите выделить вашему приложению при старте (-Xms), и какой максимальный объем памяти (-Xmx) вы хотите выделить для программы за все время ее работы.

Опыт показывает, что для улучшения производительности крупного «тяжелого» Java-приложения лучше всего этим двум параметрам давать одно и то же значение. Как выбрать конкретное значение, рассказывается в другой статье. В данной заметке я просто приведу несколько аргументов в пользу этой стратегии.

Читать далее