Java 21 открывает новую эпоху конкурентности с виртуальными потоками — лёгкими потоками, управляемыми JVM, которые значительно повышают производительность I/O-bound приложений.
Подробнее - https://lttr.ai/Ap1Np
#Java #MongoDB #VirtualThread
👉 Java Portal
Подробнее - https://lttr.ai/Ap1Np
#Java #MongoDB #VirtualThread
Please open Telegram to view this post
VIEW IN TELEGRAM
DEV Community
Java Virtual Threads in Action: Optimizing MongoDB Operation
This article was written by Otavio Santana, a renowned contributor to the Java and open-source...
❤2
#Java Совет: вы можете откатить транзакцию БД, созданную аннотацией
👉 Java Portal
@Transactional, получив текущий TransactionStatus через класс TransactionAspectSupport и установив для него rollback через setRollbackOnly();. Таким образом, не нужно выбрасывать исключение.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2🔥1🤣1
Java: используйте WeakHashMap для кэширования, когда ключи без ссылок должны удаляться сборщиком мусора.
❌ В HashMap, пока существует сама мапа, ключи и связанные с ними значения не будут удаляться сборщиком мусора.
✅ В WeakHashMap ключи хранятся через слабые ссылки, и если на ключ больше нет сильных ссылок в программе, сборщик мусора может его удалить, и он автоматически исчезнет из мапы.
✅ Пример:
#Java #JavaDev
👉 Java Portal
Map<User, String> map = new WeakHashMap<>();
User u1 = new User("Mick");
map.put(u1, "Cached data");
...
u1 = null;
// С этого момента ключ u1 доступен для сборки мусора.
#Java #JavaDev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤3
JavaDoc получил реальное улучшение удобства использования в Java 24.
Парень написал практический туториал, который показывает, как использовать JavaDoc с Markdown через комментарии
http://buff.ly/RmaVWSt
#Java #Java24 #Javadoc #Maven
👉 Java Portal
Парень написал практический туториал, который показывает, как использовать JavaDoc с Markdown через комментарии
/// в небольшой библиотеке на Maven + JUnit, включая документацию пакетов, записи, запечатанные типы, генерацию JavaDoc и всплывающие подсказки в IDE.http://buff.ly/RmaVWSt
#Java #Java24 #Javadoc #Maven
Please open Telegram to view this post
VIEW IN TELEGRAM
The-Main-Thread
Write Better JavaDoc in Java 24 with Markdown Comments
Build a small Java library with Maven and JUnit, replace classic JavaDoc with /// Markdown comments, and generate cleaner API docs for humans and AI tools.
❤4
Совет по Java: можно избежать чрезмерного количества параметров метода, сгруппировав связанные значения в объекты. #Java #РазработкаПО
👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2😁2👀2
В Java можно использовать
✅ Fail-fast означает, что ошибки фиксируются ближе к месту возникновения, за счёт чего стек вызовов проще читать и анализировать
#Java #РазработкаПО
👉 Java Portal
Optional.orElseThrow() для реализации так называемого fail-fast поведения.#Java #РазработкаПО
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍2
Совет по Java: удаляйте неиспользуемые импорты и переменные — это улучшает читаемость кода.
До:
После:
#Java #CleanCode
👉 Java Portal
До:
import java.util.Date; // неиспользуемый импорт
import java.util.Scanner;
public class Greeting {
private int age; // неиспользуемая переменная
public void sayHello() {
Scanner sc = new Scanner(System.in);
System.out.println("Hello, world!");
sc.close();
}
}
После:
import java.util.Scanner;
public class Greeting {
public void sayHello() {
Scanner sc = new Scanner(System.in);
System.out.println("Hello, world!");
sc.close();
}
}
#Java #CleanCode
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Используй
Проверяет, ссылаются ли два объекта
#Java #РазработкаПО
👉 Java Portal
Files.isSameFile(path1, path2), чтобы проверить, указывают ли два пути на один и тот же файл. Метод также резолвит симлинки.Проверяет, ссылаются ли два объекта
Path на один и тот же реальный файл в файловой системе.#Java #РазработкаПО
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
image_2026-05-02_07-05-20.png
291.1 KB
Паттерны в Java: паттерн «Строитель» позволяет гибко и прозрачно конструировать сложные объекты. #Java #ПаттерныПроектирования
👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Java-совет : можно использовать
✅ Это быстрый способ создать немодифицируемые списки и множества без использования
#Java #Коллекции
👉 Java Portal
List.of() и Set.of() для создания неизменяемых коллекций.Collections.unmodifiableList().#Java #Коллекции
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Java: ловите ошибки ещё на этапе компиляции — помечайте переопределённые методы аннотацией
Если сигнатура метода не совпадёт с методом родительского класса или интерфейса, компилятор сразу выдаст ошибку вместо тихого создания нового метода.
#Java #Annotations
👉 Java Portal
@Override.@Override
public void process() {
// logic
}
Если сигнатура метода не совпадёт с методом родительского класса или интерфейса, компилятор сразу выдаст ошибку вместо тихого создания нового метода.
#Java #Annotations
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Java : Используй инструменты вроде VisualVM, чтобы профилировать свой проект и находить узкие места в производительности. #Java #Performance
👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Включить reflection-free Jackson в Quarkus — легко. Настоящая работа начинается с того, чтобы понять, сохраняется ли ваш JSON-контракт.
Автор собрал небольшой API каталога с DTO на record-классах, обобщённым
#java #quarkus
👉 Java Portal
Автор собрал небольшой API каталога с DTO на record-классах, обобщённым
Page<T>, полиморфными payload-ами, кастомным сериализатором и контрактными тестами: baseline против reflection-free режима.#java #quarkus
Please open Telegram to view this post
VIEW IN TELEGRAM
The-Main-Thread
Quarkus Reflection-Free Jackson Serializers: Migrate with Contract Tests
Use a small catalog API to enable reflection-free Jackson, keep tricky JSON payloads honest with contract tests, and benchmark the change without guessing.
👍3❤2
Выражения
✅ Если пропустить константу
✅ Исправить это можно, обработав все значения
✅ Более безопасный рефакторинг и меньше скрытых ошибок
#Java #JavaDev
👉 Java Portal
switch в Java 14+ являются исчерпывающими (exhaustive): компилятор проверяет, что обработаны все возможные значения.✅ Если пропустить константу
enum, компиляция завершится ошибкой✅ Исправить это можно, обработав все значения
enum или добавив ветку default✅ Более безопасный рефакторинг и меньше скрытых ошибок
#Java #JavaDev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Extension API в JUnit 5 заменяет
✅ Единая модель: реализуете lifecycle-хуки вроде
✅
✅ Extensions компонуются: можно навесить несколько расширений через
Демо-проект на GitHub: https://github.com/mcasari/codingstrain/tree/main/x-posts-examples/junit5-extension-api-demo
#Java #JUnit5
👉 Java Portal
@RunWith, Runner и @Rule из JUnit 4.✅ Единая модель: реализуете lifecycle-хуки вроде
BeforeEachCallback вместо эксклюзивного Runner✅
ParameterResolver инжектит зависимости в тесты, без наследования от базового класса ✅ Extensions компонуются: можно навесить несколько расширений через
@ExtendWith.Демо-проект на GitHub: https://github.com/mcasari/codingstrain/tree/main/x-posts-examples/junit5-extension-api-demo
#Java #JUnit5
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
💡 Java: Удаляйте неиспользуемые импорты и переменные для повышения читаемости кода.
Лишние импорты и неиспользуемые переменные создают визуальный шум, усложняют навигацию по коду и затрудняют поддержку. Большинство IDE умеют автоматически находить и удалять такой код.
#Java #CleanCode
👉 Java Portal
Лишние импорты и неиспользуемые переменные создают визуальный шум, усложняют навигацию по коду и затрудняют поддержку. Большинство IDE умеют автоматически находить и удалять такой код.
#Java #CleanCode
Please open Telegram to view this post
VIEW IN TELEGRAM