Public channel ID 68446507600386

Java Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.

Всё о Java Core, JVM, Multithreading и ООП. Гайды по Hibernate, Kafka, Docker, Kubernetes (K8s) и Microservices. Разбираем SQL, NoSQL и базы данных. Подготовка к интервью: Паттерны, System Design, LeetCode, Roadmap для Junior, Middle, Senior. Новости экосистемы: Kotlin, Android, Maven, Gradle, Git, CI/CD. Тестирование (JUnit, Mockito) и Best Practices разработки высоконагруженных систем.

Channels in category
93 328
This channel's rank
№ 2 267
Open category →
Channels in category
1 757
This channel's rank
№ 59
Open category →
Channels in category
7 559
This channel's rank
№ 1 623
Open category →
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…

Loading image…
Сегодня покажу вам интересный костыль, который до сих пор живёт в JDK и влияет на сортировку списков.

🧠 Если ты когда-нибудь пробовал сортировать LinkedList через Collections.sort(), знай — под капотом происходит скрытая магия.

📌 Collections.sort(list) сначала проверяет, какой это список. Если это RandomAccess-list (например, ArrayList) — используется быстрый сортировщик (TimSort) прямо по массиву.
⚠️ Но если это LinkedList (или любой не-рандом-доступ список), внутри происходит... преобразование списка в массив! Сначала все элементы копируются в массив, потом сортируются, а затем результат обратно заливается в твой список.

// Да, это реально работает так:
List<Integer> list = new LinkedList<>();
// ...заполняем...
Collections.sort(list);


💡 Почему так? Сортировка напрямую через LinkedList была бы очень медленной — доступ к элементам по индексу у него O(n), а не O(1) как у ArrayList. Поэтому JDK идёт на компромисс: временная потеря памяти, но ускорение времени сортировки.

⚠️ Следствие: если у тебя большой LinkedList, сортировка будет требовать двойную память: сначала весь список копируется в массив.

Совет:
Для больших коллекций, которые часто сортируются, используй ArrayList, либо готовься к затратам памяти.

👉 @BookJava
Views: 312
Go to post Open in MAX Report an inaccuracy
Loading image…
💻 Зависимости Python-проекта можно устанавливать и обновлять быстрее — если правильно настроить инструменты.

На открытом уроке разберём uv — современный инструмент для управления Python-проектами и зависимостями.

🔥 Вы на практике:
— изучите ключевые концепции uv;
— разберёте основные команды для управления проектом и зависимостями;
— узнаете, как использовать uv при сборке Docker-образов;
— поймёте, как применять uv в своих проектах.

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

Урок будет полезен всем, кто использует Python и хочет освоить современный инструмент uv.

Открытый урок проходит в преддверии старта курса «Python-разработчик. Продвинутый уровень».

⏰ 29 октября в 20:00 МСК. Участие бесплатно: https://vk.cc/d33JBt

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

Ad post

Views: 352
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 Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.” 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