Java библиотека
31.6K subscribers
2.31K photos
78 videos
8 files
2.05K links
Книги, статьи, мемы и многое другое для Java программиста!

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
Forwarded from Java Guru 🤓
Что выведет данный код?
👍5🔥2
⚡️ Приглашаем на открытый урок «Разрабатываем Kafka-appender для логгера».

🗓 05 декабря в 20:00 МСК

Интеграция логирования с системами обмена сообщениями, такими как Apache Kafka, становится все более востребованной в современных Java-приложениях. Однако найти готовый функционал для этой задачи не всегда просто, поэтому часто возникает необходимость разработки собственного Kafka-appender для логгера.

На вебинаре разберем:

✔️ Зачем нужен Kafka-appender для логгера.
✔️ Подходы к разработке собственного Kafka-appender.
✔️ Шаги по созданию Kafka-appender для логгера.
✔️Практические рекомендации

Вебинар пройдет в рамках курса «Java Developer. Professional», все посетители получат welcome-скидку на обучение.

🔗 Ссылка на регистрацию: https://vk.cc/cFpnap

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥2
Узнаем размер памяти компьютера

Для получения информации о памяти компьютера в Java можно использовать класс Runtime.

@javalib #java
👍174🔥4
Как работает 𝐠𝐑𝐏𝐂

gRPC (Google Remote Procedure Call) — это современный фреймворк с открытым исходным кодом, разработанный компанией Google для эффективной и масштабируемой коммуникации между микросервисами. Он основан на RPC (удалённый вызов процедур) и используется для построения распределённых систем и микросервисных архитектур.

Выше показана диаграмма, иллюстрирующая общий поток данных для 𝐠𝐑𝐏𝐂.

Шаг 1: Клиент отправляет REST-запрос, обычно в формате JSON.

Шаги 2 - 4: Сервис заказа (клиент gRPC) получает REST-запрос, преобразует его и делает RPC-вызов к сервису оплаты. gPRC кодирует клиентский stub в бинарный формат и отправляет на транспортный уровень.

Шаг 5: gRPC передаёт пакеты по сети через HTTP/2. Благодаря бинарному кодированию и сетевым оптимизациям gRPC работает в 5 раз быстрее, чем JSON.

Шаги 6 - 8: Сервис оплаты (сервер gRPC) получает пакеты, декодирует их и вызывает серверное приложение.

Шаги 9 - 11: Результат возвращается с серверного приложения, кодируется и передаётся на транспортный уровень.

Шаги 12 - 14: Сервис заказа получает пакеты, декодирует их и отправляет результат клиентскому приложению.

@javalib #java
👍22🔥54
System.arraycopy

System.arraycopy используется для копирования элементов из одного массива в другой. Этот метод предоставляет эффективный способ копирования данных между массивами. Синтаксис System.arraycopy:

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

Параметры метода включают:

src: Исходный массив, из которого вы хотите скопировать элементы.
srcPos: Начальная позиция в исходном массиве, с которой начнется копирование.
dest: Целевой массив, в который вы хотите скопировать элементы.
destPos: Начальная позиция в целевом массиве, куда будут скопированы элементы.
length: Количество элементов, которое вы хотите скопировать.


@javalib #java
9👍8🔥5
👩‍💻 Хотите стать востребованным Java-разработчиком, освоить Spring и выйти на новый уровень в карьере и доходе?

Обучение на курсе «Разработчик на Spring Framework» — ваш шанс прокачаться и выйти на более серьёзные проекты!

✔️ Вы освоите Spring Boot, Spring MVC, Spring Security и ещё большое количество технологий.
✔️ Оттачивайте навыки на практике — каждое домашнее задание превратится в полноценное приложение!
✔️ У нас практикующие эксперты, живые лекции и проектный подход — всё, что сделает из вас сильного специалиста.

Станьте профессионалом, который уверенно работает с микросервисной архитектурой, быстро доносит идеи до production-grade и владеет Spring на уровне, который ценят в топовых компаниях. Диплом OTUS откроет вам двери к новым возможностям и амбициозным проектам.

🎁 В "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.

➡️ Последний шанс попасть в этот набор! Пройдите короткий тест и получите скидку: https://vk.cc/cFv1jA

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥2
Метод insert()

Метод insert() используется для вставки элемента в список в заданную позицию. Он принадлежит интерфейсу List и его реализациям, таким как ArrayList.

Этот метод вставляет указанный элемент element по заданному индексу index и сдвигает все последующие элементы вправо.

*Индексы начинаются с 0.
*Если индекс меньше 0 или больше размера списка, будет выброшено исключение.


@javalib #java
👍23🔥75🎉1
Media is too big
VIEW IN TELEGRAM
Разбор исключений в Java (Checked&Unchecked): руководство для начинающих разработчиков

Погружаемся в мир исключений в Java! 🚀 В этом видео вы узнаете, что такое проверяемые (checked) и непроверяемые (unchecked) исключения, чем они отличаются, и как правильно их использовать в коде. Разберёмся с базовым классом Exception, научимся создавать свои исключения и обрабатывать их с помощью @ExceptionHandler.
Этот ролик идеально подходит для начинающих разработчиков, а также для тех, кто хочет систематизировать знания по обработке ошибок в Java.

