• Kategorie
  • Java . Techniki zaawansowane.

Autor(zy) Horstmann Cay S.
Miejsce wydania Gliwice
Rok 2020
Wydanie XI
Ilość stron 808
Format B5
Okładka twarda
Brak towaru
149.00 -13% 129.90
Wpisz swój e-mail
Wysyłka w ciągu 24 godziny
Cena przesyłki 10
Odbiór osobisty 0
PP Przesyłka biznesowa 10
Paczkomaty InPost 12
Dostępność 0 szt.
ISBN 978-83-283-6066-2.
EAN 9788328360662
Zostaw telefon

Java . Techniki zaawansowane.

Autor(zy): Horstmann Cay S.
ISBN: 978-83-283-6066-2.
Miejsce wydania: Gliwice
Rok wydania: 2020
Wydanie :XI
Ilość stron: 808
Format: B5
Okładka: twarda





Java jest dojrzałym językiem programowania, który pozwala na pisanie kodu dla wielu rodzajów komputerów służących do różnych celów i działających na różnych platformach. Jest świetnym wyborem dla programistów, którym zależy na tworzeniu bezpiecznych aplikacji o wyjątkowej jakości. Wokół Javy skupia się duża społeczność, dzięki której język ten wciąż się rozwija, unowocześnia i wzbogaca o nowe elementy. Osoby, które swoje zawodowe życie wiążą z pisaniem programów w Javie, muszą poznać zaawansowane zagadnienia i mniej oczywiste funkcjonalności Javy, również te niedawno zaimplementowane. To konieczność dla każdego profesjonalnego programisty Javy.

Oto kolejne, przejrzane, zaktualizowane i uzupełnione wydanie znakomitego podręcznika dla zawodowych programistów Javy. Znalazł się tu dokładny opis sposobów tworzenia interfejsu użytkownika, stosowania rozwiązań korporacyjnych, sieciowych i zabezpieczeń, a także nowości wprowadzonych w JDK 11. Przedstawiono techniki programowania baz danych oraz umiędzynarodowiania aplikacji Javy. Sporo uwagi poświęcono bibliotece Swing oraz jej wykorzystaniu do tworzenia realistycznej grafiki i efektów specjalnych. Ponadto w książce zostały pokazane nowe możliwości języka - zademonstrowano, jak dzięki nim uzyskać wyjątkową jakość aplikacji, a zamieszczone przykłady opracowano pod kątem zrozumiałości i wartości praktycznej.

W tej książce między innymi:

API wejścia-wyjścia Javy, serializacja i wyrażenia regularne

efektywne korzystanie z usług sieciowych

klienty, serwery i pobieranie danych z internetu

moduły platformy Javy

nowoczesne mechanizmy bezpieczeństwa w Javie

Java: nowoczesny styl, najlepsze praktyki, sprawdzone rozwiązania!















Wstęp 11

Podziękowania 15

Rozdział 1. Strumienie 17

1.1. Od iteracji do operacji na strumieniach 18

1.2. Tworzenie strumieni 20

1.3. Metody filter, map oraz flatMap 26

1.4. Pobieranie podstrumieni i łączenie strumieni 27

1.5. Inne przekształcenia strumieni 29

1.6. Proste operacje redukcji 30

1.7. Typ Optional 32

o1.7.1. Pobieranie wartości Optional 32

o1.7.2. Korzystanie z wartości Optional 33

o1.7.3. Potoki wartości opcjonalnych 33

o1.7.4. Jak nie należy używać wartości opcjonalnych 35

o1.7.5. Tworzenie obiektów typu Optional 36

o1.7.6. Łączenie funkcji zwracających wartości opcjonalne przy użyciu flatMap 36

o1.7.7. Przekształcanie wartości opcjonalnej w strumień 37

1.8. Gromadzenie wyników 40

1.9. Gromadzenie wyników w mapach 44

1.10. Grupowanie i podział 48

1.11. Kolektory przetwarzające 50

1.12. Operacje redukcji 54

1.13. Strumienie danych typów prostych 57

1.14. Strumienie równoległe 62

Rozdział 2. Wejście i wyjście 67

2.1. Strumienie wejścia-wyjścia 67

o2.1.1. Odczyt i zapis bajtów 68

o2.1.2. Zoo pełne strumieni 71

o2.1.3. Łączenie filtrów strumieni wejścia-wyjścia 74

o2.1.4. Strumienie tekstowe 78

o2.1.5. Zapisywanie tekstu 79

o2.1.6. Wczytywanie tekstu 81

o2.1.7. Zapis obiektów w formacie tekstowym 82

o2.1.8. Zbiory znaków 85

2.2. Odczyt i zapis danych binarnych 88

o2.2.1. Interfejsy DataInput i DataOutput 88

o2.2.2. Strumienie plików o swobodnym dostępie 90

