reklama - zainteresowany?

Java. Techniki zaawansowane. Wydanie XIII - Helion

Java. Techniki zaawansowane. Wydanie XIII
Autor: Cay S. Horstmann
Tytuł oryginału: Core Java, Volume II: Advanced Features, 13th Edition
Tłumaczenie: Piotr Rajca
ISBN: 978-83-289-3004-9
stron: 919, Format: 164x239, okładka: twarda
Data wydania: 2025-08-01
Księgarnia: Helion

Cena książki: 135,20 zł (poprzednio: 169,00 zł)
Oszczędzasz: 20% (-33,80 zł)

Nakład wyczerpany

Tagi: Java - Programowanie

Od ponad trzydziestu lat Java jest wybierana przez programistów, którym zale

Spis treści

Java. Techniki zaawansowane. Wydanie XIII -- spis treści

Wstęp

Podziękowania

1. Strumienie

  • 1.1. Od iteracji do operacji na strumieniach
  • 1.2. Tworzenie strumieni
  • 1.3. Metody filter, map oraz flatMap
  • 1.4. Pobieranie podstrumieni i łączenie strumieni
  • 1.5. Inne przekształcenia strumieni
  • 1.6. Proste operacje redukcji
  • 1.7. Typ Optional
    • 1.7.1. Pobieranie wartości Optional
    • 1.7.2. Korzystanie z wartości Optional
    • 1.7.3. Potoki wartości opcjonalnych
    • 1.7.4. Jak nie należy używać wartości opcjonalnych
    • 1.7.5. Tworzenie obiektów typu Optional
    • 1.7.6. Łączenie funkcji zwracających wartości opcjonalne przy użyciu flatMap
    • 1.7.7. Przekształcanie wartości opcjonalnej w strumień
  • 1.8. Gromadzenie wyników
  • 1.9. Gromadzenie wyników w mapach
  • 1.10. Grupowanie i podział
  • 1.11. Kolektory przetwarzające
  • 1.12. Operacje redukcji
  • 1.13. Strumienie danych typów prostych
  • 1.14. Strumienie równoległe

2. Wejście i wyjście

  • 2.1. Strumienie wejścia-wyjścia
    • 2.1.1. Odczyt i zapis bajtów
    • 2.1.2. Zoo pełne strumieni
    • 2.1.3. Łączenie filtrów strumieni wejścia-wyjścia
    • 2.1.4. Tekstowe operacje wejścia-wyjścia
    • 2.1.5. Wczytywanie tekstu
    • 2.1.6. Zapisywanie tekstu
    • 2.1.7. Zapis obiektów w formacie tekstowym
    • 2.1.8. Zbiory znaków
    • 2.1.9. Wczytywanie znaków
  • 2.2. Odczyt i zapis danych binarnych
    • 2.2.1. Interfejsy DataInput i DataOutput
    • 2.2.2. Strumienie plików o swobodnym dostępie
    • 2.2.3. Archiwa ZIP
  • 2.3. Strumienie obiektów i serializacja
    • 2.3.1. Zapisywanie i wczytywanie obiektów serializowalnych
    • 2.3.2. Format pliku serializacji obiektów
    • 2.3.3. Pola pomijane podczas serializacji
    • 2.3.4. Metody readObject i writeObject
    • 2.3.5. Metody readExternal i writeExternal
    • 2.3.6. Metody readResolve i writeReplace
    • 2.3.7. Wersje
    • 2.3.8. Serializacja w roli klonowania
    • 2.3.9. Deserializacja a bezpieczeństwo
  • 2.4. Praca z plikami
    • 2.4.1. Ścieżki dostępu
    • 2.4.2. Odczyt i zapis plików
    • 2.4.3. Tworzenie plików i katalogów
    • 2.4.4. Kopiowanie, przenoszenie i usuwanie plików
    • 2.4.5. Informacje o plikach
    • 2.4.6. Przeglądanie zawartości katalogu
    • 2.4.7. Stosowanie strumieni katalogów
    • 2.4.8. Systemy plików ZIP
  • 2.5. Mapowanie plików w pamięci
    • 2.5.1. Wydajność plików mapowanych w pamięci
    • 2.5.2. Struktura bufora danych
  • 2.6. Blokowanie plików
  • 2.7. Wyrażenia regularne
    • 2.7.1. Składnia wyrażeń regularnych
    • 2.7.2. Testowanie dopasowania
    • 2.7.3. Znajdowanie wszystkich dopasowań w łańcuchu
    • 2.7.4. Grupy
    • 2.7.5. Podział w miejscach wystąpienia separatora
    • 2.7.6. Zastępowanie dopasowań
    • 2.7.7. Flagi

