| Канал | Публикаций | Подписчиков | Последний пост |
|---|---|---|---|
Библиотека Java разработ…
[telegram]
|
48 | 10283 | 27.09.26 |
|
Хакер Free
[max]
|
17 | 3162 | 23.08.26 |
|
Базы Данных (Data Base) …
[max]
|
17 | 2894 | 23.08.26 |
Lifestyle Channel #2756
[max]
|
49 | 392737 | 30.07.26 |
Медиа Про #1468
[max]
|
30 | 187157 | 07.07.26 |
Tech Daily #4975
[max]
|
44 | 251264 | 12.08.26 |
Lifestyle Channel #7592
[max]
|
26 | 312274 | 24.07.26 |
| Канал | Публикаций | Подписчиков | Последний пост |
|---|---|---|---|
|
IT мероприятия России / …
[max]
|
2 | 1691 | 02.09.26 |
|
Bash Советы - Bash Scrip…
[max]
|
16 | 2836 | 23.08.26 |
|
Книги для программистов
[max]
|
16 | 3526 | 23.08.26 |
Стартап Хаб #5764
[max]
|
47 | 319557 | 02.09.26 |
Маркетинг Гуру #393
[max]
|
27 | 121630 | 09.07.26 |
Lifestyle Channel #8560
[max]
|
23 | 396594 | 29.07.26 |
Инвест Клуб #3510
[max]
|
16 | 26491 | 01.08.26 |
Загрузка данных...
| Размещенный пост | Текст публиакции | Рекламирующий канал | Просмотры | Просмотры 24 ч | Прирост подписчиков |
|---|
Загрузка данных...
| Размещенный пост | Текст публикации | Рекламируемый канал | Просмотры | Просмотры 24 ч | Прирост подписчиков |
|---|
| Дата и время публикации | Текст публикации | Рекламируемый канал | Динамика просмотров | Всего просмотров |
|---|---|---|---|---|
| 2026-09-30 09:05:05 | Три похожих слова в Java — final, finally, finalize — но смысл у них совершенно разный. Разберёмся 🧠 🔒 final Ключевое слово. Используется для ограничений: * final class — нельзя наследовать. * final method — нельзя переопределить. * final variable — нельзя изменить значение (один раз присвоил — всё). 📌 Особенно важно для immutability и thread-safety. final int x = 10; x = 20; // ошибка компиляции 🧯 finally Блок в конструкции try-catch-finally. Выполняется всегда, даже если был return или exception. 💡 Используется для освобождения ресурсов: закрытия потоков, соединений и т.д. try { // что-то может выбросить исключение } catch (Exception e) { // обработка ошибки } finally { // всегда выполнится } ⚰️ finalize() Метод из Object, вызывался перед удалением объекта сборщиком мусора. ⚠️ УСТАРЕЛ с Java 9, удалён в Java 18. Не используй. 🔪 Непредсказуем, плохо работает, тормозит GC. Вместо него — AutoCloseable и try-with-resources. @Override protected void finalize() throws Throwable { System.out.println("До свидания..."); } 🧠 Важно не путать: * final — про нельзя менять * finally — про всегда выполнится * finalize — про устаревший и бесполезный метод 👉 @BookJava Три похожих слов… | — |
|
240 |
| 2026-09-27 11:40:07 | 🧠 Ленивая инициализация через Supplier — элегантная альтернатива double-checked locking Когда нужно отложить создание тяжёлого объекта до первого обращения, многие вспоминают double-checked locking: private volatile SomeHeavyObject obj; public SomeHeavyObject getObj() { if (obj == null) { synchronized (this) { if (obj == null) { obj = new SomeHeavyObject(); } } } return obj; } ⚠️ Многословно, хрупко, легко ошибиться. Есть лучше. 📌 Современный подход — использовать Supplier с ленивой инициализацией: private final Supplier<SomeHeavyObject> lazyObj = Suppliers.memoize(SomeHeavyObject::new); public SomeHeavyObject getObj() { return lazyObj.get(); } 💡 Suppliers.memoize — из Guava. Он гарантирует потокобезопасную инициализацию один раз при первом вызове get(). Плюсы: — Читается за секунду — Потокобезопасно — Нет дублирования кода — Легко тестировать и заменять 🔁 Альтернатива в чистой Java: использовать AtomicReference и updateAndGet, но это уже длиннее и менее выразительно. Если используешь Spring — можно просто обернуть бин в @Lazy. Но вне Spring, в обычных Java-приложениях или утилитах — Supplier с memoize() идеален. 👉 @BookJava 🧠 Ленивая инициа… | — |
|
328 |
| 2026-09-23 08:00:02 | Что такое механизм try-with-resources? Механизм try-with-resources в Java — это конструкция, которая упрощает работу с ресурсами, требующими закрытия (например, файлы, сокеты, соединения с БД и т.д.). Он автоматически закрывает ресурсы после завершения блока try, избавляя от необходимости писать finally вручную. 📌 Поддерживается с Java 7 📌 Ресурсы должны реализовывать интерфейс AutoCloseable 💡 Пример: try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) { String line = reader.readLine(); System.out.println(line); } catch (IOException e) { e.printStackTrace(); } // reader будет закрыт автоматически, даже если произойдёт исключение 🧠 Почему это важно: * Уменьшает boilerplate-код * Исключает утечки ресурсов * Упрощает обработку исключений ⚠️ Совет: С Java 9 можно использовать уже объявленные переменные, если они final или effectively final: BufferedReader reader = new BufferedReader(new FileReader("file.txt")); try (reader) { System.out.println(reader.readLine()); } 👉 @BookJava Что такое механи… | — |
|
453 |
Год
Месяц
Неделя
Загрузка данных...
| Время | Контент | Подписчиков | Кто ссылался | Просмотры 48ч | Просмотры 24ч |
|---|