Java Blog
4 subscribers
4 photos
20 links
Download Telegram
Java Digest #1

1) Начался релизный цикл Java 21, который выйдет 19 сентября.
2) В Intellij IDEA появится AI-ассистент, который поможет с документацией и сообщениями коммитов.
3) Опубликованы доклады со Spring I/O 2023, включая Keynote и презентацию Presentation As A Code.
4) Spring Boot Application Testing and Development with Testcontainers подробно описывает поддержку Testcontainers в Spring Boot 3.1.
5) Использование оконных функций с Hibernate 5 и 6 рассматривается в статье.
6) Лучшие практики скриптования в Jira Server/Data Center - как написать автоматизацию на Groovy с использованием API Jira Java.
👍1
Как пройти собес и не облажаться

Тренировка: намеренное тренировочное собеседование с друзьями или сервисом Pramp.
Задачи и навыки: изучение алгоритмов на LeetCode, использование roadmap.
Резюме: писать на английском, избегать красных флагов, указывать ключевые навыки.
Как вести себя на интервью: отвечать на базовые вопросы, демонстрировать знания Computer Science, продуктовых вещей, практики.
Уровень зарплаты: ориентироваться на рынок, примерные цифры для разных уровней.
👍1
Как установить java (jdk) на windows:

1) Готовая сборка openjdk под windods: https://learn.microsoft.com/en-us/java/openjdk/download и просто установить
2) Готовая сборка adopt-jdk под windods: https://adoptium.net/temurin/releases/?version=17

Скачать .msi фал и установить
👍1
Lazy и Eager - это два подхода к загрузке данных в Hibernate, который является инструментом для работы с базами данных в Java.

Lazy Loading (ленивая загрузка):
В случае использования ленивой загрузки, Hibernate загружает данные из базы данных только тогда, когда они действительно понадобятся в программе.
Например, если у вас есть сущность, связанная с другой сущностью (например, Order и связанная с ней Customer), то при использовании ленивой загрузки, информация о Customer будет загружена только тогда, когда вы попытаетесь обратиться к ней.
Это может быть полезно в случаях, когда у вас есть большая база данных с множеством связанных данных, но вы хотите загружать только то, что действительно нужно в текущей ситуации. Это помогает экономить ресурсы.

Eager Loading (жадная загрузка):
При использовании жадной загрузки, Hibernate пытается загрузить все связанные данные сразу, когда основная сущность извлекается из базы данных.
Например, если вы используете жадную загрузку в предыдущем примере, то при запросе Order, данные о Customer будут загружены одновременно.
Это может быть полезно, когда вы точно знаете, что вам понадобятся все связанные данные, чтобы избежать дополнительных обращений к базе данных в будущем.
Какой подход использовать зависит от конкретной ситуации и требований вашего приложения. Обычно, если у вас есть много связанных данных и вы не уверены, нужны ли они вам в текущем контексте, то лучше использовать ленивую загрузку. Если же вы уверены, что вам понадобятся все связанные данные, то можно использовать жадную загрузку.

https://javarush.com/quests/lectures/questhibernate.level14.lecture01
Инструменты из JDK для диагностики java приложений
https://docs.oracle.com/en/java/javase/11/tools/troubleshooting-tools-and-commands.html
System Design

1. Где/зачем нужен системный дизайн
https://www.youtube.com/watch?v=o0gK-M_e5TM

2.2 Сбор требований к системе
https://www.youtube.com/watch?v=TT4HCh0I7ks

3.2 Расчет нагрузки на систему
https://www.youtube.com/watch?v=zl12QDJozos

4.2 Высокоуровневый дизайн
https://www.youtube.com/watch?v=6yeMShynJw0

5.2 Выбор подходящих баз данных
https://www.youtube.com/watch?v=CcstkG8RCAc

6.2 Модульный подход к дизайну
https://www.youtube.com/watch?v=uhH5f72O9pU

7.2 Масштабирование системы
https://www.youtube.com/watch?v=68Dcpg7Tx1Q

8.2 Повышение отзывчивости
https://www.youtube.com/watch?v=-SbDjL_g1wo

9.2 Подсистемы для поиска
https://www.youtube.com/watch?v=yxIVBKANSkQ

10.2 Дополнительные подсистемы
https://www.youtube.com/watch?v=vP3g6Y-262Y

11.1 Функциональные и нефункциональные требования к системе
https://www.youtube.com/watch?v=eQZ9K-q8jiM

11.2 Оценка нагрузки и высокоуровневый дизайн приложения
https://www.youtube.com/watch?v=gxEaU73IKeo

11.3 Дизайн компонентов
https://www.youtube.com/watch?v=WsGaBdZ3HKg

11.4 Масштабируем сервисы
https://www.youtube.com/watch?v=kt1cEfJyNJg

12. Дизайним сервис такси
https://www.youtube.com/watch?v=HdwrKS8mPow