New We are sorting MAX channels into categories and territories. Read the news
Public channel ID 68536775128494

Java библиотека

Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: https://t.me/NadikaKir или в ЛС сообщества ВК https://vk.com/javatutorial

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

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

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

Channels in category
2 102
This channel's rank
№ 69
Open category →
Channels in category
20 137
This channel's rank
№ 264
Open category →
Russia
Open in MAX

Posts for the period

By reactions

Search and the whole feed — after free registration. Custom dates — with a subscription; the channel owner sees them for free. Sorting by reactions — with a subscription. Sign up

Loading…

☕️ Скользящие окна в Stream без ручного буфера

Нужно сравнить соседние измерения или обработать последовательность небольшими перекрывающимися группами? В Java 24+ есть готовый gatherer.

var windows = Stream.of(1, 2, 3, 4, 5)
    .gather(Gatherers.windowSliding(3))
    .toList();

// [[1, 2, 3], [2, 3, 4], [3, 4, 5]]

Каждое следующее окно теряет самый старый элемент и получает новый. Если вход короче размера окна, получится одно неполное окно; пустой Stream не выдаст ни одного.

🟡 Окна нельзя изменять. Большой размер окна может потреблять лишнюю память — это не бесплатная замена любого буфера.

Gatherers стали стабильным API в Java 24. В докладе автора API есть примеры собственных преобразований и правила работы с параллельными потоками.

🔗 Источник • Разбор и примеры

══════ Навигация ══════
Вакансии • Задачи • Собесы

Java Библиотека | Мы в Телеграм
Views: 80
Go to post Open in MAX Report an inaccuracy
Шпаргалка по выбору типа даты и времени в Java!

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

На картинке собрана схема выбора между LocalDate, LocalTime, LocalDateTime, Instant и ZonedDateTime. Она помогает не потерять часовой пояс там, где он влияет на расписание и переходы летнего времени.

Сохрани, чтобы не потерять!

Java Библиотека | Мы в Телеграм
Views: 157
Go to post Open in MAX Report an inaccuracy
final, finally и finalize: разные задачи

final запрещает повторное присваивание переменной, переопределение метода или наследование класса. final-ссылка не делает объект неизменяемым:
final var names = new ArrayList<String>();
names.add("Java"); // допустимо

finally выполняется при выходе из try, в том числе после return или исключения. Это не гарантия на случай аварийного завершения JVM. Для AutoCloseable обычно удобнее try-with-resources.

finalize() — устаревший механизм финализации. В Java 18 его пометили для удаления, а не удалили: метод ещё присутствует в API Java 25. Момент вызова не гарантирован, поэтому закрывать файлы и соединения через него нельзя.

#Java

Java Библиотека | Мы в Телеграм
Views: 206
Go to post Open in MAX Report an inaccuracy
VKontakte Telegram Odnoklassniki
Favorites at datool.ru

Follow the channel in your account

Sign up at datool.ru to add the channel “Java библиотека” to favorites and track its metrics.

Sign up
For channel owners

Verify your channel

Sign in or sign up at datool.ru, then add our bot to the channel following the instructions in your account. Once ownership is verified, the lock disappears and channel management becomes available.

Sign in or sign up

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go