В видео:
✔️ Что такое исключения и зачем они нужны
✔️ Checked vs Unchecked: основное различие
✔️ Класс Exception и его структура
✔️ Как создать своё исключение
✔️ Реальная обработка ошибок в Spring Boot с @ExceptionHandler
✔️ Полезные советы по работе с исключениями

📺🗣СМОТРЕТЬ RUTUBE

🌐🗣СМОТРЕТЬ VKVIDEO

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74🔥4
Spring Security в действии (2025) PDF

Spring Security значительно упрощает защиту корпоративных приложений, разработанных на Java. Этот мощный фреймворк идеально интегрируется с приложениями Spring, обеспечивая защиту с первых шагов проекта и предоставляя готовые к использованию функции, которые помогут вам реализовать надежную авторизацию и аутентификацию, а также защитить от кражи данных и вторжений. Как и все остальное в экосистеме Spring, этот фреймворк бесплатен, имеет открытый исходный код и поддерживается замечательной командой VMWare.
Понятные объяснения и наглядные примеры научат вас создавать собственные серверы авторизации, настраивать защищенные конечные точки и предотвращать атаки с использованием межсайтового скриптинга и подделки запросов.

Издание адресовано программистам Java и Spring.
👍24🔥122
⚡️ Только что закончили ВУЗ?
Начните карьеру Java-разработчика с прочной базой!

Java — один из ключевых языков программирования, который используют в банковском деле, корпоративных приложениях и IT-гигантах. Курс поможет вам освоить современные инструменты, такие как Spring, Docker, Hibernate и PostgreSQL.

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

💪 Готовы сделать первый шаг в IT?

👉 Присоединяйтесь к курсу «Java-разработчик» и получите скидку на обучение: https://vk.cc/cFD7pN

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥2
Media is too big
VIEW IN TELEGRAM
Создаём Telegram Бота с Нуля на Java и Spring Boot | Часть 2: Вырезка из процесса разработки

🖖Приветствую! Мы с вами вместе напишем реальный проект Telegram бота. В этой части я даю вам вырезку того, как проходит процесс.

Первая часть

📺🗣СМОТРЕТЬ RUTUBE

🌐🗣СМОТРЕТЬ VKVIDEO

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥43😁2🎉1
Интерфейс UnaryOperator

Интерфейс UnaryOperator предназначен для представления функций, которые принимают один аргумент и возвращают результат того же типа, что и аргумент.
Он является специализированным функциональным интерфейсом, входящим в пакет java.util.function.

UnaryOperator часто используется в stream API для применения функций к элементам потока.

В примере UnaryOperator используется для преобразования строк в верхний регистр с помощью метода map().


@javalib #java
👍136🔥4
⁉️ Устали гадать, что творится внутри вашего Java-приложения? Хотите мониторить всё в реальном времени?

🗓 На открытом вебинаре 10 декабря в 20:00 мск мы расскажем, как внедрить Observability в Java-приложения, отслеживать состояние системы и решать проблемы до их появления!

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

Спикер Сергей Петрелевич — опытный разработчик на Java и Kotlin.

🔗 Регистрируйтесь на вебинар: https://vk.cc/cFHqaX

Успейте получить скидку на участие в курсе «Java Developer. Professional».

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥2
Forwarded from Java Guru 🤓
Что выведет данный фрагмент кода?
👍5🔥2
Forwarded from Java Guru 🤓
Что выведет данный фрагмент кода?
Anonymous Quiz
14%
true true
55%
false true
16%
true false
14%
false false
👍9🔥3😁1🎅1
Согласованность в распределённой сети — вызов, который мы готовы принять!

На открытом уроке «Распределённые транзакции» разберём, как добиться согласованности данных в микросервисной и распределённой архитектуре. Изучим шаблон Saga, методы обработки ошибок и практики отката данных.

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

🔥 Спикер Олег Мифле — бэкенд-разработчик в одной из крупнейших отечественных соцсетей с 15-летним опытом в IT.

🔴 Присоединяйтесь к вебинару 16 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Highload Architect». Участники вебинара получат скидку на обучение: https://vk.cc/cFHQbY

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍72🔥2
Класс StringJoiner

Класс StringJoiner предназначен для построения строки путем соединения элементов из коллекции.
Он позволяет указать разделитель, префикс и суффикс результирующей строки.

StringJoiner часто используется при необходимости преобразовать коллекцию объектов в строку.

В примере StringJoiner используется как раз для объединения имен в строку с разделителем и добавлением префикса/суффикса.


@javalib #java
👍14🔥751
🤔Проектирование распределённых систем и управление масштабируемостью

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

Результат: вы узнаете, как проектировать распределённые системы, способные эффективно обрабатывать большие объёмы данных. Научитесь применять принципы масштабируемости и управлять компромиссами при проектировании, что поможет разрабатывать устойчивые и высокопроизводительные решения.

👉 Регистрация и подробности о курсе System Design
https://otus.pw/hmgW/?erid=LjN8KJnfd

#реклама
О рекламодателе
👍63🔥3😁1
Media is too big
VIEW IN TELEGRAM
Это произведение — настоящий шедевр для разработчиков, которые работают с открытым исходным кодом!

Музыканты создали музыкальное произведение, используя программный код! И это сделала комедийная метал-группа Nanowar Of Steel. В новой песне HelloWorld.java все слова написаны на языке Java.

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


🌐🗣СМОТРЕТЬ VKVIDEO

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1131