3. Język XML

  • 3.1. Wprowadzenie do języka XML
  • 3.2. Struktura dokumentu XML
  • 3.3. Parsowanie dokumentów XML
  • 3.4. Kontrola poprawności dokumentów XML
    • 3.4.1. Definicje typów dokumentów
    • 3.4.2. XML Schema
    • 3.4.3. Praktyczny przykład
  • 3.5. Wyszukiwanie informacji za pomocą XPath
  • 3.6. Przestrzenie nazw
  • 3.7. Parsery strumieniowe
    • 3.7.1. Wykorzystanie parsera SAX
    • 3.7.2. Wykorzystanie parsera StAX
  • 3.8. Tworzenie dokumentów XML
    • 3.8.1. Dokumenty bez przestrzeni nazw
    • 3.8.2. Dokumenty z przestrzenią nazw
    • 3.8.3. Zapisywanie dokumentu
    • 3.8.4. Zapis dokumentu XML za pomocą parsera StAX
  • 3.9. Przekształcenia XSL

4. Programowanie aplikacji sieciowych

  • 4.1. Połączenia z serwerem
    • 4.1.1. Stosowanie programu telnet
    • 4.1.2. Nawiązywanie połączenia z serwerem z wykorzystaniem Javy
    • 4.1.3. Limity czasu gniazd
    • 4.1.4. Adresy internetowe
  • 4.2. Implementacja serwerów
    • 4.2.1. Gniazda serwera
    • 4.2.2. Obsługa wielu klientów
    • 4.2.3. Połączenia częściowo zamknięte
    • 4.2.4. Przerywanie działania gniazd sieciowych
    • 4.2.5. Stosowanie bezpiecznych gniazd
  • 4.3. Połączenia wykorzystujące URL
    • 4.3.1. URL i URI
    • 4.3.2. Zastosowanie klasy URLConnection do pobierania informacji
    • 4.3.3. Wysyłanie danych do formularzy
  • 4.4. Klient HTTP
    • 4.4.1. Klasa HttpClient
    • 4.4.2. Klasa HttpRequest i publikowanie zawartości
    • 4.4.3. Interfejs HttpResponse i obsługa zawartości
    • 4.4.4. Przetwarzanie asynchroniczne
  • 4.5. Prosty serwer HTTP
    • 4.5.1. Narzędzie uruchamiane z wiersza poleceń
    • 4.5.2. API serwera HTTP
    • 4.5.3. Obiekty obsługi
    • 4.5.4. Filtry
  • 4.6. Wysyłanie poczty elektronicznej

