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
  • Własne Collector i Spliterator

    JAVA 25 SELF
    Poziom 33,Lekcja 4
    W lekcji omawiamy, jak pisać własne collectory dla Stream API przez Collector i kiedy ma to rzeczywiście sens, a także jak zaimplementować własny Spliterator dla efektywnego sekwencyjnego i równoległego przetwarzania danych. Krok po kroku przeanalizujemy komponenty collectora ( supplier, accumulator, combiner, finisher, characteristics), przykłady dla multi-map i top-N, strategie trySplit, a także poprawne ustawienie charakterystyk ( ORDERED, SIZED, SUBSIZED i inne).
    Dostępne
  • List.of, Set.of, Map.of — niemutowalne kolekcje

    JAVA 25 SELF
    Poziom 34,Lekcja 0
    W tym wykładzie omawiamy niemutowalne kolekcje w Java 9+: metody fabryczne List.of, Set.of, Map.of i Map.ofEntries. Porównamy je z „owijkami” Collections.unmodifiableList, omówimy ograniczenia (zakaz modyfikacji, zakaz null, zakaz duplikatów dla zbioru i kluczy mapy), kolejność elementów oraz wydajność. Zobaczymy limit do 10 par dla Map.of i typowe wyjątki: UnsupportedOperationException, NullPointerException, IllegalArgumentException. Plus praktyczne przykłady, kiedy takie kolekcje upraszczają projekt i zwiększają bezpieczeństwo odczytu w wielu wątkach.
    Dostępne
  • Map.copyOf, Set.copyOf i inne narzędzia

    JAVA 25 SELF
    Poziom 34,Lekcja 1
    W tym wykładzie omawiamy niemodyfikowalne kopie kolekcji, które pojawiły się w Java 10: List.copyOf, Set.copyOf i Map.copyOf. Dowiesz się, czym różnią się od opakowań Collections.unmodifiable*, jakie obowiązują ograniczenia (zakaz null, niemodyfikowalność), kiedy zwracany jest ten sam obiekt i dlaczego nie należy polegać na konkretnej implementacji. Pokazano praktyczne scenariusze użycia oraz typowe błędy, w tym mylenie z Map.of i Map.ofEntries.
    Dostępne
  • Kolekcje CopyOnWrite, niemodyfikowalne wrappery

    JAVA 25 SELF
    Poziom 34,Lekcja 2
    W tym wykładzie omawiamy dwa podejścia do „ochrony” kolekcji: niezmienne wrappery z Collections.unmodifiable* oraz metody fabryczne List.of/ Set.of/ Map.of, a także bezpieczne wątkowo CopyOnWriteArrayList i CopyOnWriteArraySet z pakietu java.util.concurrent. Zrozumiemy, czym wrapper różni się od prawdziwej niezmienności, gdzie przydają się struktury CopyOnWrite i jakie typowe błędy występują w praktyce.
    Dostępne
  • Kolekcje mutable vs immutable: różnice i zastosowania

    JAVA 25 SELF
    Poziom 34,Lekcja 3
    W tej lekcji omawiamy różnice między modyfikowalnymi i niemodyfikowalnymi kolekcjami w Java: kiedy wybierać ArrayList/ HashSet, a kiedy — fabryczne kolekcje Java 9+ ( List.of, Set.of, Map.of) oraz kopie poprzez copyOf. Porozmawiamy o bezpieczeństwie, bezpieczeństwie wątkowym, wygodzie debugowania, pułapkach „owijek” Collections.unmodifiableList, praktycznych przykładach użycia, a także typowych błędach i sposobach ich unikania.
    Dostępne
  • Nowe kolekcje: SequencedCollection, SequencedSet, SequencedMap

    JAVA 25 SELF
    Poziom 34,Lekcja 4
    W Java 21 pojawiły się interfejsy kolekcji z zachowaną kolejnością — SequencedCollection, SequencedSet i SequencedMap. Wprowadzają one spójny kontrakt do pracy z kolejnością elementów: szybki dostęp do pierwszego/ostatniego elementu oraz odwracanie kolejności kolekcji przez reversed(). Na wykładzie omówimy, które standardowe kolekcje już je implementują, jakie metody się pojawiły, jak stosować to w realnym kodzie, a także typowe błędy i niuanse użycia.
    Dostępne
  • Podstawy java.io i java.nio: różnice, ewolucja API

    JAVA 25 SELF
    Poziom 35,Lekcja 0
    Ta lekcja to krótki przewodnik po ewolucji plikowego I/O w Javie: od „klasycznego” pakietu java.io z klasami File, strumieniami FileInputStream/ FileOutputStream i znakowymi Reader/ Writer do nowoczesnego java.nio.file (NIO.2) z Path, Files i FileSystem. Omówimy, czym różnią się podejścia, gdzie wygrywa asynchroniczny IO, jak bezpiecznie migrować ( File . toPath() ⇄ Path . toFile()), a także zobaczymy praktyczne przykłady, ściągawkę wyboru API i typowe błędy.
    Dostępne
  • Klasy File, Path, Files: przegląd, tworzenie obiektów

    JAVA 25 SELF
    Poziom 35,Lekcja 1
    W tym wykładzie omawiamy trzy kluczowe byty plikowego API Javy: historyczny File, nowoczesną abstrakcję ścieżki Path z NIO.2 oraz klasę narzędziową — „szwajcarski scyzoryk” — Files. W praktyce zobaczymy, jak tworzyć obiekty, konwertować File ↔ Path, bezpiecznie „sklejać” ścieżki przez resolve, uzyskiwać ścieżki względne przez relativize, normalizować je przy użyciu normalize oraz wykonywać operacje w rodzaju Files.exists, Files.copy, Files.move, Files.readAllLines/ Files.write. Efekt — jasne zrozumienie, kiedy używać każdego podejścia i jakie błędy pojawiają się najczęściej.
    Dostępne
  • Odczyt i zapis plików: podstawowe operacje

    JAVA 25 SELF
    Poziom 35,Lekcja 2
    Wykład omawia szybkie sposoby pracy z plikami za pomocą narzędzi java.nio.file.Files: czytamy cały plik ( readAllBytes, readAllLines) i zapisujemy dane ( write) z jawnie określonym kodowaniem StandardCharsets.UTF_8. Porozmawiamy o obsłudze wyjątków IOException, pokażemy praktyczne przykłady, omówimy, kiedy potrzebne są API strumieniowe ( BufferedReader, BufferedWriter) i przeanalizujemy typowe błędy.
    Dostępne
  • Tryby pracy z plikami: odczyt, zapis, dopisywanie

    JAVA 25 SELF
    Poziom 35,Lekcja 3
    W tej lekcji omawiamy tryby pracy z plikami w Javie: nadpisywanie i dopisywanie, kombinacje opcji StandardOpenOption (np. APPEND, CREATE, TRUNCATE_EXISTING, CREATE_NEW), pracę z tekstem i bajtami przez Files.write()/ Files.readAllBytes(), kiedy wybrać strumienie ( BufferedReader/ BufferedWriter) i jak poprawnie obsługiwać wyjątki ( IOException i inne). Dużo praktycznych przykładów i omówienie typowych błędów.
    Dostępne
  • Praca z katalogami: tworzenie, usuwanie, przeglądanie zawartości

    JAVA 25 SELF
    Poziom 35,Lekcja 4
    Praktyczny wykład o pracy z systemem plików przez java.nio.file: tworzymy katalogi za pomocą Files.createDirectory i Files.createDirectories, usuwamy przez Files.delete i Files.deleteIfExists, przeglądamy zawartość za pomocą Files.list, omawiamy rekurencyjne usuwanie z Files.walkFileTree. Przykłady krok po kroku, mini‑menedżer plików oraz sekcja typowych błędów pomogą pewnie pracować z folderami w dowolnych systemach operacyjnych.
    Dostępne
  • BufferedReader, BufferedWriter: buforowanie, zalety

    JAVA 25 SELF
    Poziom 36,Lekcja 0
    Dlaczego czytanie i pisanie plików „łyżeczką do herbaty” jest kosztowne: wyjaśniamy, jak buforowanie przyspiesza tekstowy I/O w Javie. Zobaczymy, jak BufferedReader i BufferedWriter działają na wierzchu FileReader/ FileWriter, użyjemy odczytu wierszami przez readLine(), zapisu i przejścia do nowej linii przez write()/ newLine(), wymuszonego opróżnienia bufora flush(), ustawimy rozmiar bufora i uporamy się z kodowaniami przez InputStreamReader/ OutputStreamWriter. Kiedy stosować buforowanie, kiedy nie — oraz jakie błędy zdarzają się najczęściej.
    Dostępne
  • 1
  • ...
  • 15
  • 16
  • 17
  • 18
  • 19
  • ...
  • 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