Java Developer – Telegram
Java Developer
15.8K subscribers
1.86K photos
135 videos
2 files
2.07K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Что выведет код сверху?

Ошибка компиляции
Anonymous Quiz
19%
false false
21%
true true
5%
false true
55%
true false
10
👩‍💻 ListFormat

ListFormat — это инструмент, появившийся в Java 22, позволяющий форматировать список строк с учетом языковых особенностей.

Он полезен для создания списков строк, которые будут отображаться для пользователей. Пусть у нас есть список из трех дней недели — «Понедельник», «среда», «пятница». С помощью ListFormat мы можем отформатировать его следующим образом — «Понедельник» , «среда» и «пятница» в виде списка.

Предусмотрено 3 типа конкатенации: STANDARD, OR, UNIT и 3 стиля для каждого типа: FULL, SHORT, NARROW.

Подробнее — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
15
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣609😁6💯1
Вопрос с собеседования

Как работает HashMap при попытке сохранить в него два элемента по ключам с одинаковым hashCode(), но для которых equals() == false?

Ответ: По значению hashCode() вычисляется индекс ячейки массива, в список которой этот элемент будет добавлен. Перед добавлением осуществляется проверка на наличие элементов в этой ячейке. Если элементы с таким hashCode() уже присутствует, но их equals() методы не равны, то элемент будет добавлен в конец списка.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
215
👩‍💻 Doxygen

Doxygen — это кроссплатформенная система документирования исходных текстов, которая поддерживает C++, Си, Objective-C, Python, Java, PHP, C# и другие.

Пример шаблонного документирования класса:
/**
* Описание класса.
*/
public class MyClass {
// код класса
}


Пример документирования при помощи Doxygen:
/**
* Описание класса.
*/
public class MyClass {
/**
* Описание метода.
* @param param Описание параметра.
* @return Описание возвращаемого значения.
*/
public int myMethod(int param) {
// код метода
return param;
}
}


Doxygen сгенерирует документацию, включая описание класса и метода, а также информацию о параметрах и возвращаемом значении.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
17💯2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣67😁8
Вопрос с собеседования

Для чего нужен функциональный интерфейс BiFunction<T,U,R>?

Ответ: BiFunction<T,U,R> представляет собой операцию, которая принимает два аргумента классов T и U и возвращающая результат класса R.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
94
👩‍💻 Java OSGI: Реализация Microkernel архитектуры

В данной статье автор делится опытом реализации микроядерной архитектуры (microkernel) на Java с помощью OSGI (Open Service Gateway Initiative).

Этот подход является промежуточным вариантом между микро-сервисной и монолитной архитектурой. С одной стороны присутствует разделение между компонентами на уровне VM с другой — межкомпонентное взаимодействие происходит без участия сети, что ускоряет запросы.

Ссылка на статью — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
9
1
⌨️ Лямбда-выражения

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

Лямбда-выражения состоят из списка параметров, стрелки (->) и тела функции. Параметры указываются в круглых скобках, а тело функции может быть выражением или блоком кода, заключенным в фигурные скобки.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
244
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣43😁96
Вопрос с собеседования

Могут ли нестатические методы перегрузить статические?

Ответ: Да. В итоге получится два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
35💯8
👩‍💻 ExecutorService: практическая настройка

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

Ссылка на статью — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
11
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣52😁156
😁54
👩‍💻 Apache HttpClient

Apache HttpClient — это популярная библиотека для работы с HTTP-запросами в Java. Она предоставляет удобные классы и методы для отправки HTTP-запросов и обработки HTTP-ответов.

Этот пример отправляет GET-запрос на URL адрес "https://jsonplaceholder.typicode.com/posts/1" и выводит код ответа и тело ответа в консоль:
{
"userId": 1,
"id": 1,
"noscript": "sunt aut...",
"body": "quia et suscipit..."
}


Зависимость Maven:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>


➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
16
Please open Telegram to view this post
VIEW IN TELEGRAM
😁35🤣184
👩‍💻 RxJava

RxJava — это основная библиотека реактивного программирования в Java, расширяющая принципы ReactiveX (Reactive Extensions) паттерна этого языка программирования.

Реактивное программирование сконцентрировано вокруг идеи с асинхронными и событийными потоками данных, представляющими мощную парадигму для обработки скомпонованных асинхронных операций.

Ключевая фича этой библиотеки — реализованная концепция шаблонов проектирования Observables и Observers. Observable — это поток данных, который будет обрабатываться, а Observer является подписчиком и реагирует на события, которые происходят в Observable. Это позволяет разработчикам быстро строить асинхронные операции в декларативной модели.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
134
Вопрос с собеседования

Чем отличаются методы POST, PUT и PATCH?

Ответ: Все эти методы использует тело HTTP запроса для передачи данных.

POST — используется для создания ресурса.
PUT — используется для замены ресурса целиком.
PATCH — используется для редактирования ресурса.


➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
21