CodeGym
Promocja
Nauka
Kursy
Zadania
Ankiety & quizy
Gry
Pomoc
Harmonogram
Społeczność
Użytkownicy
Forum
Czat
Artykuły
Historie sukcesu
Aktywność
Opinie
Subskrypcje
Jasny motyw

Lekcje

  • Opinie
  • O nas
Start
Rozpocznij naukę
Rozpocznij naukę teraz
  • Mój postęp
  • Kursy
  • Mapa Questów
  • Lekcje
  • Kompresja i profilowanie serializacji

    JAVA 25 SELF
    Poziom 45,Lekcja 4
    Jak zmniejszyć rozmiar i przyspieszyć serializację obiektów w Javie: wyłączamy zbędne pola za pomocą transient, przejmujemy pełną kontrolę dzięki Externalizable, stosujemy kompresję strumieniową ( GZIPOutputStream, ZipOutputStream), przyspieszamy I/O poprzez buforowanie ( BufferedOutputStream, BufferedInputStream) oraz szybkie kopiowanie z użyciem FileChannel. transferTo. Do oceny wydajności używamy zarówno szybkich pomiarów przez System. nanoTime(), jak i rzetelnych mikrobenchmarków w JMH. Zakończymy mini‑eksperymentem i omówieniem typowych błędów.
    Dostępne
  • Podstawy JSON: struktura, składnia, zalety

    JAVA 25 SELF
    Poziom 46,Lekcja 0
    Krótkie i nowoczesne wprowadzenie do formatu wymiany danych JSON: czym jest i dlaczego stał się standardem de facto dla REST API, podstawowe struktury – obiekty { } i tablice [ ], dozwolone typy (łańcuchy "...", liczby, wartości boolowskie true/ false, null), zagnieżdżanie, porównanie z XML, odwzorowania JSON ↔ Java (kolekcje Map<K, V>, HashMap<K, V>). Omawiamy praktyczne przykłady i typowe błędy: pojedyncze cudzysłowy, zbędne przecinki, undefined, liczby z wiodącymi zerami.
    Dostępne
  • Jackson — odczyt i zapis JSON, adnotacje

    JAVA 25 SELF
    Poziom 46,Lekcja 1
    Jackson — de facto standard pracy z JSON w Javie: od prostych operacji serializacji i deserializacji przez ObjectMapper po precyzyjną konfigurację z adnotacjami @JsonProperty, @JsonIgnore, @JsonInclude, @JsonFormat. W wykładzie omówimy dodanie zależności ( jackson-databind), odczyt i zapis obiektów oraz kolekcji, pretty printing, pracę z datami i typowe błędy, w tym generics z TypeReference oraz wymagania względem POJO (konstruktor bez parametrów, gettery/settery).
    Dostępne
  • Gson — serializacja i deserializacja, konfiguracja

    JAVA 25 SELF
    Poziom 46,Lekcja 2
    W tym wykładzie omawiamy bibliotekę Google Gson: szybki start z metodami toJson/ fromJson, deserializację kolekcji przez TypeToken<>, elastyczną konfigurację z GsonBuilder ( setPrettyPrinting, serializeNulls, setDateFormat). Omówimy adnotacje @SerializedName, @Expose, wersjonowanie @Since/ @Until, własne adaptery przez TypeAdapter i registerTypeAdapter, a następnie porównamy z Jackson i omówimy typowe błędy.
    Dostępne
  • Praca ze strukturami dynamicznymi: Map, List, JsonNode

    JAVA 25 SELF
    Poziom 46,Lekcja 3
    Gdy struktura JSON nie jest z góry znana lub często się zmienia, wygodniej pracować nie ze sztywnymi klasami Javy, lecz z uniwersalnymi kontenerami: Map, List oraz drzewami JSON. W wykładzie omawiamy, jak za pomocą ObjectMapper odczytać dane do Map<String, Object> i List, jak bezpiecznie przechodzić po drzewie przez JsonNode i jego metody get/ path/ asText(), a także alternatywę w Gson z JsonElement, JsonObject, JsonArray. Kończymy praktyką wydobywania konfiguracji i przeglądem typowych błędów.
    Dostępne
  • Walidacja JSON: JSON Schema, błędy walidacji

    JAVA 25 SELF
    Poziom 46,Lekcja 4
    Po co i jak sprawdzać dane wejściowe w formacie JSON przed deserializacją: omawiamy kontrakt na dane za pomocą JSON Schema (klucze type, properties, required, format), walidujemy w Javie biblioteką everit-org/json-schema (wczytanie schematu do Schema, wywołanie validate), poprawnie obsługujemy ValidationException i tworzymy zrozumiałe komunikaty o błędach dla użytkowników i API.
    Dostępne
  • Podstawy XML i przestrzeni nazw

    JAVA 25 SELF
    Poziom 47,Lekcja 0
    Krótkie i praktyczne wprowadzenie do XML: podstawowa struktura (elementy, atrybuty, węzły tekstowe, komentarze, CDATA), budowa prologu, a przede wszystkim — po co są potrzebne przestrzenie nazw i jak je deklarować oraz stosować za pomocą atrybutów xmlns i xmlns:prefix. Omówimy prefiksy, przestrzeń domyślną ( xmlns= "URI"), mieszanie różnych „słowników” w jednym dokumencie oraz typowe błędy parsowania.
    Dostępne
  • Praca z DOM i SAX: parsowanie XML

    JAVA 25 SELF
    Poziom 47,Lekcja 1
    W tym wykładzie omawiamy dwa klasyczne podejścia do parsowania XML: drzewiaste DOM i zdarzeniowe SAX. Nauczysz się czytać i modyfikować dokumenty poprzez drzewo ( Document, Element, NodeList) oraz przetwarzać duże pliki strumieniowo z obsługą zdarzeń ( SAXParser, DefaultHandler, startElement/ characters/ endElement). Pokażemy plusy i minusy każdego podejścia, praktyczne przykłady oraz omówimy typowe błędy (pamięć, dzielenie tekstu w characters, próby modyfikacji XML w SAX).
    Dostępne
  • StAX (Streaming API for XML) — strumieniowe parsowanie

    JAVA 25 SELF
    Poziom 47,Lekcja 2
    Omawiamy strumieniowe parsowanie XML za pomocą StAX: czym model pull różni się od podejścia push w SAX, jak tworzyć parser przez XMLInputFactory i czytać zdarzenia z XMLStreamReader w pętli z wywołaniami reader. next(), jakie są typy zdarzeń ( START_ELEMENT, CHARACTERS, END_ELEMENT, END_DOCUMENT) oraz kiedy StAX jest korzystniejszy od DOM/ SAX. Plus: tabela porównawcza podejść, diagram Mermaid i omówienie typowych błędów (wycieki strumieni, zagnieżdżenie elementów, wyjątki XMLStreamException, IOException).
    Dostępne
  • Praca z XML przez JAXB: podstawy, adnotacje

    JAVA 25 SELF
    Poziom 47,Lekcja 3
    Jak za pomocą JAXB (Jakarta XML Binding) zamieniać obiekty Javy na XML i z powrotem: kluczowe adnotacje @XmlRootElement, @XmlElement, @XmlAttribute, @XmlType, @XmlTransient; podstawowe klasy JAXBContext, Marshaller, Unmarshaller; konfiguracja formatowania przez właściwość Marshaller.JAXB_FORMATTED_OUTPUT. Omawiamy zależności Maven dla Java 11+ ( jakarta.xml.bind-api, jaxb-runtime), pracę z kolekcjami i obiektami zagnieżdżonymi, sterowanie kolejnością elementów ( propOrder), wykluczanie pól i typowe błędy.
    Dostępne
  • Konfiguracja serializacji XML: niestandardowe adaptery

    JAVA 25 SELF
    Poziom 47,Lekcja 4
    Jak nauczyć JAXB serializować „niestandardowe” typy i prezentować dane w wymaganym formacie: używamy adnotacji @XmlJavaTypeAdapter i piszemy własne adaptery na bazie XmlAdapter<ValueType, BoundType>. Omówimy formatowanie dat ( LocalDate → "dd.MM.yyyy"), liczb ( BigDecimal), pracę z kolekcjami, przenoszenie wartości do atrybutów przez @XmlAttribute, elementy przez @XmlElement i wykluczanie pól @XmlTransient. Poćwiczymy serializację/deserializację przez Marshaller/ Unmarshaller i przeanalizujemy typowe błędy.
    Dostępne
  • Wyrażenia lambda: składnia, zasięgi

    JAVA 25 SELF
    Poziom 48,Lekcja 0
    Powtarzamy i pogłębiamy wyrażenia lambda w Java: składnia (parametry, strzałka ->, ciało), krótkie formy bez nawiasów i return, powiązanie z interfejsami funkcyjnymi ( Comparator, Runnable, Consumer), codzienne przykłady z listami, strumieniami i Stream API. Omawiamy zasięg i zasadę „efektywnie final”, różnicę this w lambdach i klasach anonimowych, a także typowe błędy oraz sposoby ich uniknięcia.
    Dostępne
  • 1
  • ...
  • 20
  • 21
  • 22
  • 23
  • 24
  • ...
  • 30
Nauka
  • Rejestracja
  • Kurs Java
  • Pomoc w zadaniach
  • Cennik
  • Składnia Javy
Społeczność
  • Użytkownicy
  • Artykuły
  • Forum
  • Czat
  • Historie sukcesu
  • Aktywność
  • Program partnerski
Firma
  • O nas
  • Kontakt
  • Opinie
  • Dla mediów
  • CodeGym dla EDU
  • FAQ
  • Wsparcie
CodeGymCodeGym to kurs online do nauki programowania w Javie od podstaw. Kurs idealny do opanowania Javy dla początkujących. Zawiera 1200+ zadań z natychmiastową weryfikacją oraz niezbędny zakres teorii podstaw Javy. Aby pomóc Ci w nauce, wprowadziliśmy zestaw funkcji motywacyjnych: quizy, projekty programistyczne, materiały o efektywnej nauce i poradnik kariery dla programisty Java.
Obserwuj nas
Język interfejsu
English Deutsch Español हिन्दी Français Português
Polski
বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programiści są tworzeni, nie rodzą się" © 2026 CodeGym
MastercardVisa
"Programiści są tworzeni, nie rodzą się" © 2026 CodeGym