o2.2.3. Archiwa ZIP 94

2.3. Strumienie obiektów i serializacja 97

o2.3.1. Zapisywanie i wczytywanie obiektów serializowalnych 97

o2.3.2. Format pliku serializacji obiektów 101

o2.3.3. Modyfikowanie domyślnego mechanizmu serializacji 107

o2.3.4. Serializacja singletonów i wyliczeń 109

o2.3.5. Wersje 110

o2.3.6. Serializacja w roli klonowania 113

2.4. Zarządzanie plikami 115

o2.4.1. Ścieżki dostępu 115

o2.4.2. Odczyt i zapis plików 118

o2.4.3. Tworzenie plików i katalogów 119

o2.4.4. Kopiowanie, przenoszenie i usuwanie plików 120

o2.4.5. Informacje o plikach 122

o2.4.6. Przeglądanie zawartości katalogu 124

o2.4.7. Stosowanie strumieni katalogów 125

o2.4.8. Systemy plików ZIP 129

2.5. Mapowanie plików w pamięci 130

o2.5.1. Wydajność plików mapowanych w pamięci 130

o2.5.2. Struktura bufora danych 136

2.6. Blokowanie plików 138

2.7. Wyrażenia regularne 140

o2.7.1. Składnia wyrażeń regularnych 141

o2.7.2. Dopasowywanie wyrażeń regularnych do łańcucha 145

o2.7.3. Znajdowanie wielu dopasowań 148

o2.7.4. Podział w miejscach wystąpienia separatora 150

o2.7.5. Zastępowanie dopasowań 150

Rozdział 3. Język XML 155

3.1. Wprowadzenie do języka XML 156

3.2. Struktura dokumentu XML 158

3.3. Parsowanie dokumentów XML 160

3.4. Kontrola poprawności dokumentów XML 169

o3.4.1. Definicje typów dokumentów 170

o3.4.2. XML Schema 178

o3.4.3. Praktyczny przykład 180

3.5. Wyszukiwanie informacji i XPath 186

3.6. Przestrzenie nazw 190

3.7. Parsery strumieniowe 193

o3.7.1. Wykorzystanie parsera SAX 193

o3.7.2. Wykorzystanie parsera StAX 198

3.8. Tworzenie dokumentów XML 202

o3.8.1. Dokumenty bez przestrzeni nazw 202

o3.8.2. Dokumenty z przestrzenią nazw 203

o3.8.3. Zapisywanie dokumentu 203

o3.8.4. Zapis dokumentu XML za pomocą parsera StAX 206

o3.8.5. Przykład: tworzenie pliku SVG 210

3.9. Przekształcenia XSL 212

Rozdział 4. Programowanie aplikacji sieciowych 221

4.1. Połączenia z serwerem 221

o4.1.1. Stosowanie programu telnet 221

o4.1.2. Nawiązywanie połączenia z serwerem z wykorzystaniem Javy 224

o4.1.3. Limity czasu gniazd 225

o4.1.4. Adresy internetowe 227

4.2. Implementacja serwerów 228

o4.2.1. Gniazda serwera 229

o4.2.2. Obsługa wielu klientów 231

o4.2.3. Połączenia częściowo zamknięte 235

o4.2.4. Przerywanie działania gniazd sieciowych 236

4.3. Połączenia wykorzystujące URL 242

o4.3.1. URL i URI 242

o4.3.2. Zastosowanie klasy URLConnection do pobierania informacji 244

o4.3.3. Wysyłanie danych do formularzy 251

4.4. Klient HTTP 259

4.5. Wysyłanie poczty elektronicznej 266

Rozdział 5. Programowanie baz danych: JDBC 271

5.1. Architektura JDBC 272

o5.1.1. Typy sterowników JDBC 272

o5.1.2. Typowe zastosowania JDBC 274

5.2. Język SQL 274

5.3. Instalacja JDBC 280

o5.3.1. Adresy URL baz danych 280

o5.3.2. Pliki JAR zawierające sterownik 281

o5.3.3. Uruchamianie baz danych 281

o5.3.4. Rejestracja klasy sterownika 282

o5.3.5. Nawiązywanie połączenia z bazą danych 283

5.4. Stosowanie poleceń SQL 285

o5.4.1. Wykonywanie poleceń SQL 285

o5.4.2. Zarządzanie połączeniami, poleceniami i zbiorami wyników 289

o5.4.3. Analiza wyjątków SQL 289

o5.4.4. Wypełnianie bazy danych 292

5.5. Wykonywanie zapytań 295

o5.5.1. Polecenia przygotowane 296

o5.5.2. Odczyt i zapis dużych obiektów 301

o5.5.3. Sekwencje sterujące 303

o5.5.4. Zapytania o wielu zbiorach wyników 305

o5.5.5. Pobieranie wartości kluczy wygenerowanych automatycznie 306

