Библиотека джависта | 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
加入频道
Очередной #дайджест для джавистов

✳️ Ziverge Youtube — записи докладов с Functional Scala 2023

✳️ Если IDEA не работает можно ли писать на Kotlin в Vim? — обсуждаются очередные сложности с IDEA, поддержку Kotlin в текстовых редакторах, JVM на webassembly и что деплой Лямбд в AWS может оказаться совсем не тривиальной задачей

✳️ Secret — библиотека с реализацией переменных с lifetime для различных секретов во избежание утечки информации

✳️ Jar Jar Abrams — плагин sbt, который облегчает жизнь библиотекописарям и позволяет скрывать транзитивные зависимости путем их переупаковки и включения как части текущей библиотеки

✳️ JEP 454: Foreign Function & Memory API — завершается работа над API внешних функций и памяти, улучшая производительность и пользовательский опыт разработчиков
SoftReference

SoftReference (мягкая ссылка) — это класс, который представляет собой ссылку на объект, который может быть удален сборщиком мусора (GC) в любой момент, если память нужна для других объектов.

Принцип работы:
— Создание: SoftReference создается с помощью конструктора, который принимает ссылку на объект.
— Доступ к объекту: Для доступа к объекту, на который ссылается SoftReference, используется метод get().
— Очистка: GC может очистить SoftReference в любой момент, если память нужна для других объектов.

Когда использовать SoftReference:
— Кэширование: SoftReference можно использовать для реализации кэшей, где важно сохранить объекты в памяти, если это возможно, но не обязательно.
— Сохранение метаданных: SoftReference можно использовать для хранения метаданных об объектах, которые не являются критичными для работы приложения.
ScalaIO FR

Доклады с недавней конференции. Часть докладов на французском, но среди англоязычных спикеров мелькают знакомые в scala-коммьюнити имена.

#мероприятия
FairSemaphore

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

В примере на картинке два потока будут пытаться получить доступ к ресурсу, который защищен с помощью FairSemaphore. Потоки будут получать доступ к ресурсу по очереди, а не в случайном порядке.
📚Learn Java with Projects: A concise practical guide to learning everything a Java professional really needs to know (2023)

✍️Автор: Dr Seán Kennedy

📃Страниц: 602

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

Что внутри:
🔸Получите четкое представление об основах Java, таких как примитивные типы, операторы, область видимости, условные операторы, циклы, исключения и массивы
🔸Освоите конструкции ООП, такие как классы, объекты, перечисления, интерфейсы и записи
🔸Развить глубокое понимание принципов ООП, таких как полиморфизм, наследование и инкапсуляция
🔸Углубиться в продвинутые темы дженериков, коллекций, лямбд, потоков и параллелизма

Скачать книгу
Хардкорный курс по математике для тех, кто правда любит математику!

Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/3e093096

Что вас ждет:

– Вводный урок от CPO курса

– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск

– Практические задания для закрепления материала и ссылки на дополнительные материалы.

⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/3e093096
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой метод должен быть переопределен классом, реализующим интерфейс Runnable для выполнения задачи в отдельном потоке?
Anonymous Quiz
5%
int run()
4%
boolean run()
12%
void run(int priority)
80%
void run()
#дайджест перед выходными

Java для домохозяек — логика разбора сообщений внутри Telegram бота

Улучшение моей распределенной системы с помощью Scala 3 — гарантии согласованности и фоновые задачи

Настройка сервиса аутентификации OpenAM и шлюза авторизации OpenIG для защиты приложений — как настроить централизованную аутентификацию через сервис аутентификации на Open Access Manager (OpenAM) и доступ к приложению через шлюз авторизации Open Identity Gateway (OpenIG)

JEP 456: Unnamed Variables & Patterns — позволяет заменять подчеркиванием переменные и шаблоны, которые вы не собираетесь использовать

Книга «Frontend Development with Javafx and Kotlin: Build State-Of-The-Art Kotlin GUI Applications» — книга знакомит с JavaFX, как технологией фронтенда и использует Kotlin вместо Java для кодирования программных артефактов, чтобы повысить выразительность и сопровождаемость кода
PathIterator

Это интерфейс в Java, который позволяет объектам, реализующим интерфейс Shape, возвращать геометрию своей границы, позволяя вызывающему объекту получать путь этой границы по одному сегменту за раз.

Основные возможности PathIterator:

👉 PathIterator позволяет перебирать сегменты пути объекта Shape по одному.
👉 Для каждого сегмента PathIterator может предоставить информацию о его типе (например, линия, кривая Безье), координатах и других атрибутах.
👉 PathIterator может использоваться для преобразования пути объекта Shape, например, для его масштабирования, поворота или перемещения.
Jackson

Jackson — это популярная библиотека Java для сериализации и десериализации объектов Java в различные текстовые форматы, такие как JSON, XML, YAML и CSV.

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

Jackson поддерживает широкий спектр функций и возможностей, что позволяет настроить его под ваши конкретные нужды. А также его можно расширить с помощью модулей для поддержки дополнительных форматов данных и функций.
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году

Результаты исследования рынка IT-вакансий, проведенного DevJobsScanner. Были проанализированы 14 миллионов объявлений и выявлены 8 наиболее востребованных языков программирования.

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

#почитать
Искусство ETL. Пишем собственный движок SQL на Spark

В данной серии статей автор подробно расскажет о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.

Читать статью
#туториал
Очередной #дайджест для джавистов

JEP 458: Launch Multi-File Source-Code Programs — запускает программы с несколькими файлами исходного кода, позволяет Java Launcher компилировать и запускать несколько файлов исходного кода — это улучшение по сравнению с JEP 330 для запуска программ с одним файлом исходного кода

Java 22 and IntelliJ IDEA — обзор фич с упором на их поддержку в IntelliJ IDEA 2024.1

Free Scala FP course — открытые курсы по введению в Scala можно пересчитать по пальцам одной руки, так что всегда приятно увидеть пополнение

Совет пользователям Java на macOS 14 — Oracle рекомендует пользователям Java на устройствах Apple на базе ARM пропустить macOS 14.4 и обновиться до macOS 14.4.1

AtomicJar теперь в Docker — теперь Testcontainers, Testcontainers Desktop и Testcontainers Cloud станут полноценной частью экосистемы Docker
Как узнать продолжительность аудиофайла?

Ответ на картинке.