5. Programowanie baz danych: JDBC

  • 5.1. Architektura JDBC
    • 5.1.1. Typy sterowników JDBC
    • 5.1.2. Typowe zastosowania JDBC
  • 5.2. Język SQL
  • 5.3. Instalacja JDBC
    • 5.3.1. Adresy URL baz danych
    • 5.3.2. Pliki JAR zawierające sterownik
    • 5.3.3. Uruchamianie baz danych
    • 5.3.4. Nawiązywanie połączenia z bazą danych
  • 5.4. Stosowanie poleceń SQL
    • 5.4.1. Wykonywanie poleceń SQL
    • 5.4.2. Zarządzanie połączeniami, poleceniami i zbiorami wyników
    • 5.4.3. Analiza wyjątków SQL
    • 5.4.4. Wypełnianie bazy danych
  • 5.5. Wykonywanie zapytań
    • 5.5.1. Polecenia przygotowane
    • 5.5.2. Odczyt i zapis dużych obiektów
    • 5.5.3. Sekwencje sterujące
    • 5.5.4. Zapytania o wielu zbiorach wyników
    • 5.5.5. Pobieranie wartości kluczy wygenerowanych automatycznie
  • 5.6. Przewijalne i aktualizowalne zbiory wyników zapytań
    • 5.6.1. Przewijalne zbiory wyników
    • 5.6.2. Aktualizowalne zbiory rekordów
  • 5.7. Zbiory rekordów
    • 5.7.1. Tworzenie zbiorów rekordów
    • 5.7.2. Buforowane zbiory rekordów
  • 5.8. Metadane
  • 5.9. Transakcje
    • 5.9.1. Programowanie transakcji w JDBC
    • 5.9.2. Punkty kontrolne
    • 5.9.3. Aktualizacje wsadowe
    • 5.9.4. Zaawansowane typy języka SQL
  • 5.10. Zaawansowane zarządzanie połączeniami

6. API dat i czasu

  • 6.1. Oś czasu
  • 6.2. Daty lokalne
  • 6.3. Modyfikatory dat
  • 6.4. Czas lokalny
  • 6.5. Czas strefowy
  • 6.6. Formatowanie i parsowanie
  • 6.7. Współdziałanie ze starym kodem

7. Internacjonalizacja

  • 7.1. Lokalizatory
    • 7.1.1. Dlaczego stosuje się lokalizatory?
    • 7.1.2. Określanie lokalizatorów
    • 7.1.3. Lokalizator domyślny
    • 7.1.4. Nazwa lokalizatora
  • 7.2. Formaty liczb
    • 7.2.1. Formatowanie wartości liczbowych
    • 7.2.2. Klasa DecimalFormat
    • 7.2.3. Waluty
  • 7.3. Data i czas
  • 7.4. Porządek alfabetyczny i normalizacja
  • 7.5. Formatowanie komunikatów
    • 7.5.1. Formatowanie liczb i dat
    • 7.5.2. Formatowanie z wariantami
  • 7.6. Granice tekstu
  • 7.7. Wczytywanie i wyświetlanie tekstów
    • 7.7.1. Pliki tekstowe
    • 7.7.2. Znaki końca wiersza
    • 7.7.3. Konsola
    • 7.7.4. BOM - znacznik kolejności bajtów UTF-8
    • 7.7.5. Kodowanie plików źródłowych
  • 7.8. Komplety zasobów
    • 7.8.1. Wyszukiwanie kompletów zasobów
    • 7.8.2. Pliki właściwości
    • 7.8.3. Klasy kompletów zasobów
  • 7.9. Kompletny przykład

8. Skrypty, kompilacja i adnotacje

  • 8.1. Interfejs kompilatora
    • 8.1.1. Wywoływanie kompilatora
    • 8.1.2. Uruchamianie zadania kompilacji
    • 8.1.3. Przechwytywanie informacji diagnostycznych
    • 8.1.4. Wczytywanie plików źródłowych z pamięci
    • 8.1.5. Zapis kodów bajtowych w pamięci
    • 8.1.6. Przykład: dynamiczne tworzenie kodu w języku Java
  • 8.2. Skrypty na platformie Java
    • 8.2.1. Wybór silnika skryptowego
    • 8.2.2. Wykonywanie skryptów i wiązania zmiennych
    • 8.2.3. Przekierowanie wejścia i wyjścia
    • 8.2.4. Wywoływanie funkcji i metod skryptów
    • 8.2.5. Kompilacja skryptu
    • 8.2.6. Przykład: arkusze skryptowe

