Java Portal | Программирование
12.1K subscribers
1.38K photos
109 videos
42 files
1.39K links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
Spring Boot: используйте @Async только для небольших задач на оффлоадинг и только с явно заданным исполнителем.
#SpringBoot #SoftwareDevelopment

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring Boot: spring.main.lazy-initialization=true не только откладывает создание бинов, но и полностью пропускает выполнение @PostConstruct до первого реального использования бина. Учитывайте это и следите за побочными эффектами.

#SpringBoot #SoftwareDevelopment

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
💡В Java sealed types позволяют закрыть граф наследования с помощью permits.

Наследоваться от sealed-класса или интерфейса могут только явно перечисленные подтипы.
Каждый разрешённый подтип должен быть объявлен как final, sealed или non-sealed.
non-sealed снова открывает возможность наследования ниже по этой ветке. #SoftwareDevelopment

Пример кода, и sample-проект на GitHub:

// java-17-sealed-classes — закрытая иерархия

public abstract sealed class Shape permits Circle, Rectangle, FancyRectangle {
public abstract double area();
}

public final class Circle extends Shape { /* листовой класс — без дальнейшего наследования */ }

public sealed class Rectangle extends Shape permits Square, Oblong { }

public final class Square extends Rectangle { }

public non-sealed class FancyRectangle extends Shape { }
// RoundedRectangle наследуется от FancyRectangle — не указан в Shape.permits (открытая ветка)


Java 17 Sealed Classes Example Project

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4