TGViewer
Channel Public Channel
Java библиотека

Java библиотека

@javalib

Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Subscribers
30.6K
Photos
2.2K
Videos
87
Links
2.2K
Recent Posts 16 shown
Post #7689 379
👩‍💻 Как сделать Java-сервис устойчивее к сбоям

Resilience4j добавляет готовые паттерны CircuitBreaker, Retry, RateLimiter и Bulkhead без необходимости писать их с нуля.

Есть интеграции со Spring Boot, Reactor и Micrometer, а новая major-версия работает с Java 21+.

⛓ Ссылка на GitHub

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
Post #7688 883
Java: используйте Deque вместо Stack для работы по принципу LIFO («последним пришёл — первым вышел»).

Stack — устаревший класс, который наследуется от Vector и синхронизирует каждый вызов.

Deque предоставляет те же методы push, pop и peek.
Используйте ArrayDeque: он быстрее и рекомендуется начиная с Java 6.

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • ❤ 6
  • 👍 1
  • 🔥 1
Post #7685 1.48K
Spring Boot 4: как перенести старые настройки

При обновлении добавьте временную зависимость:

runtimeOnly("org.springframework.boot:spring-boot-properties-migrator")


После запуска приложения migrator:

* найдёт устаревшие и переименованные параметры;
* выведет подсказки в логах;
* временно преобразует старые ключи во время выполнения.

Исправьте настройки в application.properties или application.yaml, убедитесь, что предупреждения исчезли, и удалите зависимость. Оставлять её в проекте постоянно не нужно.

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 🔥 2
  • ❤ 1
  • 👍 1
Post #7684 1.38K

This post (sticker, poll or similar) has no web preview. Open in Telegram

  • 👍 1
  • 🔥 1
Post #7683 1.62K
👩‍💻 Миграция на Spring Boot 4, Spring 7 и JDK 25

В статье автор на примере демо-проекта показывает, что реально меняется при переходе на новый стек: зависимости, конфигурация Maven, Jackson 3, тестовые стартеры и настройки Spring.

Отдельно разбирается нативное API Versioning в Spring 7 и его настройка для контроллеров, Swagger и тестов.

⛓ Читать статью

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 👍 4
  • 🔥 1
Post #7682 1.64K
Многие разработчики используют Java каждый день. Но мало кто знает, почему он стал одним из самых успешных языков в мире.

Вот его основные особенности:

Независимость от платформы
Скомпилируйте код в байт-код один раз и запускайте его на любой машине с JVM.

Объектно-ориентированный подход
Всё строится вокруг классов и объектов, что упрощает организацию и сопровождение крупных приложений.

Надёжность
Автоматическая сборка мусора, строгая проверка типов и обработка исключений помогают избежать многих распространённых проблем во время выполнения.

Высокая производительность
JIT-компилятор (Just-In-Time) оптимизирует часто выполняемый код, обеспечивая скорость, близкую к нативной.

Многопоточность
Встроенные API для работы с конкурентностью упрощают параллельное выполнение нескольких задач.

Проверен на практике
Банковские системы, платформы электронной коммерции, Android-приложения и корпоративные бэкенды: Java лежит в основе критически важного ПО в самых разных отраслях.

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 👍 5
  • ❤ 3
  • 🔥 1
Post #7679 1.63K
Продвинутый Java-совет: используйте `ClassValue`

Если нужно кешировать метаданные отдельно для каждого класса, не обязательно создавать ConcurrentHashMap<Class<?>, Metadata>.

private static final ClassValue<Metadata> CACHE =
new ClassValue<>() {
@Override
protected Metadata computeValue(Class<?> type) {
return scan(type);
}
};

Metadata metadata = CACHE.get(MyClass.class);


ClassValue лениво вычисляет значение, безопасно работает при конкуренции потоков и хранит отдельный результат для каждого Class. Сбросить кеш можно через remove().

Полезно для reflection, сериализации, мапперов и собственных фреймворков.

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 👍 3
  • 🔥 1
Post #7678 1.83K
⌨️ void и Void

В языке программирования Java ключевое слово void используется для указания, что метод не возвращает никакого значения. Метод с возвращаемым типом void выполняет определенные действия, но не производит результат, который можно было бы использовать в вызывающей части программы.