9. Bezpieczeństwo

  • 9.1. Ładowanie klas
    • 9.1.1. Proces wczytywania plików klas
    • 9.1.2. Hierarchia klas ładowania
    • 9.1.3. Zastosowanie procedur ładujących w roli przestrzeni nazw
    • 9.1.4. Implementacja własnej procedury ładującej
    • 9.1.5. Weryfikacja kodu maszyny wirtualnej
  • 9.2. Uwierzytelnianie użytkowników
    • 9.2.1. Framework JAAS
    • 9.2.2. Moduły JAAS
  • 9.3. Podpis cyfrowy
    • 9.3.1. Skróty wiadomości
    • 9.3.2. Podpisywanie wiadomości
    • 9.3.3. Weryfikacja podpisu
    • 9.3.4. Problem uwierzytelniania
    • 9.3.5. Podpisywanie certyfikatów
    • 9.3.6. Żądania certyfikatu
    • 9.3.7. Podpisywanie kodu
    • 9.3.8. Skróty haseł
  • 9.4. Szyfrowanie
    • 9.4.1. Szyfrowanie symetryczne
    • 9.4.2. Generowanie klucza
    • 9.4.3. Strumienie szyfrujące
    • 9.4.4. Szyfrowanie kluczem publicznym

10. Graficzne interfejsy użytkownika

  • 10.1. Historia zestawów narzędzi do tworzenia interfejsów użytkownika
  • 10.2. Wyświetlanie ramki
    • 10.2.1. Tworzenie ramki
    • 10.2.2. Właściwości ramki
  • 10.3. Wyświetlanie informacji w komponencie
    • 10.3.1. Figury 2D
    • 10.3.2. Kolory
    • 10.3.3. Czcionki
    • 10.3.4. Wyświetlanie obrazów
  • 10.4. Obsługa zdarzeń
    • 10.4.1. Podstawowe koncepcje obsługi zdarzeń
    • 10.4.2. Przykład
    • obsługa kliknięcia przycisku
    • 10.4.3. Zwięzłe definiowanie procedur nasłuchowych
    • 10.4.4. Klasy adaptacyjne
    • 10.4.5. Akcje
    • 10.4.6. Zdarzenia generowane przez mysz
    • 10.4.7. Hierarchia zdarzeń w bibliotece AWT
  • 10.5. API Preferences

11. Komponenty Swing interfejsu użytkownika

  • 11.1. Swing i wzorzec model-widok-kontroler
  • 11.2. Wprowadzenie do zarządzania rozkładem
    • 11.2.1. Zarządcy układu
    • 11.2.2. Rozkład brzegowy
    • 11.2.3. Rozkład siatkowy
  • 11.3. Wprowadzanie tekstu
    • 11.3.1. Pola tekstowe
    • 11.3.2. Etykiety komponentów
    • 11.3.3. Pola haseł
    • 11.3.4. Obszary tekstowe
    • 11.3.5. Panele przewijane
  • 11.4. Komponenty umożliwiające wybór opcji
    • 11.4.1. Pola wyboru
    • 11.4.2. Przełączniki
    • 11.4.3. Obramowanie
    • 11.4.4. Listy rozwijane
    • 11.4.5. Suwaki
  • 11.5. Menu
    • 11.5.1. Tworzenie menu
    • 11.5.2. Ikony w elementach menu
    • 11.5.3. Pola wyboru i przełączniki jako elementy menu
    • 11.5.4. Menu podręczne
    • 11.5.5. Mnemoniki i akceleratory
    • 11.5.6. Aktywowanie i dezaktywowanie elementów menu
    • 11.5.7. Paski narzędzi
    • 11.5.8. Dymki
  • 11.6. Rozkład siatkowy
    • 11.6.1. Rozkład GridBagLayout
    • 11.6.2. Parametry gridx, gridy, gridwidth i gridheight
    • 11.6.3. Pola weight
    • 11.6.4. Parametry fill i anchor
    • 11.6.5. Dopełnienie
    • 11.6.6. Inny sposób ustawiania wartości parametrów gridx, gridy, gridwidth i gridheight
    • 11.6.7. Układ GridBagLayout - receptura
    • 11.6.8. Klasa pomocnicza ułatwiająca pracę z ograniczeniami GridBagLayout
  • 11.7. Niestandardowi zarządcy rozkładu
  • 11.8. Okna dialogowe
    • 11.8.1. Okna dialogowe opcji
    • 11.8.2. Tworzenie okien dialogowych
    • 11.8.3. Wymiana danych
    • 11.8.4. Okna dialogowe wyboru plików

