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

    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
Українська
Програмістами не народжуються © 2025 JavaRush
MastercardVisa
Програмістами не народжуються © 2025 JavaRush