🔥6
Please open Telegram to view this post
VIEW IN TELEGRAM
😁33👍7🔥3😱1
Please open Telegram to view this post
VIEW IN TELEGRAM
Ключевое слово
final, применённое к классу, запрещает его наследование. Это означает, что никто не сможет создать подкласс от final-класса.• Используется для обеспечения безопасности и предсказуемости
• Часто применяется в утилитарных или защищённых от изменения классах
• Все методы такого класса автоматически не становятся final — это нужно указывать отдельно
public final class Constants {
public static final double PI = 3.14159;
public static double circleLength(double radius) {
return 2 * PI * radius;
}
}
// Попытка унаследовать вызовет ошибку:
// class ExtendedConstants extends Constants {}
// ❌ Ошибка компиляцииPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍4🤯2
Показываю, с чего начался Kubernetes, зачем он вообще нужен, как работает и какие термины в нём важны: поды, сервисы, кластеры. Всё простым языком, даже если ты только начал вливаться.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1
❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁35🤣14👍3🔥2
record — это специальный тип классов, добавленный в Java 14+, предназначенный для хранения неизменяемых данных. Они автоматически создают конструктор, геттеры, toString(), equals() и hashCode().• Отлично подходят для DTO (data transfer objects)
• Не нужно вручную писать шаблонный код
• Все поля по умолчанию
private finalpublic record User(String name, int age) {}
public class Main {
public static void main(String[] args) {
User u = new User("Анна", 30);
System.out.println(u.name()); // Анна
System.out.println(u.age()); // 30
System.out.println(u); // User[name=Анна, age=30]
}
}record помогает писать меньше кода, делает объекты неизменяемыми и особенно полезен в REST-сервисах, логике сериализации и работы с конфигурацией.Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍8🔥5⚡2
Покажу, как улучшить поиск на Spring Data Elasticsearch: учтём опечатки, склонения и редкие слова, чтобы находить больше нужного. Всё на реальных примерах из моей практики.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36❤12
sealed — это специальный механизм, добавленный в Java 17+, который позволяет ограничить, какие классы могут наследовать данный класс или реализовать интерфейс. Это даёт больше контроля над иерархией типов и повышает безопасность кода.
• Позволяет явно задать допустимых наследников
• Помогает компилятору лучше оптимизировать код
• Упрощает сопровождение больших систем
public sealed class Vehicle permits Car, Truck {}
public final class Car extends Vehicle {}
public final class Truck extends Vehicle {}
public class Main {
public static void main(String[] args) {
Vehicle v = new Car();
System.out.println(v instanceof Vehicle); // true
System.out.println(v instanceof Car); // true
}
}👀 sealed-классы особенно полезны при проектировании API, бизнес-логики и систем с чётко ограниченными вариантами состояний — например, обработка разных типов сообщений, событий или команд.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4