5.6. Przewijalne i aktualizowalne zbiory wyników zapytań 306

o5.6.1. Przewijalne zbiory wyników 307

o5.6.2. Aktualizowalne zbiory rekordów 309

5.7. Zbiory rekordów 313

o5.7.1. Tworzenie zbiorów rekordów 313

o5.7.2. Buforowane zbiory rekordów 314

5.8. Metadane 317

5.9. Transakcje 326

o5.9.1. Programowanie transakcji w JDBC 326

o5.9.2. Punkty kontrolne 327

o5.9.3. Aktualizacje wsadowe 327

o5.9.4. Zaawansowane typy języka SQL 330

5.10. Zaawansowane zarządzanie połączeniami 331

Rozdział 6. API dat i czasu 333

6.1. Oś czasu 334

6.2. Daty lokalne 338

6.3. Modyfikatory dat 343

6.4. Czas lokalny 344

6.5. Czas strefowy 346

6.6. Formatowanie i parsowanie 351

6.7. Współdziałanie ze starym kodem 355

Rozdział 7. Internacjonalizacja 357

7.1. Lokalizatory 358

o7.1.1. Dlaczego stosuje się lokalizatory? 358

o7.1.2. Określanie lokalizatorów 359

o7.1.3. Lokalizator domyślny 361

o7.1.4. Nazwa lokalizatora 362

7.2. Formaty liczb 364

o7.2.1. Formatowanie wartości liczbowych 364

o7.2.2. Waluty 369

7.3. Data i czas 371

7.4. Porządek alfabetyczny i normalizacja 377

7.5. Formatowanie komunikatów 384

o7.5.1. Formatowanie liczb i dat 384

o7.5.2. Formatowanie z wariantami 386

7.6. Wczytywanie i wyświetlanie tekstów 388

o7.6.1. Pliki tekstowe 388

o7.6.2. Znaki końca wiersza 388

o7.6.3. Konsola 389

o7.6.4. Pliki dzienników 390

o7.6.5. BOM - znacznik kolejności bajtów UTF-8 390

o7.6.6. Kodowanie plików źródłowych 391

7.7. Komplety zasobów 391

o7.7.1. Wyszukiwanie kompletów zasobów 392

o7.7.2. Pliki właściwości 393

o7.7.3. Klasy kompletów zasobów 393

7.8. Kompletny przykład 396

Rozdział 8. Skrypty, kompilacja i adnotacje 411

8.1. Skrypty na platformie Java 411

o8.1.1. Wybór silnika skryptów 412

o8.1.2. Wykonywanie skryptów i wiązania zmiennych 413

o8.1.3. Przekierowanie wejścia i wyjścia 415

o8.1.4. Wywoływanie funkcji i metod skryptów 416

o8.1.5. Kompilacja skryptu 418

o8.1.6. Przykład: skrypty i graficzny interfejs użytkownika 418

8.2. Interfejs kompilatora 423

o8.2.1. Wywoływanie kompilatora 423

o8.2.2. Uruchamianie zadania kompilacji 424

o8.2.3. Przechwytywanie informacji diagnostycznych 425

o8.2.4. Wczytywanie plików źródłowych z pamięci 425

o8.2.5. Zapis kodów bajtowych w pamięci 426

o8.2.6. Przykład: dynamiczne tworzenie kodu w języku Java 427

8.3. Stosowanie adnotacji 433

o8.3.1. Wprowadzenie do stosowania adnotacji 434

o8.3.2. Przykład: adnotacje obsługi zdarzeń 435

8.4. Składnia adnotacji 440

o8.4.1. Interfejsy adnotacji 440

o8.4.2. Adnotacje 441

o8.4.3. Adnotacje deklaracji 443

o8.4.4. Adnotacje zastosowań typów 444

o8.4.5. Adnotacje i this 445

8.5. Adnotacje standardowe 447

o8.5.1. Adnotacje kompilacji 448

o8.5.2. Adnotacje zarządzania zasobami 448

o8.5.3. Metaadnotacje 449

8.6. Przetwarzanie adnotacji w kodzie źródłowym 452

o8.6.1. Procesory adnotacji 452

o8.6.2. Interfejs programowy modelu języka 452

o8.6.3. Stosowanie adnotacji do generacji kodu źródłowego 453

8.7. Inżynieria kodu bajtowego 456

o8.7.1. Modyfikowanie plików klasowych 456

o8.7.2. Modyfikacja kodu bajtowego podczas ładowania 461

Rozdział 9. System modułów platformy Javy 465

9.1. Pojęcie modułu 466

9.2. Nadawanie nazw modułom 467

9.3. Modularny program "Witaj, świecie!" 468

9.4. Żądanie użycia modułów 470

9.5. Eksportowanie pakietów 471

9.6. Modularne pliki JAR 475

