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

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Мое обучение
  • Курсы
  • Университет
  • Карта квестов
  • Лекции
  • Компрессия и профилирование сериализации

    JAVA 25 SELF
    45 уровень,4 лекция
    Как уменьшить размер и ускорить сериализацию объектов в Java: исключаем лишние поля с transient, берём полный контроль через Externalizable, применяем потоковую компрессию ( GZIPOutputStream, ZipOutputStream), ускоряем I/O буферизацией ( BufferedOutputStream, BufferedInputStream) и быстрым копированием через FileChannel. transferTo. Для оценки производительности используем как быстрые замеры через System. nanoTime(), так и надёжные микробенчмарки на JMH. Завершим мини‑экспериментом и разбором типичных ошибок.
    Открыта
  • Основы JSON: структура, синтаксис, преимущества

    JAVA 25 SELF
    46 уровень,0 лекция
    Краткое и современное введение в формат обмена данными JSON: что это и почему он стал стандартом де-факто для REST API, базовые структуры — объекты { } и массивы [ ], допустимые типы (строки "...", числа, булевы значения true/ false, null), вложенность, сравнение с XML, соответствия JSON ↔ Java (коллекции Map<K, V>, HashMap<K, V>). Разбираем практические примеры и типичные ошибки: одинарные кавычки, лишние запятые, undefined, числа с ведущими нулями.
    Открыта
  • Jackson — чтение и запись JSON, аннотации

    JAVA 25 SELF
    46 уровень,1 лекция
    Jackson — де-факто стандарт работы с JSON в Java: от простых операций сериализации и десериализации через ObjectMapper до тонкой настройки с аннотациями @JsonProperty, @JsonIgnore, @JsonInclude, @JsonFormat. В лекции разберём подключение ( jackson-databind), чтение и запись объектов и коллекций, pretty-printing, работу с датами и типичные ошибки, включая дженерики с TypeReference и требования к POJO (конструктор без параметров, геттеры/сеттеры).
    Открыта
  • Gson — сериализация и десериализация, настройка

    JAVA 25 SELF
    46 уровень,2 лекция
    В этой лекции разбираем библиотеку Google Gson: быстрый старт с методами toJson/ fromJson, десериализацию коллекций через TypeToken<>, гибкую конфигурацию с GsonBuilder ( setPrettyPrinting, serializeNulls, setDateFormat). Разберём аннотации @SerializedName, @Expose, версионность @Since/ @Until, собственные адаптеры через TypeAdapter и registerTypeAdapter, а затем сравним с Jackson и разберём типичные ошибки.
    Открыта
  • Работа с динамическими структурами: Map, List, JsonNode

    JAVA 25 SELF
    46 уровень,3 лекция
    Когда структура JSON заранее неизвестна или часто меняется, удобнее работать не с жёсткими Java-классами, а с универсальными контейнерами: Map, List и деревьями JSON. В лекции разбираем, как с помощью ObjectMapper прочитать данные в Map<String, Object> и List, как безопасно обходить дерево через JsonNode и его методы get/ path/ asText(), а также альтернативу на Gson с JsonElement, JsonObject, JsonArray. Завершаем практикой извлечения конфигурации и разбором типичных ошибок.
    Открыта
  • Валидация JSON: JSON Schema, ошибки валидации

    JAVA 25 SELF
    46 уровень,4 лекция
    Зачем и как проверять входные данные в формате JSON перед десериализацией: разбираем контракт на данные через JSON Schema (ключи type, properties, required, format), валидируем в Java библиотекой everit-org/json-schema (загрузка схемы в Schema, вызов validate), корректно обрабатываем ValidationException и формируем понятные сообщения об ошибках для пользователей и API.
    Открыта
  • Основы XML и namespaces

    JAVA 25 SELF
    47 уровень,0 лекция
    Короткое и практичное введение в XML: базовая структура (элементы, атрибуты, текстовые узлы, комментарии, CDATA), устройство пролога, а главное — зачем нужны пространства имён и как их объявлять и применять через атрибуты xmlns и xmlns:prefix. Разберём префиксы, пространство по умолчанию ( xmlns= "URI"), смешение разных «словарей» в одном документе и типичные ошибки парсинга.
    Открыта
  • Работа с DOM, SAX: парсинг XML

    JAVA 25 SELF
    47 уровень,1 лекция
    В этой лекции разбираем два классических подхода к разбору XML: древовидный DOM и событийный SAX. Вы научитесь читать и изменять документы через дерево ( Document, Element, NodeList) и обрабатывать большие файлы потоково с обработчиками событий ( SAXParser, DefaultHandler, startElement/ characters/ endElement). Покажем плюсы и минусы каждого подхода, практические примеры и разберём типичные ошибки (память, разбиение текста в characters, попытки модификации XML в SAX).
    Открыта
  • StAX (Streaming API for XML) — потоковый парсинг

    JAVA 25 SELF
    47 уровень,2 лекция
    Разбираем потоковый парсинг XML с помощью StAX: чем pull-модель отличается от SAX push-подхода, как создавать парсер через XMLInputFactory и читать события из XMLStreamReader циклом со вызовами reader. next(), какие есть типы событий ( START_ELEMENT, CHARACTERS, END_ELEMENT, END_DOCUMENT) и когда StAX предпочтительнее DOM/ SAX. Плюс: таблица сравнения подходов, мермад-диаграмма и разбор типичных ошибок (утечки потоков, вложенность элементов, исключения XMLStreamException, IOException).
    Открыта
  • Работа с XML через JAXB: основы, аннотации

    JAVA 25 SELF
    47 уровень,3 лекция
    Как с помощью JAXB (Jakarta XML Binding) превращать Java-объекты в XML и обратно: ключевые аннотации @XmlRootElement, @XmlElement, @XmlAttribute, @XmlType, @XmlTransient; базовые классы JAXBContext, Marshaller, Unmarshaller; настройка форматирования через свойство Marshaller.JAXB_FORMATTED_OUTPUT. Рассматриваем Maven-зависимости для Java 11+ ( jakarta.xml.bind-api, jaxb-runtime), работу с коллекциями и вложенными объектами, управление порядком элементов ( propOrder), исключение полей и типичные ошибки.
    Открыта
  • Настройка сериализации XML: кастомные адаптеры

    JAVA 25 SELF
    47 уровень,4 лекция
    Как научить JAXB сериализовать «нестандартные» типы и представлять данные в нужном формате: используем аннотацию @XmlJavaTypeAdapter и пишем собственные адаптеры на основе XmlAdapter<ValueType, BoundType>. Разберём форматирование дат ( LocalDate → "dd.MM.yyyy"), чисел ( BigDecimal), работу с коллекциями, перенос значений в атрибуты через @XmlAttribute, элементы через @XmlElement и исключение полей @XmlTransient. Потренируемся сериализовать/десериализовать через Marshaller/ Unmarshaller и разберём типичные ошибки.
    Открыта
  • Лямбда-выражения: синтаксис, области видимости

    JAVA 25 SELF
    48 уровень,0 лекция
    Повторяем и углубляем лямбда-выражения в Java: синтаксис (параметры, стрелка ->, тело), короткие формы без скобок и return, связь с функциональными интерфейсами ( Comparator, Runnable, Consumer), повседневные примеры со списками, потоками и Stream API. Разбираем область видимости и правило «эффективно final», различие this у лямбд и анонимных классов, а также типичные ошибки и способы их избежать.
    Открыта
  • 1
  • ...
  • 20
  • 21
  • 22
  • 23
  • 24
  • ...
  • 57
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush