Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
ℹ️ Какие типы ссылок существуют?

Существует 4 типа ссылок, которые определяют, как объект будет обрабатываться сборщиком мусора (Garbage Collector).

1️⃣ Strong Reference

Это ссылки, которые используются по умолчанию.
String strongRef = new String("Strong Reference");


Объект, на который указывает сильная ссылка, никогда не будет удален сборщиком мусора, пока существует эта ссылка.
Используйте, когда объект нужен в течение всего времени выполнения.

2️⃣ Soft Reference

Создаются с помощью класса SoftReference. Soft ссылка удерживает объект в памяти, пока в JVM достаточно свободной памяти. Если памяти не хватает, объект будет удален.
SoftReference<String> softRef = new SoftReference<>(new String("Soft Reference"));
String softObj = softRef.get();


Удобны для реализации кэшей. Например, если объект можно восстановить, но не хочется держать его в памяти постоянно.
Сборщик мусора удаляет объекты, на которые ссылаются мягкие ссылки, только в случае нехватки памяти.

3️⃣ Weak Reference

Создаются с помощью класса WeakReference. Объект, на который ссылается слабая ссылка, удаляется сборщиком мусора, как только на него больше нет сильных или мягких ссылок.
WeakReference<String> weakRef = new WeakReference<>(new String("Weak Reference"));
String weakObj = weakRef.get();


Часто используются в структурах данных, таких как WeakHashMap, для предотвращения удержания ненужных объектов.
Удобны для создания ссылок на временные объекты.

4️⃣ Phantom Reference

Создаются с помощью класса PhantomReference. Эти ссылки используются исключительно для отслеживания, когда объект будет удален сборщиком мусора.
PhantomReference<String> phantomRef = new PhantomReference<>(new String("Phantom Reference"), new ReferenceQueue<>());


Метод get() у фантомной ссылки всегда возвращает null.
Объекты, на которые ссылаются фантомные ссылки, добавляются в ReferenceQueue, когда сборщик мусора их удаляет.
Please open Telegram to view this post
VIEW IN TELEGRAM
💻 Эффективное проектирование программных систем

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

Наш интенсив «Архитектуры и шаблоны проектирования» научит вас строить программные системы без боли и стресса. Вы на практике освоите основные паттерны проектирования и прокачайте свои навыки архитектора программного обеспечения.

🎄Начните свой 2025 со скидкой 35% на все курсы. Это лучшее вложении уходящего года – https://proglib.io/w/cc21e069
🚀 SQLite стала быстрее в 10 раз для аналитических запросов

Изначально SQLite идеально подходит для транзакционных операций (OLTP). Но аналитические запросы (OLAP), включающие сложные джойны, были её слабым местом. SQLite использует Nested Loop Join — простой, но неэффективный метод, где каждое совпадение требует "дорогих" операций в B-дереве.

➡️ Как решили проблему?

Исследователи из Университета Висконсин-Мэдисон предложили использовать Bloom-фильтры — лёгкие и эффективные структуры данных, которые заранее отсекают ненужные строки для джойнов.

🔗 Читайте подробнее в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Что нового в мире Java?

Если вы считаете, что Java — это только про старые добрые корпоративные приложения, то вы сильно недооцениваете её развитие. Новые версии языка привносят невероятно полезные возможности, которые упрощают жизнь разработчикам: от работы с данными до оптимизации кода.

В статье от экспертов LANIT разбираются ключевые фишки Java 20 и обсуждается, почему сейчас — идеальное время, чтобы начать или продолжить изучение этого языка. Хотите оставаться на пике технологий и быть востребованным?

🔗 Читайте в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
#дайджест #Javadevjob

Вакансии Java разработчиков уровня Junior

▪️ Младший разработчик
Удалёнка / Офис (Москва), Doczilla
Подробнее

▪️ Junior Java Developer
Офис (Минск), Программные решения плюс
Подробнее

Вакансии Java разработчиков уровня Middle

▪️ Middle Java developer (SoftWLC)
Удалёнка / Гибрид (Новосибирск), Eltex
Подробнее

▪️ Java Core разработчик (middle)
Удалёнка (РФ), ДИКСИ
Подробнее

Вакансии Java разработчиков уровня Senior

▪️ Senior Java Developer
Удалёнка, DatsTeam
Подробнее

▪️ Разработчик Java Senior (микросервисы), на территории РФ
Удалёнка (РФ), ИНГОССТРАХ БАНК
Подробнее

Понравились вакансии?
❤️ — да
🤔 — нет
🎄 Новый Год с IT-настроением! Подборка фильмов и сериалов для разработчиков 🎄

Друзья, праздники — это время отдохнуть от работы, найти вдохновение новые идеи. А что может быть лучше, чем новогодние праздники с фильмами и сериалами на IT-тематику? Вот небольшой список, который точно поднимет вам настроение👨‍💻

💻 1. Социальная сеть
История создания Facebook — идеальный фильм, чтобы вдохновиться предпринимательством.

📡 2. Мистер Робот
Кибербезопасность, хакинг и тайны больших корпораций. Этот сериал втянет вас в мир технологий с первых минут.

🎅 3. Пиксели
Если хотите чего-то лёгкого и забавного — тут герои сражаются с инопланетянами в виде культовых аркадных игр.

📱 4. Силиконовая долина
Комедия для тех, кто знает, что такое запуск MVP, битва за инвесторов и дедлайны.

🤖 5. Из машины
Когда обычный тест на искусственный интеллект превращается в философское путешествие.

❄️ 6. Ральф против интернета
Для всей семьи. Красивый мультфильм о том, как устроен интернет изнутри.

👾 7. Матрица
Классика, которая не стареет. Если вдруг вы пропустили (или давно не пересматривали), самое время выбрать между красной и синей таблеткой.

Пусть 2025 будет полон новых знаний и интересных проектов, а баги останутся в прошлом году.
С наступающим Новым Годом! 🎁🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях

«Библиотека программиста» подводит итоги 2024 года: 415 экспертных статей и миллион просмотров ежемесячно. Разбираем ключевые достижения, лучшие материалы и делимся планами развития.

👉 Читать статью
👉 Зеркало

P. S. Ну просто не могли не прикрепить мем года к этому посту 🫶
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🎄 Полезный инструмент для работы с JSON 👇

JSON-файлы с высокой вложенностью часто сложно прочитать.
𝐉𝐬𝐨𝐧𝐂𝐫𝐚𝐜𝐤 создает графические диаграммы из JSON-файлов и делает их легко читаемыми.
Кроме того, созданные диаграммы можно скачать в виде изображений.

Также поддерживает YAML и XML форматы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌍✈️ 6 идей, как ускорить поиск работы за рубежом

Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее!

👉 Читать статью
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.

В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования

👉Подписаться👈
🧠 Прокрастинация: почему разработчики к ней склонны и что с этим делать

Даже самые целеустремлённые и дисциплинированные разработчики порой сталкиваются с периодами прокрастинации. Это состояние чаще вызвано глубокими причинами, чем просто нежеланием работать. Делимся личной историей разработчика, сумевшего преодолеть прокрастинацию.

🔗 Читать по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
Бесплатный курс по фулстек-разработке — реальность 🔥

Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.

Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея