Мои десятилетние поиски кратких лямбда-выражений на Java
https://donraab.medium.com/my-ten-year-quest-for-concise-lambda-expressions-in-java-39fde576b950
https://donraab.medium.com/my-ten-year-quest-for-concise-lambda-expressions-in-java-39fde576b950
Medium
My ten year quest for concise lambda expressions in Java
One developer’s mission to hold off the horde of for loops in Java.
[Перевод] Все что вам нужно знать о таймаутах
Какустановить оптимальное значение таймаутов вмикросервисной архитектуре, чтобы достичь максимальной производительности и отказоустойчивости.
Под катом вы узнаете как установить оптимальные значение connection и request timeout, стоит ли повторять запрос при ошибке или лучше избегать этого.
В конце статьи есть небольшая шпаргалка и куча полезных ссылок. Приятного чтения.
https://habr.com/ru/articles/755750/
Какустановить оптимальное значение таймаутов вмикросервисной архитектуре, чтобы достичь максимальной производительности и отказоустойчивости.
Под катом вы узнаете как установить оптимальные значение connection и request timeout, стоит ли повторять запрос при ошибке или лучше избегать этого.
В конце статьи есть небольшая шпаргалка и куча полезных ссылок. Приятного чтения.
https://habr.com/ru/articles/755750/
Хабр
Все что вам нужно знать о таймаутах
Никто не любит ждать и мы в Zalando не исключение. Мы не любим когда наши клиенты долго ждут доставку, мы не любим когда наши клиенты долго ждут оформления заказа и мы не любим медленные микросервисы....
👍3
Чтобы стать выдающимся #Java -разработчиком, мы должны выйти за рамки #Java . Нам нужно знать, как создавать масштабируемые системы. В этой новой статье вы изучите основы #cache
https://javachallengers.com/cache-systems-design/
https://javachallengers.com/cache-systems-design/
Java Challengers
Mastering the Fundamentals of Cache for Systems Design Interview
Mastering the fundamentals of cache will be crucial for your success in the systems design interview. Learn the fundamentals of cache here!
This media is not supported in your browser
VIEW IN TELEGRAM
🐛Используйте отладчик #IntelliJIDEA для отладки потоков и визуализации того, что происходит в операциях Java Stream, с помощью «Trace Current Stream Chain» в окне инструмента «Отладка».
👍5
До выпуска #Java21 осталось всего несколько недель .
Чего мы можем ожидать. https://blogs.oracle.com/javamagazine/post/java-21-sneak-peek
Чего мы можем ожидать. https://blogs.oracle.com/javamagazine/post/java-21-sneak-peek
Ускоряем java-рефлексию в 2023
Постановка задачи
Имеем в наличии jdk 17, хотим вызывать методы класса по имени и таким же образом обращаться к полям.
https://habr.com/ru/articles/758664/
Постановка задачи
Имеем в наличии jdk 17, хотим вызывать методы класса по имени и таким же образом обращаться к полям.
https://habr.com/ru/articles/758664/
Хабр
Ускоряем java-рефлексию в 2023
Введение Привет, Хабр. С момента выхода в свет предыдущей статьи прошёл год с хвостиком, и у меня наконец-то дошли руки до написания исправленной версии, учитывающей предыдущие косяки с замером...
Представляем freeCodeCamp Press — бесплатные книги для разработчиков
Сообщество freeCodeCamp за годы опубликовало более 10 000 руководств. Но в последнее время мы сосредоточились на создании еще более объемных ресурсов для изучения математики, программирования и информатики.
Вот почему мы создали freeCodeCamp Press — подразделение freeCodeCamp, где мы публикуем полноформатные книги и справочники — все они доступны каждому бесплатно. https://www.freecodecamp.org/news/freecodecamp-press-books-handbooks/
Сообщество freeCodeCamp за годы опубликовало более 10 000 руководств. Но в последнее время мы сосредоточились на создании еще более объемных ресурсов для изучения математики, программирования и информатики.
Вот почему мы создали freeCodeCamp Press — подразделение freeCodeCamp, где мы публикуем полноформатные книги и справочники — все они доступны каждому бесплатно. https://www.freecodecamp.org/news/freecodecamp-press-books-handbooks/
freeCodeCamp.org
Introducing freeCodeCamp Press – Free Books for Developers
The freeCodeCamp community has published more than 10,000 tutorials on our publication over the years. But lately we've focused on creating even longer resources for learning math, programming, and computer science. This is why we've created freeCode...
👍1
Насколько быстро работает Java 21?
Поскольку выпуск Java 21 уже не за горами, у вас может возникнуть вопрос, чем она отличается от Java 17 и стоит ли вам обновляться. https://timefold.ai/blog/2023/java-21-performance/
Поскольку выпуск Java 21 уже не за горами, у вас может возникнуть вопрос, чем она отличается от Java 17 и стоит ли вам обновляться. https://timefold.ai/blog/2023/java-21-performance/
Timefold
How fast is Java 21?
Explore the performance of Java 21 against Java 17, revealing minor improvements in micro-benchmarks and real-world scenarios.
Java Digest #4.
Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом.
В этот раз эпиграф к выпуску нам придумал ChatGPT:
In the whimsical world of Java, where code dances with curiosity and logic wears a hat of wonder, our Java Digest takes you on a delightful journey through the rabbit hole of programming brilliance.
Stay tuned! 🙂
Читать четвертый выпуск https://habr.com/ru/companies/tinkoff/articles/759432
Всем привет! 👋 👋 👋 Мы Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не только с коллегами, но и со всем сообществом.
В этот раз эпиграф к выпуску нам придумал ChatGPT:
In the whimsical world of Java, where code dances with curiosity and logic wears a hat of wonder, our Java Digest takes you on a delightful journey through the rabbit hole of programming brilliance.
Stay tuned! 🙂
Читать четвертый выпуск https://habr.com/ru/companies/tinkoff/articles/759432
Хабр
Java Digest #4
Всем привет! ? ? ? Мы Java-разработчики Тинькофф: Константин , Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим не...
Перестаём бояться генерировать байт-код
Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом. На самом деле, я считаю такую точку зрения ошибочной. JVM устроена гораздо проще, чем CPU; она оперирует такими высокоуровневыми понятиями как классы, интерфейсы, методы, а не просто лопатит байты в памяти. В отличие от CPU, который легко уронить криво сгенерированным машинным кодом, JVM заботливо отверифицирует любой байт-код и в общем не даст выстрелить в ногу.
Но с чего начать погружение в байт-кодную магию? В сети есть некоторое количество туториалов по этому вопросу. Как мне кажется, они либо показывают слишком простые случаи, от которых непонятно, как перейти к чему-то более интересному, либо очень основательные и требуют вникать в теорию, собирать целиком картину в голове по кусочкам. Я хотел бы попробовать внести свой вклад в эту тему — надеюсь, у меня получится показать, как можно побороть первый страх и написать что-то похожее на реалистичный сценарий без особого вникания в теорию на первом этапе. https://habr.com/ru/articles/759990/
Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом. На самом деле, я считаю такую точку зрения ошибочной. JVM устроена гораздо проще, чем CPU; она оперирует такими высокоуровневыми понятиями как классы, интерфейсы, методы, а не просто лопатит байты в памяти. В отличие от CPU, который легко уронить криво сгенерированным машинным кодом, JVM заботливо отверифицирует любой байт-код и в общем не даст выстрелить в ногу.
Но с чего начать погружение в байт-кодную магию? В сети есть некоторое количество туториалов по этому вопросу. Как мне кажется, они либо показывают слишком простые случаи, от которых непонятно, как перейти к чему-то более интересному, либо очень основательные и требуют вникать в теорию, собирать целиком картину в голове по кусочкам. Я хотел бы попробовать внести свой вклад в эту тему — надеюсь, у меня получится показать, как можно побороть первый страх и написать что-то похожее на реалистичный сценарий без особого вникания в теорию на первом этапе. https://habr.com/ru/articles/759990/
Хабр
Перестаём бояться генерировать байт-код
Многие, возможно, думают, что работа с байт-кодом Java (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом....
В этой статье мы углубимся в часто возникающий на собеседовании вопрос: как эффективно управлять родительско-дочерними отношениями в приложении Spring Boot. Этот вопрос имеет большое значение на собеседованиях с Java-разработчиками, поскольку затрагивает фундаментальные концепции. Чтобы всесторонне понять эту тему, важно получить представление о том, как Spring Data JPA работает «под капотом».
https://rathod-ajay.medium.com/managing-parent-child-relationships-with-spring-data-jpa-a-comprehensive-guide-327a9c3e3c6f
https://rathod-ajay.medium.com/managing-parent-child-relationships-with-spring-data-jpa-a-comprehensive-guide-327a9c3e3c6f
Medium
“Managing Parent-Child Relationships with Spring Data JPA: A Comprehensive Guide”.
In this article, we will delve deep into an interview question that often arises: how to effectively manage parent-child relationships in a…
Изучите методы динамического программирования на Java
Динамическое программирование — это мощный метод, ставший краеугольным камнем в мире алгоритмов и информатики. Это метод, который разбивает проблемы на более мелкие, более управляемые подзадачи, решая каждую только один раз и сохраняя решения на случай, если они потребуются снова. Этот подход особенно полезен для задач оптимизации, когда вы ищете лучшее решение среди множества возможных решений. https://www.freecodecamp.org/news/learn-dynamic-programming-in-java/
Динамическое программирование — это мощный метод, ставший краеугольным камнем в мире алгоритмов и информатики. Это метод, который разбивает проблемы на более мелкие, более управляемые подзадачи, решая каждую только один раз и сохраняя решения на случай, если они потребуются снова. Этот подход особенно полезен для задач оптимизации, когда вы ищете лучшее решение среди множества возможных решений. https://www.freecodecamp.org/news/learn-dynamic-programming-in-java/
freeCodeCamp.org
Learn Dynamic Programming Techniques in Java
Dynamic programming is a powerful technique that has been a cornerstone in the world of algorithms and computer science. It's a method that breaks down problems into smaller, more manageable sub-problems, solving each one only once and storing their ...
Делаем свою простейшую систему сборки для Java
Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна и решает прикладные задачи. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.
Один из последних вопросов был про устройство сборки, непонимание того как исходный код собирается в исполняемый и запускается. Начинающим обычно говорят в духе "вот создаешь Gradle-проект, в IDE жмешь кнопочку запуска и все работает". Но как только возникает необходимость что-то в этом простом процессе усложнить, или понять - начинаются проблемы.
Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри - магия, превращающая исходный код в запущенную программу.
В этой статье я пробегусь по основам того, как в Java работает компиляция, а также покажу, как по шагам прийти от компиляции отдельных файлов вручную к идее необходимости системы сборки, и как написать свою простенькую систему. Ведь лучший способ понять, как что-то устроено внутри - сделать это самому. https://habr.com/ru/articles/752014/
Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна и решает прикладные задачи. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.
Один из последних вопросов был про устройство сборки, непонимание того как исходный код собирается в исполняемый и запускается. Начинающим обычно говорят в духе "вот создаешь Gradle-проект, в IDE жмешь кнопочку запуска и все работает". Но как только возникает необходимость что-то в этом простом процессе усложнить, или понять - начинаются проблемы.
Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри - магия, превращающая исходный код в запущенную программу.
В этой статье я пробегусь по основам того, как в Java работает компиляция, а также покажу, как по шагам прийти от компиляции отдельных файлов вручную к идее необходимости системы сборки, и как написать свою простенькую систему. Ведь лучший способ понять, как что-то устроено внутри - сделать это самому. https://habr.com/ru/articles/752014/
Хабр
Делаем свою простейшую систему сборки для Java
Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна. Но...
Готовы ли вы ко всем новым технологиям #Java21 ??
Ознакомьтесь со многими изменениями, маленькими и большими, охватывающими окончательные версии JEP, предварительный просмотр и что-то совершенно новое для платформы. https://blogs.oracle.com/javamagazine/post/java-inside-21-features
Ознакомьтесь со многими изменениями, маленькими и большими, охватывающими окончательные версии JEP, предварительный просмотр и что-то совершенно новое для платформы. https://blogs.oracle.com/javamagazine/post/java-inside-21-features
Вышла общедоступная версия Java 21. В этот релиз попало около 2500 закрытых задач и 15 JEP'ов. Release Notes можно посмотреть здесь. Изменения API – здесь.
Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода. https://habr.com/ru/articles/762084/
Java 21 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода. https://habr.com/ru/articles/762084/
Хабр
Вышла Java 21
Вышла общедоступная версия Java 21 . В этот релиз попало около 2500 закрытых задач и 15 JEP'ов . Release Notes можно посмотреть здесь . Изменения API – здесь . Java 21 является LTS-релизом, а...
OOM: direct memory при работе с сетью TCP/IP через NIO в Java.
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать далее https://habr.com/ru/companies/bercut/articles/762254
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать далее https://habr.com/ru/companies/bercut/articles/762254
Хабр
OOM: direct memory при работе с сетью TCP/IP через NIO в Java
Вступление Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java. Сегодня я расскажу об опыте...
Категоризированный список всех функций Java и JVM, начиная с JDK 8–21.
https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/
https://advancedweb.hu/a-categorized-list-of-all-java-and-jvm-features-since-jdk-8-to-21/
Advanced Web Machinery
A categorized list of all Java and JVM features since JDK 8 to 21
From Java 8 to 21
Minum — это минималистичный экспериментальный веб-фреймворк, демонстрирующий меньше, да лучше.
https://github.com/byronka/minum
https://github.com/byronka/minum
GitHub
GitHub - byronka/minum: a small framework for web applications
a small framework for web applications. Contribute to byronka/minum development by creating an account on GitHub.
Управление памятью в Java: введение
Понимание управления памятью в Java и, в частности, роли распределения объектов имеет важное значение при оптимизации производительности системы. https://foojay.io/today/java-memory-management/
Понимание управления памятью в Java и, в частности, роли распределения объектов имеет важное значение при оптимизации производительности системы. https://foojay.io/today/java-memory-management/
foojay
Memory Management in Java: An Introduction
Understanding memory management in Java, and particularly the role of object allocation is essential when optimising system performance.
👍3
Аннотации и рефлексия в Java.
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения. Читать дальше →https://habr.com/ru/companies/otus/articles/764244
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения. Читать дальше →https://habr.com/ru/companies/otus/articles/764244
Хабр
Аннотации и рефлексия в Java
Привет, уважаемые читатели Хабра! Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных...