Forwarded from Библиотека собеса по Java | вопросы с собеседований
Существует 4 типа ссылок, которые определяют, как объект будет обрабатываться сборщиком мусора (Garbage Collector).
Это ссылки, которые используются по умолчанию.
String strongRef = new String("Strong Reference");
Объект, на который указывает сильная ссылка, никогда не будет удален сборщиком мусора, пока существует эта ссылка.
Используйте, когда объект нужен в течение всего времени выполнения.
Создаются с помощью класса SoftReference. Soft ссылка удерживает объект в памяти, пока в JVM достаточно свободной памяти. Если памяти не хватает, объект будет удален.
SoftReference<String> softRef = new SoftReference<>(new String("Soft Reference"));
String softObj = softRef.get();
Удобны для реализации кэшей. Например, если объект можно восстановить, но не хочется держать его в памяти постоянно.
Сборщик мусора удаляет объекты, на которые ссылаются мягкие ссылки, только в случае нехватки памяти.
Создаются с помощью класса WeakReference. Объект, на который ссылается слабая ссылка, удаляется сборщиком мусора, как только на него больше нет сильных или мягких ссылок.
WeakReference<String> weakRef = new WeakReference<>(new String("Weak Reference"));
String weakObj = weakRef.get();
Часто используются в структурах данных, таких как WeakHashMap, для предотвращения удержания ненужных объектов.
Удобны для создания ссылок на временные объекты.
Создаются с помощью класса 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
👍20🎉2🔥1
💻 Эффективное проектирование программных систем
Правильная архитектура программного обеспечения помогает создавать устойчивые и масштабируемые приложения, которые легко дорабатывать и поддерживать.
Наш интенсив «Архитектуры и шаблоны проектирования» научит вас строить программные системы без боли и стресса. Вы на практике освоите основные паттерны проектирования и прокачайте свои навыки архитектора программного обеспечения.
🎄Начните свой 2025 со скидкой 35% на все курсы. Это лучшее вложении уходящего года – https://proglib.io/w/cc21e069
Правильная архитектура программного обеспечения помогает создавать устойчивые и масштабируемые приложения, которые легко дорабатывать и поддерживать.
Наш интенсив «Архитектуры и шаблоны проектирования» научит вас строить программные системы без боли и стресса. Вы на практике освоите основные паттерны проектирования и прокачайте свои навыки архитектора программного обеспечения.
🎄Начните свой 2025 со скидкой 35% на все курсы. Это лучшее вложении уходящего года – https://proglib.io/w/cc21e069
👍1🔥1🎉1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
Изначально 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
👍6🔥2🥰2👏1🎉1
Если вы считаете, что Java — это только про старые добрые корпоративные приложения, то вы сильно недооцениваете её развитие. Новые версии языка привносят невероятно полезные возможности, которые упрощают жизнь разработчикам: от работы с данными до оптимизации кода.
В статье от экспертов LANIT разбираются ключевые фишки Java 20 и обсуждается, почему сейчас — идеальное время, чтобы начать или продолжить изучение этого языка. Хотите оставаться на пике технологий и быть востребованным?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5😁3🎉1
Forwarded from Java jobs — вакансии для java-разработчиков
#дайджест #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 (микросервисы), на территории РФ
Удалёнка (РФ), ИНГОССТРАХ БАНК
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
Вакансии Java разработчиков уровня Junior
▪️ Младший разработчик
Удалёнка / Офис (Москва), Doczilla
Подробнее
▪️ Junior Java Developer
Офис (Минск), Программные решения плюс
Подробнее
Вакансии Java разработчиков уровня Middle
▪️ Middle Java developer (SoftWLC)
Удалёнка / Гибрид (Новосибирск), Eltex
Подробнее
▪️ Java Core разработчик (middle)
Удалёнка (РФ), ДИКСИ
Подробнее
Вакансии Java разработчиков уровня Senior
▪️ Senior Java Developer
Удалёнка, DatsTeam
Подробнее
▪️ Разработчик Java Senior (микросервисы), на территории РФ
Удалёнка (РФ), ИНГОССТРАХ БАНК
Подробнее
Понравились вакансии?
❤️ — да
🤔 — нет
🤔4❤3👍3🎉2
This media is not supported in your browser
VIEW IN TELEGRAM
Proglib рассказывает про любимый язык програмирования в формате рилса
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7👍3🥱2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
➡️ Впервые за всю историю количество кода, написанных человечеством, достигнет триллиона (по оценкам GitHub).
— Это наш общий след в цифровой эпохе.
➡️
ИИ-системы начали писать больше кода, чем люди.
— Возможно, 2025 станет годом, когда искусственный интеллект впервые решит баг, который люди не могут исправить десятилетиями.
➡️
2025-й — год открытого кода. Всё больше крупных компаний выпускают свои продукты в open-source.
— Готовьтесь к большому числу коллабов и открытий.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3😁2🌚1👾1
Друзья, праздники — это время отдохнуть от работы, найти вдохновение новые идеи. А что может быть лучше, чем новогодние праздники с фильмами и сериалами на IT-тематику? Вот небольшой список, который точно поднимет вам настроение👨💻
💻 1. Социальная сеть
История создания Facebook — идеальный фильм, чтобы вдохновиться предпринимательством.
📡 2. Мистер Робот
Кибербезопасность, хакинг и тайны больших корпораций. Этот сериал втянет вас в мир технологий с первых минут.
🎅 3. Пиксели
Если хотите чего-то лёгкого и забавного — тут герои сражаются с инопланетянами в виде культовых аркадных игр.
📱 4. Силиконовая долина
Комедия для тех, кто знает, что такое запуск MVP, битва за инвесторов и дедлайны.
🤖 5. Из машины
Когда обычный тест на искусственный интеллект превращается в философское путешествие.
❄️ 6. Ральф против интернета
Для всей семьи. Красивый мультфильм о том, как устроен интернет изнутри.
👾 7. Матрица
Классика, которая не стареет. Если вдруг вы пропустили (или давно не пересматривали), самое время выбрать между красной и синей таблеткой.
Пусть 2025 будет полон новых знаний и интересных проектов, а баги останутся в прошлом году.
С наступающим Новым Годом!
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉11❤6👍2
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях
«Библиотека программиста» подводит итоги 2024 года: 415 экспертных статей и миллион просмотров ежемесячно. Разбираем ключевые достижения, лучшие материалы и делимся планами развития.
👉 Читать статью
👉 Зеркало
P. S. Ну просто не могли не прикрепить мем года к этому посту 🫶
«Библиотека программиста» подводит итоги 2024 года: 415 экспертных статей и миллион просмотров ежемесячно. Разбираем ключевые достижения, лучшие материалы и делимся планами развития.
👉 Читать статью
👉 Зеркало
👍4🔥1👾1
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1
JSON-файлы с высокой вложенностью часто сложно прочитать.
𝐉𝐬𝐨𝐧𝐂𝐫𝐚𝐜𝐤 создает графические диаграммы из JSON-файлов и делает их легко читаемыми.
Кроме того, созданные диаграммы можно скачать в виде изображений.
Также поддерживает YAML и XML форматы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14👍11🔥5🎉5
🌍✈️ 6 идей, как ускорить поиск работы за рубежом
Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее!
👉 Читать статью
Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее!
👉 Читать статью
🔥4❤2👍1
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
👍2
Что бы вы хотели получить в качестве подарка в розыгрыше?
Anonymous Poll
13%
Книги по разработке 📚
10%
IT-курсы 🎓
5%
Карьерные консультации, чтобы получить оффер мечты 💼
34%
Компьютер или ноутбук 💻
10%
Мощные комплектующие для ПК 🖥
5%
Игровая приставка 🎮
3%
Гаджеты для дома: робот-пылесос, проектор и т. д. 🏠
12%
Подписки на GitHub Copilot, JetBrains, LinkedIn Premium и т. д. 🧑💻
8%
Оплаченная поездка на IT-конференцию или хакатон 🥂
1%
Другой вариант (напишу в комментариях) 👇
😁8🔥3👾2
Forwarded from Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
Даже самые целеустремлённые и дисциплинированные разработчики порой сталкиваются с периодами прокрастинации. Это состояние чаще вызвано глубокими причинами, чем просто нежеланием работать. Делимся личной историей разработчика, сумевшего преодолеть прокрастинацию.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3🔥3🌚1
Бесплатный курс по фулстек-разработке — реальность 🔥
Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.
Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея
Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.
Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея
👍7🔥4🎉2❤1
Логирование, трассировка и метрики — это три столпа наблюдаемости системы
🔹 Логирование
Логирование фиксирует дискретные события в системе. Например, мы можем записывать входящие запросы или обращения к базам данных как события. Это самый объемный тип данных. Для построения платформы анализа логов часто используют стек ELK (Elastic-Logstash-Kibana). Мы часто определяем стандартизированный формат логов для разных команд, чтобы использовать ключевые слова при поиске среди большого объема логов.
🔹 Трассировка
Трассировка обычно привязана к запросам. Например, пользовательский запрос проходит через API-шлюз, балансировщик нагрузки, сервис A, сервис B и базу данных — это можно визуализировать в системах трассировки. Это полезно для выявления узких мест в системе. OpenTelemetry используется для демонстрации типичной архитектуры, которая объединяет три столпа в одной платформе.
🔹 Метрики
Метрики — это обычно агрегируемая информация из системы. Например, QPS сервиса, отзывчивость API, задержка сервиса и т.д. Сырые данные записываются в базы данных временных рядов, такие как InfluxDB. Prometheus извлекает данные и преобразует их на основе предопределенных правил оповещений. Затем данные отправляются в Grafana для отображения или в менеджер оповещений, который затем рассылает уведомления по email, SMS или в Slack.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤1🎉1