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

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

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

Как известно, «к вершине Фудзи ведет множество троп«. Так и функциональное программирование и функциональный подход можно освоить разными способами. За последние 10 лет на эту тему было опубликовано множество книг, недостатка в информаци не было, но вот для меня в этих книгах отсутствовала подача фундаментальных концепций. На словах было понятно, что функциональное программирование это интересно, и молодежно. Но в чем именно заключался «профит» от него — в книгах это разъяснение отсуствовало. Во всяком случае, мне такие книги не попадались. Если вам удалось найти такую книгу, пишите советуйте в комментах. Непременно почитаю.

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

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

Читать далее

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

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

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

Читать далее