Насколько быстро работает 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, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных...
Документация Spring Boot 3 REST API с использованием SpringDoc OpenAPI
В этом руководстве мы узнаем, как создавать документацию REST API с использованием библиотеки SpringDoc OpenAPI в приложениях Spring Boot 3. https://www.javaguides.net/2023/03/spring-boot-3-rest-api-documentation.html
В этом руководстве мы узнаем, как создавать документацию REST API с использованием библиотеки SpringDoc OpenAPI в приложениях Spring Boot 3. https://www.javaguides.net/2023/03/spring-boot-3-rest-api-documentation.html
www.javaguides.net
Spring Boot 3 REST API Documentation using SpringDoc OpenAPI
In this tutorial, we will learn how to generate REST API documentation using the SpringDoc OpenAPI library in Spring Boot 3 Applications.
👍1
В этом руководстве показано, как создать архитектуру микросервисов с помощью Spring Boot и Spring Cloud. https://auth0.com/blog/java-spring-boot-microservices/
Auth0 - Blog
Java Microservices with Spring Boot and Spring Cloud
This tutorial shows you how to build a microservices architecture with Spring Boot and Spring Cloud.
👍2
10 лучших веб-сайтов для практики программирования на Java и вопросы для собеседования
https://levelup.gitconnected.com/10-best-websites-to-practice-java-programming-and-coding-interview-questions-1d2731d8a852
https://levelup.gitconnected.com/10-best-websites-to-practice-java-programming-and-coding-interview-questions-1d2731d8a852
Medium
10 Best Places for Coding Interview Questions
My favorite website to practice Java coding interview questions along with LeetCode and HackerRank
Разница между @Spy и @SpyBean
В этом руководстве мы стремимся рассмотреть разницу между @Spy и @SpyBean , объяснив их функциональные возможности и предоставив рекомендации о том, когда использовать каждый из них. https://www.baeldung.com/spring-spy-vs-spybean
В этом руководстве мы стремимся рассмотреть разницу между @Spy и @SpyBean , объяснив их функциональные возможности и предоставив рекомендации о том, когда использовать каждый из них. https://www.baeldung.com/spring-spy-vs-spybean
Baeldung
Difference Between @Spy and @SpyBean | Baeldung
Learn the difference between @Spy and @SpyBean in Spring.
ИИ в Java: создание клона ChatGPT с помощью Spring Boot и LangChain
Научитесь создавать клон ChatGPT с помощью Spring Boot, LangChain и Hilla на Java. https://dzone.com/articles/ai-in-java-building-a-chatgpt-clone-with-spring-bo
Научитесь создавать клон ChatGPT с помощью Spring Boot, LangChain и Hilla на Java. https://dzone.com/articles/ai-in-java-building-a-chatgpt-clone-with-spring-bo
DZone
AI in Java: Building a ChatGPT Clone With Spring Boot and LangChain
Learn to build a ChatGPT clone with Spring Boot, LangChain, and Hilla in Java. Cover both synchronous chat completions and advanced streaming completion.
У нас для тебя есть дебетовая карта с кэшбэком и ежемесячным доходом на остаток — Tinkoff Black в космическом дизайне 🚀🌌, которая позволяет зарабатывать реальные рубли с каждой покупки.
Оставь заявку на оформление карты потратить от 3000 рублей в течение месяца после активации карты и получи 1000 рублей кэшбэка.
Переходи по ссылке и оформляй себе карту:
https://l.tinkoff.ru/pesero
Please open Telegram to view this post
VIEW IN TELEGRAM
Опытные вопросы для собеседования по Spring/Spring Boot для разработчиков Java-2023 [5–10 лет]
В этой статье рассматриваются недавно возникшие вопросы на собеседованиях для опытных Java-разработчиков, знакомых со Spring и Spring Boot. Эти вопросы предназначены для оценки глубоких знаний среды Spring и ее Spring Boot. https://rathod-ajay.medium.com/experienced-spring-spring-boot-interview-questions-for-java-developers-2023-5-10-years-157c22c85e04
В этой статье рассматриваются недавно возникшие вопросы на собеседованиях для опытных Java-разработчиков, знакомых со Spring и Spring Boot. Эти вопросы предназначены для оценки глубоких знаний среды Spring и ее Spring Boot. https://rathod-ajay.medium.com/experienced-spring-spring-boot-interview-questions-for-java-developers-2023-5-10-years-157c22c85e04
Medium
Experienced Spring/Spring Boot Interview Questions for Java Developers-2023[5–10 years]
This article explores recently encountered interview questions for experienced Java developers who are familiar with Spring and Spring…