12. Zaawansowane możliwości pakietu Swing i grafiki

  • 12.1. Tabele
    • 12.1.1. Najprostsze tabele
    • 12.1.2. Modele tabel
  • 12.2. Wiersze i kolumny
    • 12.2.1. Klasy kolumn
    • 12.2.2. Dostęp do kolumn tabeli
    • 12.2.3. Zmiana rozmiaru kolumn
    • 12.2.4. Zmiana rozmiaru wierszy
    • 12.2.5. Wybór wierszy, kolumn i komórek
    • 12.2.6. Sortowanie wierszy
    • 12.2.7. Filtrowanie wierszy
    • 12.2.8. Ukrywanie i wyświetlanie kolumn
  • 12.3. Rysowanie i edytowanie komórek
    • 12.3.1. Rysowanie komórek
    • 12.3.2. Wyświetlanie nagłówka
    • 12.3.3. Edytowanie komórek
    • 12.3.4. Tworzenie własnych edytorów
  • 12.4. Drzewa
    • 12.4.1. Proste drzewa
    • 12.4.2. Modyfikowanie drzew i ścieżek drzew
    • 12.4.3. Przeglądanie węzłów
    • 12.4.4. Rysowanie węzłów
    • 12.4.5. Nasłuchiwanie zdarzeń w drzewach
    • 12.4.6. Własne modele drzew
  • 12.5. Zaawansowane możliwości biblioteki AWT
    • 12.5.1. Potokowe tworzenie grafiki
    • 12.5.2. Figury
    • 12.5.3. Tworzenie kształtów
    • 12.5.4. Pola
    • 12.5.5. Ślad pędzla
    • 12.5.6. Wypełnienia
    • 12.5.7. Przekształcenia układu współrzędnych
    • 12.5.8. Przycinanie
    • 12.5.9. Przezroczystość i składanie obrazów
  • 12.6. Grafika rastrowa
    • 12.6.1. Odczyt i zapis plików graficznych
    • 12.6.2. Wykorzystanie obiektów zapisu i odczytu plików graficznych
    • 12.6.3. Odczyt i zapis plików zawierających sekwencje obrazów
    • 12.6.4. Operacje na obrazach
    • 12.6.5. Filtrowanie obrazów
  • 12.7. Drukowanie
    • 12.7.1. Drukowanie grafiki
    • 12.7.2. Drukowanie wielu stron
    • 12.7.3. Usługi drukowania
    • 12.7.4. Usługi drukowania za pośrednictwem strumieni
    • 12.7.5. Atrybuty drukowania

13. Metody macierzyste

  • 13.1. Wywołania funkcji języka C z programów w języku Java
  • 13.2. Numeryczne parametry metod i wartości zwracane
  • 13.3. Łańcuchy znaków jako parametry
  • 13.4. Dostęp do składowych obiektu
    • 13.4.1. Dostęp do pól instancji
    • 13.4.2. Dostęp do pól statycznych
  • 13.5. Sygnatury
  • 13.6. Wywoływanie metod języka Java
    • 13.6.1. Wywoływanie metod obiektów
    • 13.6.2. Wywoływanie metod statycznych
    • 13.6.3. Konstruktory
    • 13.6.4. Alternatywne sposoby wywoływania metod
  • 13.7. Dostęp do elementów tablic
  • 13.8. Obsługa błędów
  • 13.9. Interfejs programowy wywołań języka Java
  • 13.10. Kompletny przykład: dostęp do rejestru systemu Windows
    • 13.10.1. Rejestr systemu Windows
    • 13.10.2. Interfejs dostępu do rejestru na platformie Java
    • 13.10.3. Implementacja dostępu do rejestru za pomocą metod macierzystych
  • 13.11. Funkcje obce: spojrzenie w przyszłość

Skorowidz

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2025 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.