Для void еще есть класс обёртка Void. Класс Void — это класс-заполнитель который нельзя создать и который хранит ссылку на объект Class, представляющий ключевое слово Java void.

Этот класс можно использовать, например, в случаях, когда у вас есть обобщенный класс и вы хотите, чтобы метод ничего не возвращал (т.е. чтобы пользователь класса не ожидал ничего особенного оттуда получить):

interface I<T> {
T doStuff();
}

class A implements I<Void> {
@Override
public Void doStuff() {
// ничего другого вернуть нельзя
return null;
}
}


Или если в проекте регулярно используется Callable<T> для выполнения каких-то асинхронных задач и в тех ситуациях, когда результат работы задачи ничего не должен возвращать, можно реализовать Callable<Void>.

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 👍 5
  • ❤ 2
  • 🔥 2
Post #7675 1.76K
👩‍💻 Метрики в Java без привязки к одному мониторингу

Нашли библиотеку для сбора application metrics через единый API. Потом можно подключить нужный monitoring backend, не переписывая всю инструментализацию.

У проекта уже 4,9K звёзд на GitHub.

⛓ Ссылка на GitHub

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 👍 3
  • 🔥 2
  • ❤ 1
Post #7673 1.7K
Короткая шпаргалка по Java records. Пример: public record Person(String name, int age)

Что сгенерирует компилятор для такого record:
- final-поля
- канонический конструктор
- методы-аксессоры name() и age()
- equals() и hashCode()

Сохраните себе — полезно как напоминание при работе с компактными DTO.

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 👍 11
  • 🔥 3
  • ❤ 2
Post #7668 1.94K
⚡️⚡️Joker 2026: что происходит с профессией разработчика

Индустрия разработки проходит через серьезный переломный момент. Меняются не только инструменты и фреймворки, но и привычный подход к работе.

Поэтому в этом сезоне меняется и Joker: первый день традиционно посвящен Java — Core Java, рантайму и работе на уровне железа. А во второй день будем обсуждать, как прямо сейчас меняется сама инженерная практика.

В программе — Context Engineering, команды из людей и ИИ-агентов, Self-Evolving Agents, новые подходы к архитектуре и работе с моделями, а также вопросы ответственности и роли эксперта.

Собрали главные темы второго дня в карточках.

🌟С промокодом: javalib персональные билеты дешевле

Полное расписание и билеты — на сайте.
  • 👍 4
  • ❤ 1
  • 🔥 1
Post #7666 2.18K
❔ Вопрос с собеседования

Как работает @Qualifier в Spring

Ответ: @Qualifier помогает Spring понять, какой именно бин внедрить, если в контексте есть несколько бинов одного типа.

Например, если один интерфейс имеет несколько реализаций, через
@Qualifier можно явно указать нужный бин и убрать неоднозначность при dependency injection.

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • 👍 5
  • 🔥 3
  • ❤ 1
Post #7664 2.29K
Анонимные классы — что это и когда применять

Коротко: анонимный класс — это класс без имени, объявляемый «на месте» (обычно внутри метода или блока). Часто используется, чтобы сразу реализовать интерфейс или расширить класс там, где нужен одноразовый экземпляр.

Когда применяют
- Реализация интерфейса или абстрактного класса прямо в коде (например, для Runnable или обработчиков событий).
- Быстрая «встроенная» реализация без заводского класса.
- Они остаются полезны даже с Java 8: лямбды удобны для функциональных интерфейсов, но анонимные классы нужны, когда требуется больше методов, собственные поля или сложная логика наследования.

Важно: анонимный класс может обращаться к локальным переменным внешнего метода только если те final или effectively final.

Пример:
Runnable r = new Runnable() {    @Override    public void run() {        System.out.println("Выполняю в анонимном классе");    }};new Thread(r).start();

Полезные ресурсы по Java 👩‍💻| Наш канал в MAX 🟪
  • ❤ 2
  • 👍 2
  • 🔥 1
Older posts →

About this channel

How can I read @javalib without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Java библиотека: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Java библиотека have?
Java библиотека (@javalib) has 30.6K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Java библиотека know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →