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

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
LambdaMetafactory

LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.

Как работает LambdaMetafactory:

1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.
👍144
🖥 Karate — open-source инструмент для упрощения тестирования Java-приложений

<dependency>
<groupId>com.intuit.karate</groupId>
<artifactId>karate-core</artifactId>
<version>${karate.version}</version>
<scope>test</scope>
</dependency>


Karate — объединяет в себе API-тестирование, создание моков, тестирование производительности и тестирование UI. Синтаксис Karate нейтрален к Java и прост даже для непрограммистов. Автоматически создаёт HTML-отчеты, а тесты можно запускать параллельно для повышения скорости.

🖥 GitHub
🟡 Доки

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥7🎉32
SocketHandler

SocketHandler — это класс в Java, который используется для отправки сообщений журнала на сервер журнала. Он наследуется от класса Handler и реализует интерфейс StreamHandler.
👍107🔥3
Метод insert()

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

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

*Индексы начинаются с 0.
*Если индекс меньше 0 или больше размера списка, будет выброшено исключение.
11👍8🔥3🎅1
Не знаете, как эффективно управлять конфигурацией и обеспечивать консенсус данных? Ваши проекты сталкиваются с проблемами масштабируемости и надежности?

А теперь представьте, что ваши системы работают как часы, координация и синхронизация на высшем уровне, а конфигурация управляется легко и без ошибок. Вы освоили Apache Zookeeper и ваши проекты достигают новых высот надежности и масштабируемости!

Присоединяйтесь к открытому вебинару 21 августа в 20:00 мск. Там мы решим все эти проблемы и ответим на возникающие вопросы.

👨‍💻🛠👨🏻‍💻 Урок будет полезен разработчикам, DevOps-инженерам, администраторам систем и сетей, архитекторам ПО и всем, кто хочет глубже понять работу Apache Zookeeper.

🔴 Запишитесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/czgv33

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍43🔥3🎅1
🖥 Micronaut — современный фреймворк на базе JVM для создания легко тестируемых приложений

curl -s https://get.sdkman.io | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install micronaut


Micronaut — это JVM-фреймворк для создания микросервисов на Java, Kotlin или Groovy. Создатель фреймворка Graeme Rocher. Он создал структуру Grails и применил многие свои знания для создания Micronaut.

Micronaut предоставляет множество преимуществ в качестве платформы.

— Быстрое время запуска

— Низкое потребление памяти

— Эффективное внедрение зависимостей во время компиляции

— Фреймворк реактивный.

🖥 GitHub
🟡 Доки

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍205🔥4😁3
👩‍💻 Знакомство с Java Instrumentation API & Java agent

Ждем вас на открытом уроке, где вы узнаете, что такое Java Instrumentation API и для чего нужны агенты. В онлайне изучим агент, позволяющий изменять код бизнес-классов для добавления дополнительных trace-логов для отладки приложения.

Вебинар подходит Java-разработчикам, которые сталкиваются с вопросами производительности приложений.

После занятия вы сможете писать и подключать Java-агенты самостоятельно, а также будете иметь представление о возможностях Java Instrumentation API.

Встречаемся 22 августа в 20:00 мск.

Спикер — Tech Lead в одном из крупнейших российских банков и кандидат технических наук.

👉 Запишитесь на вебинар и прокачайте свои навыки работы с Java: https://vk.cc/czjaoq

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

BeanPostProcessor — это интерфейс в Spring Framework, который позволяет разработчикам расширять логику создания бинов. BeanPostProcessors вызываются после того, как бин был создан и проинициализирован, но до того, как он будет зарегистрирован в контейнере Spring.

BeanPostProcessors имеют два метода обратного вызова:
postProcessBeforeInitialization(Object bean, String beanName): вызывается перед тем, как будет вызван метод init() бина.
postProcessAfterInitialization(Object bean, String beanName): вызывается после того, как будет вызван метод init() бина.
👍195🔥52
Ищете оптимальные подходы для взаимодействия между сервисами?

Ждём вас на открытом вебинаре «Модели межсервисного взаимодействия» 20 августа в 20:00 мск, где мы разберем:

- основные принципы и типы межсервисного взаимодействия;
- плюсы и минусы синхронных и асинхронных моделей взаимодействия;
- как использовать API Gateway и Service Mesh для управления трафиком;
- лучшие практики и паттерны для надежного и масштабируемого взаимодействия;
- примеры успешных реализаций межсервисного взаимодействия в реальных проектах.

