JavaRush
Акция
Университет
Java FullStack
Python FullStack
new
Web FullStack
new
Обучение
Курсы
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Собственные Collector и Spliterator

    JAVA 25 SELF
    33 уровень,4 лекция
    В лекции разбираем, как писать собственные коллектора для Stream API через Collector и когда это действительно оправдано, а также как реализовать свой Spliterator для эффективного последовательного и параллельного обхода данных. Пошагово рассмотрим компоненты коллектора ( supplier, accumulator, combiner, finisher, characteristics), примеры для мульти-карт и топ-N, стратегии trySplit, а также корректную установку характеристик ( ORDERED, SIZED, SUBSIZED и др.).
    Открыта
  • List.of, Set.of, Map.of — неизменяемые коллекции

    JAVA 25 SELF
    34 уровень,0 лекция
    В лекции разбираем неизменяемые коллекции в Java 9+: фабричные методы List.of, Set.of, Map.of и Map.ofEntries. Сравним их с обёртками Collections.unmodifiableList, обсудим ограничения (запрет изменений, запрет null, запрет дубликатов для множества и ключей карты), порядок элементов и производительность. Рассмотрим лимит в 10 пар для Map.of и типичные исключения: UnsupportedOperationException, NullPointerException, IllegalArgumentException. Плюс практические примеры, когда такие коллекции упрощают дизайн и повышают потокобезопасность чтения.
    Открыта
  • Map.copyOf, Set.copyOf и другие утилиты

    JAVA 25 SELF
    34 уровень,1 лекция
    В этой лекции разбираем неизменяемые копии коллекций, появившиеся в Java 10: List.copyOf, Set.copyOf и Map.copyOf. Вы узнаете, чем они отличаются от обёрток Collections.unmodifiable*, какие ограничения действуют (запрет на null, неизменяемость), когда возвращается тот же объект и почему нельзя полагаться на конкретную реализацию. Показаны практические сценарии применения и типичные ошибки, включая путаницу с Map.of и Map.ofEntries.
    Открыта
  • CopyOnWrite коллекции, unmodifiable wrappers

    JAVA 25 SELF
    34 уровень,2 лекция
    В этой лекции разбираем два подхода к «защите» коллекций: неизменяемые обёртки из Collections.unmodifiable* и фабричные методы List.of/ Set.of/ Map.of, а также потокобезопасные CopyOnWriteArrayList и CopyOnWriteArraySet из пакета java.util.concurrent. Поймём, чем обёртка отличается от настоящей неизменяемости, где пригодятся CopyOnWrite-структуры, и какие типичные ошибки встречаются на практике.
    Открыта
  • Mutable vs Immutable коллекции: отличие, применение

    JAVA 25 SELF
    34 уровень,3 лекция
    В этой лекции разбираем различия между изменяемыми и неизменяемыми коллекциями в Java: когда выбирать ArrayList/ HashSet и когда — фабричные коллекции Java 9+ ( List.of, Set.of, Map.of) и копии через copyOf. Обсудим безопасность, потокобезопасность, удобство отладки, подводные камни обёрток Collections.unmodifiableList и практические примеры использования, а также типичные ошибки и способы их избежать.
    Открыта
  • Новые коллекции: SequencedCollection, SequencedSet, SequencedMap

    JAVA 25 SELF
    34 уровень,4 лекция
    В Java 21 появились интерфейсы упорядоченных коллекций — SequencedCollection, SequencedSet и SequencedMap. Они добавляют единый контракт для работы с порядком элементов: быстрый доступ к первому/последнему элементу и разворот коллекции через reversed(). В лекции разберём, какие стандартные коллекции их уже реализуют, какие методы появились, как применять это в реальном коде, а также типичные ошибки и нюансы использования.
    Открыта
  • Основы java.io и java.nio: отличие, эволюция API

    JAVA 25 SELF
    35 уровень,0 лекция
    Эта лекция — краткий путеводитель по эволюции файлового ввода-вывода в Java: от «классического» пакета java.io с классами File, потоками FileInputStream/ FileOutputStream и символьными Reader/ Writer к современному java.nio.file (NIO.2) с Path, Files и FileSystem. Разберём, чем подходы отличаются, где выигрывает асинхронный IO, как безопасно мигрировать ( File . toPath() ⇄ Path . toFile()), а также рассмотрим практические примеры, памятку по выбору API и типичные ошибки.
    Открыта
  • Классы File, Path, Files: обзор, создание объектов

    JAVA 25 SELF
    35 уровень,1 лекция
    В лекции разбираем три ключевых сущности файлового API Java: исторический File, современную абстракцию пути Path из NIO.2 и утилитный класс-«швейцарский нож» Files. На практике посмотрим, как создавать объекты, преобразовывать File ↔ Path, безопасно «склеивать» пути через resolve, получать относительные пути через relativize, нормализовать их с normalize и выполнять операции уровня Files.exists, Files.copy, Files.move, Files.readAllLines/ Files.write. Итог — чёткое понимание, когда использовать каждый из подходов и какие ошибки встречаются чаще всего.
    Открыта
  • Чтение и запись файлов: базовые операции

    JAVA 25 SELF
    35 уровень,2 лекция
    В лекции разбираем быстрые способы работать с файлами через утилиты java.nio.file.Files: читаем весь файл ( readAllBytes, readAllLines) и пишем данные ( write) с явной кодировкой StandardCharsets.UTF_8. Обсудим обработку исключений IOException, покажем практические примеры, обсудим, когда нужны потоковые API ( BufferedReader, BufferedWriter) и разберём типичные ошибки.
    Открыта
  • Режимы работы с файлами: чтение, запись, дозапись

    JAVA 25 SELF
    35 уровень,3 лекция
    В этой лекции разбираем режимы работы с файлами в Java: перезапись и дозапись, комбинации опций StandardOpenOption (например, APPEND, CREATE, TRUNCATE_EXISTING, CREATE_NEW), работу с текстом и байтами через Files.write()/ Files.readAllBytes(), когда выбирать потоки ( BufferedReader/ BufferedWriter) и как корректно обрабатывать исключения ( IOException и др.). Много практических примеров и разбор типичных ошибок.
    Открыта
  • Работа с директориями: создание, удаление, просмотр содержимого

    JAVA 25 SELF
    35 уровень,4 лекция
    Практическая лекция по работе с файловой системой через java.nio.file: создаём каталоги с Files.createDirectory и Files.createDirectories, удаляем через Files.delete и Files.deleteIfExists, просматриваем содержимое с Files.list, разбираем рекурсивное удаление с Files.walkFileTree. Пошаговые примеры, мини‑файловый менеджер и раздел с типичными ошибками помогут уверенно работать с папками на любых ОС.
    Открыта
  • BufferedReader, BufferedWriter: буферизация, преимущества

    JAVA 25 SELF
    36 уровень,0 лекция
    Почему «чайной ложкой» читать и писать файлы дорого: разбираем, как буферизация ускоряет текстовый I/O в Java. Посмотрим, как BufferedReader и BufferedWriter работают поверх FileReader/ FileWriter, используем построчное чтение через readLine(), запись и перевод строки через write()/ newLine(), принудительный сброс flush(), зададим размер буфера и разберёмся с кодировками через InputStreamReader/ OutputStreamWriter. Когда применять буферизацию, когда нет — и какие ошибки встречаются чаще всего.
    Открыта
  • 1
  • ...
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...
  • 57
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush