Java
1.63K subscribers
223 photos
5 videos
3 files
901 links
Программирование на Java.

По всем вопросам: @un_ixtime
Download Telegram
Насколько быстро работает Java 21?

Поскольку выпуск Java 21 уже не за горами, у вас может возникнуть вопрос, чем она отличается от Java 17 и стоит ли вам обновляться. https://timefold.ai/blog/2023/java-21-performance/
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 (будь то чтение или, тем более, генерация) — это какая-то особенная магия, доступная только продвинутым разработчикам с особенно крутым опытом. На самом деле, я считаю такую точку зрения ошибочной. JVM устроена гораздо проще, чем CPU; она оперирует такими высокоуровневыми понятиями как классы, интерфейсы, методы, а не просто лопатит байты в памяти. В отличие от CPU, который легко уронить криво сгенерированным машинным кодом, JVM заботливо отверифицирует любой байт-код и в общем не даст выстрелить в ногу.

Но с чего начать погружение в байт-кодную магию? В сети есть некоторое количество туториалов по этому вопросу. Как мне кажется, они либо показывают слишком простые случаи, от которых непонятно, как перейти к чему-то более интересному, либо очень основательные и требуют вникать в теорию, собирать целиком картину в голове по кусочкам. Я хотел бы попробовать внести свой вклад в эту тему — надеюсь, у меня получится показать, как можно побороть первый страх и написать что-то похожее на реалистичный сценарий без особого вникания в теорию на первом этапе. https://habr.com/ru/articles/759990/
В этой статье мы углубимся в часто возникающий на собеседовании вопрос: как эффективно управлять родительско-дочерними отношениями в приложении Spring Boot. Этот вопрос имеет большое значение на собеседованиях с Java-разработчиками, поскольку затрагивает фундаментальные концепции. Чтобы всесторонне понять эту тему, важно получить представление о том, как Spring Data JPA работает «под капотом».

https://rathod-ajay.medium.com/managing-parent-child-relationships-with-spring-data-jpa-a-comprehensive-guide-327a9c3e3c6f
Изучите методы динамического программирования на Java

Динамическое программирование — это мощный метод, ставший краеугольным камнем в мире алгоритмов и информатики. Это метод, который разбивает проблемы на более мелкие, более управляемые подзадачи, решая каждую только один раз и сохраняя решения на случай, если они потребуются снова. Этот подход особенно полезен для задач оптимизации, когда вы ищете лучшее решение среди множества возможных решений. https://www.freecodecamp.org/news/learn-dynamic-programming-in-java/
Делаем свою простейшую систему сборки для Java

Довелось мне обучать одного знакомого, желающего войти в ИТ (привет, Саша!). Человек он упорный, прошел разные курсы, стажировки, упорно продолжает идти вперед и уже вполне тянет на уровень джуна и решает прикладные задачи. Но иногда внезапно задает такие вопросы, из которых я понимаю, что у него огромные дыры в базовых знаниях и представлениях. На курсах этому, видимо, не учат.

Один из последних вопросов был про устройство сборки, непонимание того как исходный код собирается в исполняемый и запускается. Начинающим обычно говорят в духе "вот создаешь Gradle-проект, в IDE жмешь кнопочку запуска и все работает". Но как только возникает необходимость что-то в этом простом процессе усложнить, или понять - начинаются проблемы.

Gradle/Maven при этом представляются таким черным ящиком, в котором есть кнопка сборки и запуска, а внутри - магия, превращающая исходный код в запущенную программу.

В этой статье я пробегусь по основам того, как в Java работает компиляция, а также покажу, как по шагам прийти от компиляции отдельных файлов вручную к идее необходимости системы сборки, и как написать свою простенькую систему. Ведь лучший способ понять, как что-то устроено внутри - сделать это самому. https://habr.com/ru/articles/752014/
Готовы ли вы ко всем новым технологиям #Java21 ??

Ознакомьтесь со многими изменениями, маленькими и большими, охватывающими окончательные версии 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/
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
Minum — это минималистичный экспериментальный веб-фреймворк, демонстрирующий меньше, да лучше.

https://github.com/byronka/minum
Управление памятью в Java: введение

Понимание управления памятью в Java и, в частности, роли распределения объектов имеет важное значение при оптимизации производительности системы. https://foojay.io/today/java-memory-management/
👍3
Аннотации и рефлексия в Java.

Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения. Читать дальше →https://habr.com/ru/companies/otus/articles/764244
Документация 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
👍1
В этом руководстве показано, как создать архитектуру микросервисов с помощью Spring Boot и Spring Cloud. https://auth0.com/blog/java-spring-boot-microservices/
👍2
Разница между @Spy и @SpyBean

В этом руководстве мы стремимся рассмотреть разницу между @Spy и @SpyBean , объяснив их функциональные возможности и предоставив рекомендации о том, когда использовать каждый из них. https://www.baeldung.com/spring-spy-vs-spybean
ИИ в 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
Кэшбэк 1000 рублей за трату от 3000 рублей

У нас для тебя есть дебетовая карта с кэшбэком и ежемесячным доходом на остаток — Tinkoff Black в космическом дизайне 🚀🌌, которая позволяет зарабатывать реальные рубли с каждой покупки.

Оставь заявку на оформление карты потратить от 3000 рублей в течение месяца после активации карты и получи 1000 рублей кэшбэка.

Чего ждать от карты

🟡Повышенный кэшбэк до 15% в 4 категориях из 7 предложенных (или до 15% в 3 категориях и до 1% на все).
🟡Кэшбэк до 30% по спецпредложениям.
🟡Доход на остаток — до 5% годовых с подпиской Pro.
🟡и это ещё не всё

Переходи по ссылке и оформляй себе карту:
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