Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.38K photos
91 videos
10 files
2.19K links
Книги, статьи, мемы и многое другое для Java программиста!

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
Класс ReentrantReadWriteLock

Класс ReentrantReadWriteLock используется для организации разделяемого доступа к ресурсам с разделением на чтение и запись.

Он позволяет эффективно организовать одновременный доступ к данным для чтения множеством потоков и исключительный доступ для записи отдельными потоками.

Проще говоря, множество потоков могут одновременно заходить в метод read, но в write может находиться только один поток в данный момент времени.
Это позволяет эффективно организовать доступ на чтение и запись.


@javalib #java
👍11🔥81
Forwarded from Java Guru 🤓
Что произойдет при запуске программы?
🔥5👍4
SoftHashMap

SoftHashMap — это реализация интерфейса Map, которая использует слабые ссылки для хранения ключей и значений.
От обычной HashMap она отличается тем, что при нехватке памяти она может автоматически удалять наименее используемые элементы.

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


@javalib #java
👍31🔥8😁4🎄21
Рецепты чистого кода (2025) PDF, ePUB

Для инженеров-разработчиков и архитекторов, имеющих дело с большим объемом сложного кода, важно эффективно его масштабировать и обслуживать. Автор Максимилиано Контьери выходит за рамки концепции чистого кода, показывая, как искать возможности улучшения и оценивать их влияние на код готового программного продукта. Когда речь идет о надежности и развитии, эти методы обеспечивают преимущества, которые со временем окупаются.

Проверенные рецепты на JavaScript, PHP, Python, Java и других языках программирования помогут масштабировать и поддерживать большие системы. В каждом разделе рассматриваются такие фундаментальные понятия, как читаемость кода, связанность, тестируемость, безопасность и расширяемость, а также запахи кода и соответствующие рецепты их устранения.
🔥12👍63
Java Full Course for free ☕️ (2025) 12 Hours

Java tutorial for beginners full course.

🌐🗣СМОТРЕТЬ VKVIDEO

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍154🔥3🍾21
Forwarded from Java Guru 🤓
Что выведет данный код?
👍7🔥51
Forwarded from Java Guru 🤓
👍18🔥102
SQLException

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

Обычно он возникает при выполнении запросов к БД через JDBC и сигнализирует об ошибках соединения с БД, синтаксических ошибках в SQL запросе, проблемах с транзакциями и т.д.

Здесь мы подключаемся к БД, выполняем запрос INSERT и отлавливаем возможную ошибку через блок catch по SQLException.

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


@javalib #java
👍10🔥65
Media is too big
VIEW IN TELEGRAM
Работа Istio с Keycloak для обеспечения безопасности Java приложения

Демо возможностей Istio в локальном кластере Minikube на примере Java приложения и Keycloak.

📺🗣СМОТРЕТЬ RUTUBE

🌐🗣СМОТРЕТЬ VKVIDEO

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍112🔥2
Шпаргалка по основам Java с примерами кода.

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

Оригинал в хорошем качестве можно взять тут

@javalib #java
🔥20👍94
Forwarded from Java Guru 🤓
Какой запрос нужно послать, чтобы получить 15?
👍7🔥3
Forwarded from Java Guru 🤓
Какой запрос нужно послать, чтобы получить 15?
Anonymous Quiz
5%
/api/sum?sum=15
10%
/sum?a=10&b=5
10%
/api/sum?a=10,b=5
5%
/api/sum&a=10&b=5
69%
/api/sum?a=10&b=5
👍32😁7🔥4
Класс "обертка" (wrapper class)

Класс-обертка (wrapper class) — это класс, который обеспечивает возможность использования примитивных типов данных как объектов. Каждый примитивный тип данных в Java имеет соответствующий класс-обертку: byte — Byte, short — Short, int — Integer, long — Long, float — Float, double — Double, boolean — Boolean и char — Character.

Классы-обертки используются, например, при работе с объектами коллекций, такими как ArrayList, где примитивные типы не могут быть использованы (список может хранить только объекты).

В этом примере мы создаем объекты классов-оберток для примитивных типов int, double, char и выводим значения этих объектов с помощью метода println().


@javalib #java
🔥13👍84
Динамический массив

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

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


@javalib #java
13👍5🔥2
🎮 API архитектурные стили

🔗 REST – популярный подход для публичных API и веб-приложений, поддерживает JSON, XML, HTML и текст.
🔗 SOAP – использует структуру сообщений с оберткой на основе XML. Применяется в платежных системах и телеком-сервисах, но имеет высокий порог входа.
🔗 GraphQL – гибкая схема и система типов, позволяет использовать JSON и подходит для сложных систем и мобильных API.
🔗 gRPC – высокопроизводительный фреймворк RPC, работает через протоколы сериализации, используется для высоконагруженных систем.
🔗 WebSocket – поддерживает двустороннюю связь, подходит для чатов и других приложений реального времени.
🔗 Webhook – асинхронный подход, применим для CI/CD процессов и платежных шлюзов.

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍9
Paging vs. Segmentation

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

🟡 Пагинация:

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

Преимущества:
- Устраняет внешнюю фрагментацию.
- Облегчает работу с виртуальной памятью и перемещением страниц.
- Управление памятью становится более простым и эффективным.

🟡Сегментация:

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

Преимущества:
- Обеспечивает логическое разделение кода и данных.
- Упрощает защиту и обмен сегментами.
- Поддерживает управление растущими структурами данных.

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥8🎉61