👨‍💻🛠👨🏻‍💻 Урок будет полезен разработчикам, архитекторам ПО, backend и fullstack-разработчикам, а также DevOps-инженерам.

Спикер Дмитрий Золотов — Flutter+Kotlin Developer в Yandex, опытный DevOps и системный администратор, ментор и преподаватель.

Занятие пройдет в преддверии старта курса «Software Architect», все участники получат скидку на обучение.

🔴 Ссылка для регистрации: https://vk.cc/cziPIn

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍43🔥2
🖥 Apache Sedona — кластерная вычислительная система на Java для обработки больших пространственных данных

Sedona дополняет существующие кластерные вычислительные системы, такие как Apache Spark, Apache Flink и Snowflake, набором готовых распределенных пространственных наборов данных и Spatial SQL, которые позволяют эффективно загружать, обрабатывать и анализировать масштабные пространственные данные на разных машинах.

Java API для Sedona ставится за 5 минут с помощью Maven, также имеются API Python и R API

🖥 GitHub
🟡 Доки

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍53
Как перейти с монолита на микросервисы без ошибок?

Приходите на открытый вебинар 21 августа в 20:00 мск, где мы разберём:

- основные причины перехода с монолита на микросервисы;
- главные ошибки, допускаемые при переходе на микросервисную архитектуру;
- плюсы и минусы микросервисной архитектуры;
- паттерны и лучшие практики работы с микросервисами;
- примеры успешных и неудачных переходов на микросервисы.

👨‍💻🛠👨🏻‍💻 Урок будет полезен разработчикам и архитекторам ПО, работающим с крупными системами, руководителям проектов, планирующим переход на микросервисы, backend и fullstack-разработчикам, а также DevOps-инженерам.

Встречаемся в рамках курса «Microservice Architecture». Все участники вебинара получат специальную цену на обучение! Регистрация открыта: https://vk.cc/czlCB1

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍54🔥2
Интерфейс UnaryOperator

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

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

В примере UnaryOperator используется для преобразования строк в верхний регистр с помощью метода map().
👍154🔥4
😰Написали программу, но понимаете, что это только начало? Сталкиваетесь с вопросами поддержки, анализа работы приложения и защиты от аварий и атак? Чувствуете, что вам не хватает знаний для эффективного мониторинга и сбора логов?

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

Присоединяйтесь к открытому вебинару «Observability в информационных системах: строим звездолет из логов и метрик» 15 августа в 19:00 мск и сделайте этот прыжок в будущее!

Спикер Сергей Окатов — кандидат физико-математических наук и руководитель управления разработки.

⚡️Зарегистрируйтесь на вебинар прямо сейчас и прокачайте свои навыки в разработке: https://otus.pw/Nny9/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥2
💻 Postgres Professional выпустила в свободном доступе книгу «PostgreSQL 16 изнутри»

Компания-разработчик СУБД Postgres Professional выпустила новую книгу «PostgreSQL 16 изнутри». Электронная версия учебника находится в свободном доступе. Автор книги — Егор Рогов, директор по разработке образовательных программ Postgres Professional.

Первое издание этого учебника, основанное на 14-й версии PostgreSQL, было выпущено в марте 2022 года и обновлено до 15 версии. Из-за большого читательского интереса компания перевела книгу на английский язык. Позже она стала самым популярным тематическим изданием 2023 года по версии Postgres Weekly и вошла в список профессиональной литературы на официальном сайте сообщества PostgreSQL.

В актуальной редакции книги «PostgreSQL 16 изнутри» учтены замечания читателей, исправлены опечатки, а также отражены изменения, произошедшие в версии PostgreSQL 16.

Также Postgres Professional обновила локализованную документацию к PostgreSQL 16.

📎 «PostgreSQL 16 изнутри»
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍28🔥119
👩‍💻 Обобщения в Java — что это и как эффективно с ними работать?

Ждем вас на открытом вебинаре, где мы познакомимся с одной из базовых тем языка Java — Обобщения (Generics).
Изучим, для чего они нужны, где они применяются в стандартной Java-библиотеке, а также как их можно использовать в своем коде.

Встречаемся 21 августа в 20:00 мск.

Спикер Александр Фисунов — Senior Kotlin Developer в SSP Software на проекте ВТБ, опытный Java-разработчик и кандидат технических наук.

👉 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/czozLX

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5🔥43
Класс StringJoiner

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

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

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