Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- Java
- Java. Przewodnik doświadczonego programisty. Wydanie III
Szczegóły ebooka
Java jest dojrzałym, rozbudowanym, wszechstronnym, a przy tym starannie zaprojektowanym i bezpiecznym językiem programowania. W jego nowej, 17. wersji wprowadzono sporo usprawnień podstawowych elementów języka i interfejsów API. Wiele starych idiomów języka straciło przydatność, a nowe mechanizmy i paradygmaty pozwalają zwiększyć efektywność tworzenia kodu. Zawodowy programista musi dobrze poznać te nowości i nauczyć się z nich korzystać.
Oto zaktualizowane i uzupełnione wydanie zwięzłego wprowadzenia do Javy SE 17, przeznaczonego dla profesjonalnych programistów Javy. Przedstawiono w nim wszystkie istotne zagadnienia, łącznie z takimi koncepcjami jak wyrażenia lambda i strumienie, nowoczesnymi konstrukcjami, jak rekordy i klasy zapieczętowane, a także zaawansowanymi technikami programowania współbieżnego. Książka została pomyślana w taki sposób, aby wszystkie ważne zmiany wprowadzone w najnowszej wersji Javy zostały zaprezentowane w esencjonalnej formie. Informacje uporządkowano tak, aby ułatwić szybki dostęp i łatwe zrozumienie potrzebnego zagadnienia. W przewodniku znalazło się też mnóstwo praktycznych informacji wraz z przykładami kodu, pozwalającymi natychmiast przetestować wszystkie nowości.
W książce między innymi:
- rekordy i klasy zapieczętowane
- programowanie funkcyjne z wyrażeniami lambda
- optymalne zarządzanie danymi
- nowoczesne funkcje biblioteczne i bezpieczne struktury danych
- zmodularyzowane API języka Java
- interfejsy API służące do przetwarzania daty i czasu oraz internacjonalizacji
Java: poznaj najnowsze mechanizmy i paradygmaty!
Wstęp
Podziękowania
O autorze
1. Podstawowe struktury programistyczne
- 1.1. Nasz pierwszy program
- 1.1.1. Analiza programu "Witaj, świecie!"
- 1.1.2. Kompilacja i uruchamianie programu w języku Java
- 1.1.3. Wywołania metod
- 1.1.4. JShell
- 1.2. Typy proste
- 1.2.1. Typy całkowite ze znakiem
- 1.2.2. Typy zmiennoprzecinkowe
- 1.2.3. Typ char
- 1.2.4. Typ boolean
- 1.3. Zmienne
- 1.3.1. Deklaracje zmiennych
- 1.3.2. Identyfikatory
- 1.3.3. Inicjalizacja
- 1.3.4. Stałe
- 1.4. Działania arytmetyczne
- 1.4.1. Przypisanie
- 1.4.2. Podstawowa arytmetyka
- 1.4.3. Metody matematyczne
- 1.4.4. Konwersja typów liczbowych
- 1.4.5. Operatory relacji i operatory logiczne
- 1.4.6. Duże liczby
- 1.5. Ciągi znaków
- 1.5.1. Łączenie ciągów znaków
- 1.5.2. Wycinanie ciągów znaków
- 1.5.3. Porównywanie ciągów znaków
- 1.5.4. Konwersja liczb na znaki i znaków na liczby
- 1.5.5. API klasy String
- 1.5.6. Kodowanie znaków w języku Java
- 1.5.7. Bloki tekstu
- 1.6. Wejście i wyjście
- 1.6.1. Wczytywanie danych wejściowych
- 1.6.2. Formatowanie generowanych danych
- 1.7. Kontrola przepływu
- 1.7.1. Instrukcje warunkowe
- 1.7.2. Słowo kluczowe switch
- 1.7.3. Pętle
- 1.7.4. Przerywanie i kontynuacja
- 1.7.5. Zasięg zmiennych lokalnych
- 1.8. Tablice i listy tablic
- 1.8.1. Obsługa tablic
- 1.8.2. Tworzenie tablicy
- 1.8.3. Klasa ArrayList
- 1.8.4. Klasy opakowujące typy proste
- 1.8.5. Rozszerzona pętla for
- 1.8.6. Kopiowanie tablic i obiektów ArrayList
- 1.8.7. Algorytmy tablic
- 1.8.8. Parametry wiersza poleceń
- 1.8.9. Tablice wielowymiarowe
- 1.9. Dekompozycja funkcjonalna
- 1.9.1. Deklarowanie i wywoływanie metod statycznych
- 1.9.2. Parametry tablicowe i zwracane wartości
- 1.9.3. Zmienna liczba parametrów
- Ćwiczenia
2. Programowanie obiektowe
- 2.1. Praca z obiektami
- 2.1.1. Metody dostępowe i modyfikujące
- 2.1.2. Referencje do obiektu
- 2.2. Implementowanie klas
- 2.2.1. Zmienne instancyjne
- 2.2.2. Nagłówki metod
- 2.2.3. Treści metod
- 2.2.4. Wywołania metod instancyjnych
- 2.2.5. Referencja this
- 2.2.6. Wywołanie przez wartość
- 2.3. Tworzenie obiektów
- 2.3.1. Implementacja konstruktorów
- 2.3.2. Przeciążanie
- 2.3.3. Wywoływanie jednego konstruktora z innego
- 2.3.4. Domyślna inicjalizacja
- 2.3.5. Inicjalizacja zmiennych instancyjnych
- 2.3.6. Zmienne instancyjne z modyfikatorem final
- 2.3.7. Konstruktor bez parametrów
- 2.4. Rekordy
- 2.4.1. Koncepcja rekordu
- 2.4.2. Konstruktory: kanoniczny, niestandardowy i kompaktowy
- 2.5. Statyczne zmienne i metody
- 2.5.1. Zmienne statyczne
- 2.5.2. Stałe statyczne
- 2.5.3. Statyczne bloki inicjalizacyjne
- 2.5.4. Metody statyczne
- 2.5.5. Metody wytwórcze
- 2.6. Pakiety
- 2.6.1. Deklarowanie pakietów
- 2.6.2. Polecenie jar
- 2.6.3. Ścieżka przeszukiwań dla klas
- 2.6.4. Dostęp do pakietu
- 2.6.5. Importowanie klas
- 2.6.6. Import metod statycznych
- 2.7. Klasy zagnieżdżone
- 2.7.1. Statyczne klasy zagnieżdżone
- 2.7.2. Klasy wewnętrzne
- 2.7.3. Specjalne reguły składni dla klas wewnętrznych
- 2.8. Komentarze do dokumentacji
- 2.8.1. Wstawianie komentarzy
- 2.8.2. Komentarze klasy
- 2.8.3. Komentarze metod
- 2.8.4. Komentarze zmiennych
- 2.8.5. Ogólne komentarze
- 2.8.6. Odnośniki
- 2.8.7. Opisy pakietów, modułów i ogólne
- 2.8.8. Wycinanie komentarzy
- Ćwiczenia
3. Interfejsy i wyrażenia lambda
- 3.1. Interfejsy
- 3.1.1. Korzystanie z interfejsów
- 3.1.2. Deklarowanie interfejsu
- 3.1.3. Implementowanie interfejsu
- 3.1.4. Konwersja do typu interfejsu
- 3.1.5. Rzutowanie i operator instanceof
- 3.1.6. Forma operatora instanceof z "dopasowywaniem wzorca"
- 3.1.7. Rozszerzanie interfejsów
- 3.1.8. Implementacja wielu interfejsów
- 3.1.9. Stałe
- 3.2. Metody statyczne, domyślne i prywatne
- 3.2.1. Metody statyczne
- 3.2.2. Metody domyślne
- 3.2.3. Rozstrzyganie konfliktów metod domyślnych
- 3.2.4. Metody prywatne
- 3.3. Przykłady interfejsów
- 3.3.1. Interfejs Comparable
- 3.3.2. Interfejs Comparator
- 3.3.3. Interfejs Runnable
- 3.3.4. Wywołania zwrotne interfejsu użytkownika
- 3.4. Wyrażenia lambda
- 3.4.1. Składnia wyrażeń lambda
- 3.4.2. Interfejsy funkcyjne
- 3.5. Referencje do metod i konstruktora
- 3.5.1. Referencje do metod
- 3.5.2. Referencje konstruktora
- 3.6. Przetwarzanie wyrażeń lambda
- 3.6.1. Implementacja odroczonego wykonania
- 3.6.2. Wybór interfejsu funkcyjnego
- 3.6.3. Implementowanie własnych interfejsów funkcyjnych
- 3.7. Wyrażenia lambda i zasięg zmiennych
- 3.7.1. Zasięg zmiennej lambda
- 3.7.2. Dostęp do zmiennych zewnętrznych
- 3.8. Funkcje wyższych rzędów
- 3.8.1. Metody zwracające funkcje
- 3.8.2. Metody modyfikujące funkcje
- 3.8.3. Metody interfejsu Comparator
- 3.9. Klasy lokalne i anonimowe
- 3.9.1. Klasy lokalne
- 3.9.2. Klasy anonimowe
- Ćwiczenia
4. Dziedziczenie i mechanizm refleksji
- 4.1. Rozszerzanie klas
- 4.1.1. Klasy nadrzędne i podrzędne
- 4.1.2. Definiowanie i dziedziczenie metod klas podrzędnych
- 4.1.3. Przesłanianie metod
- 4.1.4. Tworzenie klasy podrzędnej
- 4.1.5. Przypisania klas nadrzędnych
- 4.1.6. Rzutowanie
- 4.1.7. Anonimowe klasy podrzędne
- 4.1.8. Wywołania metod z super
- 4.2. Hierarchie dziedziczenia
- 4.2.1. Metody i klasy z modyfikatorem final
- 4.2.2. Abstrakcyjne metody i klasy
- 4.2.3. Ograniczony dostęp
- 4.2.4. Typy zapieczętowane
- 4.2.5. Dziedziczenie i metody domyślne
- 4.3. Object - najwyższa klasa nadrzędna
- 4.3.1. Metoda toString
- 4.3.2. Metoda equals
- 4.3.3. Metoda hashCode
- 4.3.4. Klonowanie obiektów
- 4.4. Wyliczenia
- 4.4.1. Sposoby wyliczania
- 4.4.2. Konstruktory, metody i pola
- 4.4.3. Zawartość elementów
- 4.4.4. Elementy statyczne
- 4.4.5. Wyrażenia switch ze stałymi wyliczeniowymi
- 4.5. Informacje o typie i zasobach w czasie działania programu
- 4.5.1. Klasa Class
- 4.5.2. Wczytywanie zasobów
- 4.5.3. Programy wczytujące klasy
- 4.5.4. Kontekstowy program wczytujący klasy
- 4.5.5. Programy do ładowania usług
- 4.6. Refleksje
- 4.6.1. Wyliczanie elementów klasy
- 4.6.2. Kontrolowanie obiektów
- 4.6.3. Wywoływanie metod
- 4.6.4. Tworzenie obiektów
- 4.6.5. JavaBeans
- 4.6.6. Praca z tablicami
- 4.6.7. Klasa Proxy
- Ćwiczenia
5. Wyjątki, asercje i logi
- 5.1. Obsługa wyjątków
- 5.1.1. Wyrzucanie wyjątków
- 5.1.2. Hierarchia wyjątków
- 5.1.3. Deklarowanie wyjątków kontrolowanych
- 5.1.4. Przechwytywanie wyjątków
- 5.1.5. Wyrażenie try z określeniem zasobów
- 5.1.6. Klauzula finally
- 5.1.7. Ponowne wyrzucanie wyjątków i łączenie ich w łańcuchy
- 5.1.8. Nieprzechwycone wyjątki i ślad stosu wywołań
- 5.1.9. Metody API pozwalające wyrzucać wyjątki
- 5.2. Asercje
- 5.2.1. Użycie asercji
- 5.2.2. Włączanie i wyłączanie asercji
- 5.3. Rejestrowanie danych
- 5.3.1. Czy w Javie warto korzystać z frameworka rejestrowania danych?
- 5.3.2. ABC rejestrowania danych
- 5.3.3. Interfejs Platform Logging API
- 5.3.4. Konfiguracja mechanizmów rejestrowania danych
- 5.3.5. Programy obsługujące rejestrowanie danych
- 5.3.6. Filtry i formaty
- Ćwiczenia
6. Programowanie uogólnione
- 6.1. Klasy uogólnione
- 6.2. Metody uogólnione
- 6.3. Ograniczenia typów
- 6.4. Zmienność typów i symbole wieloznaczne
- 6.4.1. Symbole wieloznaczne w typach podrzędnych
- 6.4.2. Symbole wieloznaczne typów nadrzędnych
- 6.4.3. Symbole wieloznaczne ze zmiennymi typami
- 6.4.4. Nieograniczone symbole wieloznaczne
- 6.4.5. Przechwytywanie symboli wieloznacznych
- 6.5. Uogólnienia w maszynie wirtualnej Javy
- 6.5.1. Wymazywanie typów
- 6.5.2. Wprowadzanie rzutowania
- 6.5.3. Metody pomostowe
- 6.6. Ograniczenia uogólnień
- 6.6.1. Brak typów prostych
- 6.6.2. W czasie działania kodu wszystkie typy są surowe
- 6.6.3. Nie możesz tworzyć instancji zmiennych opisujących typy
- 6.6.4. Nie możesz tworzyć tablic z parametryzowanym typem
- 6.6.5. Zmienne opisujące typ klasy nie są poprawne w kontekście statycznym
- 6.6.6. Metody nie mogą wywoływać konfliktów po wymazywaniu typów
- 6.6.7. Wyjątki i uogólnienia
- 6.7. Refleksje i uogólnienia
- 6.7.1. Klasa Class<T>
- 6.7.2. Informacje o uogólnionych typach w maszynie wirtualnej
- Ćwiczenia
7. Kolekcje
- 7.1. Mechanizmy do zarządzania kolekcjami
- 7.2. Iteratory
- 7.3. Zestawy
- 7.4. Mapy
- 7.5. Inne kolekcje
- 7.5.1. Właściwości
- 7.5.2. Zestawy bitów
- 7.5.3. Zestawy wyliczeniowe i mapy
- 7.5.4. Stosy, kolejki zwykłe i dwukierunkowe oraz kolejki z priorytetami
- 7.5.5. Klasa WeakHashMap
- 7.6. Widoki
- 7.6.1. Małe kolekcje
- 7.6.2. Zakresy
- 7.6.3. Niemodyfikowalne widoki
- Ćwiczenia
8. Strumienie
- 8.1. Od iteratorów do operacji strumieniowych
- 8.2. Tworzenie strumienia
- 8.3. Metody filter, map i flatMap
- 8.4. Wycinanie podstrumieni i łączenie strumieni
- 8.5. Inne przekształcenia strumieni
- 8.6. Proste redukcje
- 8.7. Typ Optional
- 8.7.1. Tworzenie alternatywnej wartości
- 8.7.2. Wykorzystywanie wartości tylko wtedy, gdy jest obecna
- 8.7.3. Przetwarzanie potokowe wartości typu Optional
- 8.7.4. Jak nie korzystać z wartości Optional
- 8.7.5. Tworzenie wartości Optional
- 8.7.6. Łączenie flatMap z funkcjami wartości Optional
- 8.7.7. Zamiana Optional w Stream
- 8.8. Kolekcje wyników
- 8.9. Tworzenie map
- 8.10. Grupowanie i partycjonowanie
- 8.11. Kolektory strumieniowe
- 8.12. Operacje redukcji
- 8.13. Strumienie typów prostych
- 8.14. Strumienie równoległe
- Ćwiczenia
9. Przetwarzanie danych wejściowych i wyjściowych
- 9.1. Strumienie wejściowe i wyjściowe, mechanizmy wczytujące i zapisujące
- 9.1.1. Pozyskiwanie strumieni
- 9.1.2. Wczytywanie bajtów
- 9.1.3. Zapisywanie bajtów
- 9.1.4. Kodowanie znaków
- 9.1.5. Wczytywanie danych tekstowych
- 9.1.6. Generowanie danych tekstowych
- 9.1.7. Wczytywanie i zapisywanie danych binarnych
- 9.1.8. Pliki o swobodnym dostępie
- 9.1.9. Pliki mapowane w pamięci
- 9.1.10. Blokowanie plików
- 9.2. Ścieżki, pliki i katalogi
- 9.2.1. Ścieżki
- 9.2.2. Tworzenie plików i katalogów
- 9.2.3. Kopiowanie, przenoszenie i usuwanie plików
- 9.2.4. Odwiedzanie katalogów
- 9.2.5. System plików ZIP
- 9.3. Połączenia HTTP
- 9.3.1. Klasy URLConnection i HttpURLConnection
- 9.3.2. API klienta HTTP
- 9.4. Wyrażenia regularne
- 9.4.1. Składnia wyrażeń regularnych
- 9.4.2. Testowanie dopasowania
- 9.4.3. Odnajdywanie wszystkich dopasowań
- 9.4.4. Grupy
- 9.4.5. Dzielenie za pomocą znaczników
- 9.4.6. Zastępowanie dopasowań
- 9.4.7. Flagi
- 9.5. Serializacja
- 9.5.1. Interfejs Serializable
- 9.5.2. Chwilowe zmienne instancyjne
- 9.5.3. Metody readObject i writeObject
- 9.5.4. Metody readExternal i writeExternal
- 9.5.5. Metody readResolve i writeReplace
- 9.5.6. Wersjonowanie
- 9.5.7. Deserializacja i bezpieczeństwo
- Ćwiczenia
10. Programowanie współbieżne
- 10.1. Zadania współbieżne
- 10.1.1. Uruchamianie zadań
- 10.1.2. Obiekty Future
- 10.2. Obliczenia asynchroniczne
- 10.2.1. Klasa CompletableFuture
- 10.2.2. Tworzenie obiektów typu CompletableFuture
- 10.2.3. Długie zadania obsługujące interfejs użytkownika
- 10.3. Bezpieczeństwo wątków
- 10.3.1. Widoczność
- 10.3.2. Wyścigi
- 10.3.3. Strategie bezpiecznego korzystania ze współbieżności
- 10.3.4. Klasy niemodyfikowalne
- 10.4. Algorytmy równoległe
- 10.4.1. Strumienie równoległe
- 10.4.2. Równoległe operacje na tablicach
- 10.5. Struktury danych bezpieczne dla wątków
- 10.5.1. Klasa ConcurrentHashMap
- 10.5.2. Kolejki blokujące
- 10.5.3. Inne struktury danych bezpieczne dla wątków
- 10.6. Atomowe liczniki i akumulatory
- 10.7. Blokady i warunki
- 10.7.1. Blokady
- 10.7.2. Słowo kluczowe synchronized
- 10.7.3. Oczekiwanie warunkowe
- 10.8. Wątki
- 10.8.1. Uruchamianie wątku
- 10.8.2. Przerywanie wątków
- 10.8.3. Zmienne lokalne w wątku
- 10.8.4. Dodatkowe właściwości wątku
- 10.9. Procesy
- 10.9.1. Tworzenie procesu
- 10.9.2. Uruchamianie procesu
- 10.9.3. Uchwyty procesów
- Ćwiczenia
11. Adnotacje
- 11.1. Używanie adnotacji
- 11.1.1. Elementy adnotacji
- 11.1.2. Wielokrotne i powtarzane adnotacje
- 11.1.3. Adnotacje deklaracji
- 11.1.4. Adnotacje wykorzystania typów
- 11.1.5. Jawne określanie odbiorców
- 11.2. Definiowanie adnotacji
- 11.3. Adnotacje standardowe
- 11.3.1. Adnotacje do kompilacji
- 11.3.2. Metaadnotacje
- 11.4. Przetwarzanie adnotacji w kodzie
- 11.5. Przetwarzanie adnotacji w kodzie źródłowym
- 11.5.1. Przetwarzanie adnotacji
- 11.5.2. API modelu języka
- 11.5.3. Wykorzystanie adnotacji do generowania kodu źródłowego
- Ćwiczenia
12. API daty i czasu
- 12.1. Linia czasu
- 12.2. Daty lokalne
- 12.3. Modyfikatory daty
- 12.4. Czas lokalny
- 12.5. Czas strefowy
- 12.6. Formatowanie i przetwarzanie
- 12.7. Współpraca z przestarzałym kodem
- Ćwiczenia
13. Internacjonalizacja
- 13.1. Lokalizacje
- 13.1.1. Określanie lokalizacji
- 13.1.2. Domyślna lokalizacja
- 13.1.3. Nazwy wyświetlane
- 13.2. Formaty liczb
- 13.3. Waluty
- 13.4. Formatowanie czasu i daty
- 13.5. Porównywanie i normalizacja
- 13.6. Formatowanie komunikatów
- 13.7. Pakiety z zasobami
- 13.7.1. Organizacja pakietów z zasobami
- 13.7.2. Klasy z pakietami
- 13.8. Kodowanie znaków
- 13.9. Preferencje
- Ćwiczenia
14. Kompilacja i skryptowanie
- 14.1. API kompilatora
- 14.1.1. Wywołanie kompilatora
- 14.1.2. Uruchamianie zadania kompilacji
- 14.1.3. Przechwytywanie komunikatów diagnostycznych
- 14.1.4. Wczytywanie plików źródłowych z pamięci
- 14.1.5. Zapisywanie skompilowanego kodu w pamięci
- 14.2. API skryptów
- 14.2.1. Tworzenie silnika skryptowego
- 14.2.2. Uruchamianie skryptów za pomocą metody eval
- 14.2.3. Powiązania
- 14.2.4. Przekierowanie wejścia i wyjścia
- 14.2.5. Wywoływanie funkcji i metod skryptowych
- 14.2.6. Kompilowanie skryptu
- Ćwiczenia
15. System modułów na platformie Java
- 15.1. Koncepcja modułu
- 15.2. Nazywanie modułów
- 15.3. Modularny program "Witaj, świecie!"
- 15.4. Dołączanie modułów
- 15.5. Eksportowanie pakietów
- 15.6. Moduły i dostęp przez refleksje
- 15.7. Modularne pliki JAR
- 15.8. Moduły automatyczne
- 15.9. Moduł nienazwany
- 15.10. Flagi wiersza poleceń dla migracji
- 15.11. Wymagania przechodnie i statyczne
- 15.12. Wybiórcze eksportowanie i otwieranie
- 15.13. Wczytywanie usługi
- 15.14. Narzędzia do pracy z modułami
- Ćwiczenia
- Tytuł: Java. Przewodnik doświadczonego programisty. Wydanie III
- Autor: Cay S. Horstmann
- Tytuł oryginału: Core Java for the Impatient, 3rd Edition
- Tłumaczenie: Krzysztof Bąbol, Andrzej Stefański
- ISBN: 978-83-289-0141-4, 9788328901414
- Data wydania: 2023-10-03
- Format: Ebook
- Identyfikator pozycji: jav8p3
- Wydawca: Helion