9.7. Moduły a technika refleksji 476

9.8. Moduły automatyczne 479

9.9. Moduł nienazwany 481

9.10. Flagi wiersza poleceń stosowane podczas migracji 482

9.11. Wymagania przechodnie i statyczne 484

9.12. Eksport kwalifikowany i otwieranie 485

9.13. Wczytywanie usług 486

9.14. Narzędzia do pracy z modułami 489

Rozdział 10. Bezpieczeństwo 493

10.1. Ładowanie klas 494

o10.1.1. Proces wczytywania plików klas 494

o10.1.2. Hierarchia klas ładowania 495

o10.1.3. Zastosowanie procedur ładujących w roli przestrzeni nazw 497

o10.1.4. Implementacja własnej procedury ładującej 498

o10.1.5. Weryfikacja kodu maszyny wirtualnej 504

10.2. Menedżery bezpieczeństwa i pozwolenia 508

o10.2.1. Sprawdzanie uprawnień 508

o10.2.2. Bezpieczeństwo na platformie Java 509

o10.2.3. Pliki polityki bezpieczeństwa 512

o10.2.4. Tworzenie własnych klas pozwoleń 519

o10.2.5. Implementacja klasy pozwoleń 520

10.3. Uwierzytelnianie użytkowników 526

o10.3.1. Framework JAAS 526

o10.3.2. Moduły JAAS 531

10.4. Podpis cyfrowy 540

o10.4.1. Skróty wiadomości 541

o10.4.2. Podpisywanie wiadomości 544

o10.4.3. Weryfikacja podpisu 546

o10.4.4. Problem uwierzytelniania 548

o10.4.5. Podpisywanie certyfikatów 550

o10.4.6. Żądania certyfikatu 551

o10.4.7. Podpisywanie kodu 552

10.5. Szyfrowanie 555

o10.5.1. Szyfrowanie symetryczne 555

o10.5.2. Generowanie klucza 557

o10.5.3. Strumienie szyfrujące 561

o10.5.4. Szyfrowanie kluczem publicznym 562

Rozdział 11. Zaawansowane możliwości pakietu Swing i grafiki 567

11.1. Tabele 567

o11.1.1. Najprostsze tabele 568

o11.1.2. Modele tabel 571

o11.1.3. Wiersze i kolumny 575

o11.1.4. Rysowanie i edycja komórek 590

11.2. Drzewa 601

o11.2.1. Proste drzewa 602

o11.2.2. Przeglądanie węzłów 616

o11.2.3. Rysowanie węzłów 618

o11.2.4. Nasłuchiwanie zdarzeń w drzewach 621

o11.2.5. Własne modele drzew 627

11.3. Zaawansowane możliwości biblioteki AWT 635

o11.3.1. Potokowe tworzenie grafiki 635

o11.3.2. Figury 638

o11.3.3. Pola 652

o11.3.4. Ślad pędzla 653

o11.3.5. Wypełnienia 661

o11.3.6. Przekształcenia układu współrzędnych 663

o11.3.7. Przycinanie 668

o11.3.8. Przezroczystość i składanie obrazów 670

11.4. Grafika rastrowa 678

o11.4.1. Odczyt i zapis plików graficznych 678

o11.4.2. Operacje na obrazach 688

11.5. Drukowanie 703

o11.5.1. Drukowanie grafiki 703

o11.5.2. Drukowanie wielu stron 711

o11.5.3. Usługi drukowania 720

o11.5.4. Usługi drukowania za pośrednictwem strumieni 722

o11.5.5. Atrybuty drukowania 725

Rozdział 12. Metody macierzyste 733

12.1. Wywołania funkcji języka C z programów w języku Java 734

12.2. Numeryczne parametry metod i wartości zwracane 740

12.3. Łańcuchy znaków jako parametry 742

12.4. Dostęp do składowych obiektu 747

o12.4.1. Dostęp do pól instancji 747

o12.4.2. Dostęp do pól statycznych 751

12.5. Sygnatury 752

12.6. Wywoływanie metod języka Java 754

o12.6.1. Wywoływanie metod obiektów 754

o12.6.2. Wywoływanie metod statycznych 757

o12.6.3. Konstruktory 758

o12.6.4. Alternatywne sposoby wywoływania metod 758

12.7. Dostęp do elementów tablic 760

12.8. Obsługa błędów 764

12.9. Interfejs programowy wywołań języka Java 768

12.10. Kompletny przykład: dostęp do rejestru systemu Windows 773

o12.10.1. Rejestr systemu Windows 773

o12.10.2. Interfejs dostępu do rejestru na platformie Java 775

o12.10.3. Implementacja dostępu do rejestru za pomocą metod macierzystych 776

Skorowidz 789



Nie ma jeszcze komentarzy ani ocen dla tego produktu.
  • Wydawcy