JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
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 і простори імен

    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. Плюс: таблиця порівняння підходів, Mermaid‑діаграма та розбір типових помилок (витоки ресурсів, вкладеність елементів, винятки 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
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush