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
erid: LjN8KVFn7

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

Ищи новую работу с удовольствием. Переходи на канал Лиги Цифровой Экономики. Там мы говорим о технологиях, новостях и трендах мира ИТ, а также предлагаем актуальные вакансии для роста твоей карьеры.

Все подробности ищи у нас в канале.

https://news.1rj.ru/str/digitalleague
6👍3🔥2😁1
🖥 fastjson2 — очень быстрая библиотека Java для работы с JSON

<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.51</version>
</dependency>


Особенности fastjson2:

— скорость работы fastjson2 намного больше, чем у других популярных JSON библиотек, включая jackson/gson/org.json, бенчмарки тут

— fastjson2 поддерживает новые возможностей JDK, включая JDK 11/JDK 17, имеется поддержка Record, поддержка GraalVM Native-Image

— fastjson2 поддерживает JSONPath, поддерживает синтаксис SQL:2016 JSONPath

🟡 Доки
🖥 GitHub

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍234🔥2😁1
Контейнер Optional

Optional — это контейнер, который может содержать какое-то значение или не содержать ничего.
Он используется для обозначения отсутствия значения вместо null. Это позволяет избежать ошибок NullPointerException.

Optional появился в Java 8. Он представлен классом java.util.Optional.
Чтобы создать экземпляр Optional, используются статические методы:
— empty() для пустого Optional.
— of() для Optional с заданным значением.

Для получения значения из Optional используются методы get(), или orElse() с указанием значения по умолчанию. Также есть методы фильтрации значений, например filter(), map() и flatMap().
👍219🔥3😁1
👩‍💻 Тест по Java от OTUS

Проверь насколько хорошо ты знаешь Java и готов освоить Spring!

Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.

➡️ ПРОЙТИ ТЕСТ: https://vk.cc/cy7VhS

🎫 Курс можно приобрести в рассрочку

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🔥2😁1
Предположим, есть метод, который может выбросить IOException и FileNotFoundException в какой последовательности должны идти блоки catch? Сколько блоков catch будет выполнено?

Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок catch(Exception ex) {}, иначе все дальнейшие блоки catch() уже ничего не смогут обработать, т.к. любое исключение будет соответствовать обработчику catch(Exception ex).

Таким образом, исходя из факта, что FileNotFoundException extends IOException сначала нужно обработать FileNotFoundException, а затем уже IOException.

@javalib #java
👍204🔥4
🖥 Fixture Monkey — инструмент на Java для автоматической генерации объектов для тестов

<dependency>
<groupId>com.navercorp.fixturemonkey</groupId>
<artifactId>fixture-monkey-starter</artifactId>
<version>1.0.20</version>
<scope>test</scope>
</dependency>


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

🖥 GitHub
🟡 Доки

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍54
charBuffer

Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит java.nio.

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

В этом примере создается строка «Hello». Затем из этой строки получаем буфер символов методом charBuffer().
В цикле посимвольно читаем из буфера символы и выводим их на экран.
👍194🔥4😁1
Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!

👩‍💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.

👩‍💻 Kotlin Developer - самый топовый канал для котлин разработчика!

📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!

📰 Java News - канал с последними новостями из мира Java!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🔥2
🖥 Instancio — это библиотека Java, которая автоматически создает объекты для юнит тестов

Вместо того, чтобы вручную прописывать данные:
Address address  = new Address();
address.setCity("city");
//...
Person person = new Person();
person.setFirstName("first-name");
person.setLastName("last-name");
person.setAge(22);
person.setGender(Gender.MALE);

можно сделать просто:
Person person = Instancio.create(Person.class);


Эта строка создаёт объект Person() со всеми заполненными полями, в них вписываются случайные значения.
Эти значения можно полностью воспроизвести, если тест упадёт

🖥 GitHub

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍423🔥2😁1
🖥 Hilla — современный веб-фреймворк Java

Hilla позволяет быстрее создавать бизнес-приложения — больше не нужно жонглировать эндпойнтами REST или расшифровывать запросы GraphQL.
Hilla объединяет Spring Boot и React, поэтому разработка приложений становится очень быстрой.

🖥 GitHub
🟡 Доки

@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤‍🔥43🎅2🔥1
📣 Хотите узнать, какой алгоритм сортировки быстрее и эффективнее? Присоединяйтесь к нашему открытому уроку!

💻 Тема: Визуальное сравнение 4-5 алгоритмов сортировок.

🔴Дата: 15 июля в 20:00 мск.

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

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

🔝Спикер Евгений Волосатов — программист баз данных и преподаватель с огромным и разнообразным опытом, автор статей и учебных программ по C#, Java, PHP.

➡️ Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://vk.cc/cyfihL

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

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

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

@javalib #java
👍20🔥5🎉41
🖥 Chronicle-Queue — система на Java для микросекундного обмена сообщениями, сохраняющая всё на диске

<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-queue</artifactId>
<version><!--replace with the latest version, see below--></version>
</dependency>


Chronicle Queue — это система обмена сообщениями с низкой задержкой для высокопроизводительных приложений.

Chronicle Queue — не просто ещё одна реализация очереди, в ней есть несколько важных архитектурных решений.
Не используя для хранения кучу, Chronicle Queue обеспечивает среду, в которой приложения не страдают от сборки мусора — а ведь это одна из самых больших проблем сложных приложений на Java.

Chronicle Queue позволяет добавлять сообщения в конец очереди, читать из очереди, а также поддерживает поиск сообщений.

🖥 GitHub

@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍4
👩‍💻 Интеграционные тесты контроллеров, интеграций с внешними API и безопасности.

Ждём вас на третьем занятии серии открытых практических уроков по тестированию Spring-приложений от OTUS, где мы:

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

Спикер — Senior Software Engineer, опытный преподаватель и руководитель курса.

Встречаемся 16 июля в 20:00 мск в преддверии старта курса «Разработчик на Spring Framework».
Все участники вебинара получат специальную цену на обучение!

➡️ Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок и получить записи предыдущих вебинаров серии: https://vk.cc/cyfvNv

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥2
Double-brace инициализация

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

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

@javalib #java
13👍5😁4🔥1
🖥 RIFE2 — фреймворк Java для быстрого и легкого создания веб-приложений

RIFE2 построен на базе оригинального фреймворка RIFE, который когда-то был популярен.
RIFE2 сохраняет большинство оригинальных функций и добавляет новые, занимая меньше места и обеспечивая еще большую производительность.
RIFE2 был создан Геертом Бевином, ветераном программирования на Java

🖥 GitHub
🟡 Wiki

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