Библиотека Java разработчика
10.8K subscribers
1.14K photos
564 videos
58 files
1.44K links
📚 Лайфхаки, приёмы и лучшие практики для Java-разработчиков. Всё, что ускорит код и прокачает навыки. Java, Spring, Maven, Hibernate.


По всем вопросам @evgenycarter

РКН clck.ru/3KoGeP
Download Telegram
Как сгенерировать фальшивые тестовые данные

Вы также часто не испытываете вдохновения, когда вам нужно придумать полезные тестовые данные для ваших модульных тестов? Является ли "неизвестный" вашим лучшим другом в тестировании? Не волнуйтесь, Java Faker приходит на помощь! В этом статье вы узнаете, как генерировать тестовые данные.

https://mydeveloperplanet.com/2022/04/19/how-to-generate-fake-test-data/

👉@BookJava
👍3
Java уроки для начинающих

#1 | Установка JDK | Установка Intellij Idea | Hello World
#2 | Переменные | Ошибки компиляции
#3 | Примитивные типы данных | Тип данных char
#4 | Примитивные числовые типы данных | byte | short | int | long
#5 | Примитивные вещественные типы данных | double | float
#6 | Тип boolean | Операторы сравнения |Условный оператор if
#7 | Логические операции И, ИЛИ, НЕ

источник

👉@BookJava
👍3🫡1🗿1
Как отслеживать приложение Spring Boot с помощью Ostara

Когда приложение в продакшене, разумно следить за его состоянием. Вы хотите быть уверены, что все работает без проблем, и единственный способ узнать это - определить состояние вашего приложения. Когда что-то пойдет не так, вы, надеюсь, получите уведомление до того, как ваш клиент заметит проблему, и, возможно, сможете решить ее до того, как клиент что-то заметит. В предыдущем посте было рассказано о том, как отслеживать состояние приложения с помощью Spring Actuator, Prometheus и Grafana. В этой заметке вы рассмотрите альтернативный подход с использованием Spring Actuator в сочетании с Ostara. Настройка Ostara немного проще, и поэтому она выглядит как подходящая альтернатива. Доказательство пудинга - в его поедании, так что давайте попробуем Ostara!

https://mydeveloperplanet.com/2023/11/29/how-to-monitor-a-spring-boot-app-with-ostara/

👉@BookJava
👍5
Java уроки для начинающих. Часть 2

#8 | Оператор выбора switch
#9 | Тип данных String
#10 | Комментарии
#11 | Массивы
#12 | Арифметические операци
#13 | Инкремент и декремент
#14 | Цикл for

источник

👉@BookJava
👍4
Запуск потоков в Java

В этой статье мы разберем различные способы запуска потоков. Описав задачу, мы выполнить ее в многопоточной среде при помощи класса Thread и сравним с продвинутыми способами работы создания и запуска потоков.

https://telegra.ph/Zapusk-potokov-v-Java-01-15

👉@BookJava
👍2
Что будет со ссылкой на метод, если заменить объект-владельца?

Ответ на этот вопрос будет очевиден, если вы уверенно понимаете, что скрывается за терминами ссылки вообще и ссылки на метод.

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

Факт позднего связывания в этом вопросе может ввести в заблуждение. Связывание случается в момент обращения, а не вызова. В результате в переменной хранится неизменяемая копия ссылки на метод. Она ведет на метод объекта, а не хранящей его переменной. Поэтому переприсвоение переменной позже не окажет на ссылку никакого эффекта.

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

class A {
void printMe() { System.out.printin("A"); }
}
class B extends A {
@override void printMe() { System.out -println("B"); }
}
class C extends B {
@override void printMe() { System.out printin("C"); }
}
A target = new B);
Runnable methodReference = target :printMe;
target = new C() ;
// methodReference не сохраняет связь с обновленным target
methodReference. run() ; // напечатает "В"

👉@BookJava
👍4
Spring Cloud Config и Git. Хранение и распространение конфигураций приложений

Меня зовут Дмитрий Демченко. Я Java разработчик. На проектах я активно применяю новые технологии и подходы при разработке приложений, в том числе Spring Cloud и компоненты, входящие в общую экосистему этой технологии.

В данной статье я хочу поделиться с вами своим подходом к конфигурации Spring Boot приложений в облаке, где файлы конфигураций приложений находятся в Git репозитории, и который я применяю в работе и считаю одним из самых простых, удобных и легко поддерживаемых.

https://habr.com/ru/articles/764402/

👉@BookJava
👍4
🚀 Spring Retry 🚀

org.springframework.retry.support.RetryTemplate

Реализуйте устойчивые операции в приложениях Spring. Определите поведение повторных попыток для надежной обработки ошибок. 🔥

https://docs.spring.io/spring-retry/docs/api/current/org/springframework/retry/support/RetryTemplate.html

👉@BookJava
👍2
Совет Spring Framework💡

Вы можете инжектировать (autowire) бины, которые могут отсутствовать, обернув их в java.util.Optional. Таким образом вы сообщаете, что этот бин является необязательным, избегаете исключения, если он не существует, и можете аккуратно обработать его отсутствие с помощью Optional API.

👉@BookJava
👍25