wprowadź własne kryteria wyszukiwania książek: (jak szukać?)
Twój koszyk:   0 zł   zamówienie wysyłkowe >>>
Strona główna > opis książki
English version
Książki:

polskie
podział tematyczny
 
anglojęzyczne
podział tematyczny
 
Newsletter:

Zamów informacje o nowościach z wybranego tematu
 
Informacje:

o księgarni

koszty wysyłki

kontakt

Cookies na stronie

 
Szukasz podpowiedzi?
Nie znasz tytułu?
Pomożemy Ci, napisz!


Podaj adres e-mail:


możesz też zadzwonić
+48 512 994 090

JAVA TECHNIKI ZAAWANSOWANE


HORSTMANN C.S.

wydawnictwo: HELION, 2020, wydanie XI

cena netto: 151.75 Twoja cena  144,16 zł + 5% vat - dodaj do koszyka

Java

Techniki zaawansowane

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

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
1.7.1. Pobieranie wartości Optional 32
1.7.2. Korzystanie z wartości Optional 33
1.7.3. Potoki wartości opcjonalnych 33
1.7.4. Jak nie należy używać wartości opcjonalnych 35
1.7.5. Tworzenie obiektów typu Optional 36
1.7.6. Łączenie funkcji zwracających wartości opcjonalne przy użyciu flatMap 36
1.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
2.1.1. Odczyt i zapis bajtów 68
2.1.2. Zoo pełne strumieni 71
2.1.3. Łączenie filtrów strumieni wejścia-wyjścia 74
2.1.4. Strumienie tekstowe 78
2.1.5. Zapisywanie tekstu 79
2.1.6. Wczytywanie tekstu 81
2.1.7. Zapis obiektów w formacie tekstowym 82
2.1.8. Zbiory znaków 85
2.2. Odczyt i zapis danych binarnych 88
2.2.1. Interfejsy DataInput i DataOutput 88
2.2.2. Strumienie plików o swobodnym dostępie 90
2.2.3. Archiwa ZIP 94
2.3. Strumienie obiektów i serializacja 97
2.3.1. Zapisywanie i wczytywanie obiektów serializowalnych 97
2.3.2. Format pliku serializacji obiektów 101
2.3.3. Modyfikowanie domyślnego mechanizmu serializacji 107
2.3.4. Serializacja singletonów i wyliczeń 109
2.3.5. Wersje 110
2.3.6. Serializacja w roli klonowania 113
2.4. Zarządzanie plikami 115
2.4.1. Ścieżki dostępu 115
2.4.2. Odczyt i zapis plików 118
2.4.3. Tworzenie plików i katalogów 119
2.4.4. Kopiowanie, przenoszenie i usuwanie plików 120
2.4.5. Informacje o plikach 122
2.4.6. Przeglądanie zawartości katalogu 124
2.4.7. Stosowanie strumieni katalogów 125
2.4.8. Systemy plików ZIP 129
2.5. Mapowanie plików w pamięci 130
2.5.1. Wydajność plików mapowanych w pamięci 130
2.5.2. Struktura bufora danych 136
2.6. Blokowanie plików 138
2.7. Wyrażenia regularne 140
2.7.1. Składnia wyrażeń regularnych 141
2.7.2. Dopasowywanie wyrażeń regularnych do łańcucha 145
2.7.3. Znajdowanie wielu dopasowań 148
2.7.4. Podział w miejscach wystąpienia separatora 150
2.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
3.4.1. Definicje typów dokumentów 170
3.4.2. XML Schema 178
3.4.3. Praktyczny przykład 180
3.5. Wyszukiwanie informacji i XPath 186
3.6. Przestrzenie nazw 190
3.7. Parsery strumieniowe 193
3.7.1. Wykorzystanie parsera SAX 193
3.7.2. Wykorzystanie parsera StAX 198
3.8. Tworzenie dokumentów XML 202
3.8.1. Dokumenty bez przestrzeni nazw 202
3.8.2. Dokumenty z przestrzenią nazw 203
3.8.3. Zapisywanie dokumentu 203
3.8.4. Zapis dokumentu XML za pomocą parsera StAX 206
3.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
4.1.1. Stosowanie programu telnet 221
4.1.2. Nawiązywanie połączenia z serwerem z wykorzystaniem Javy 224
4.1.3. Limity czasu gniazd 225
4.1.4. Adresy internetowe 227
4.2. Implementacja serwerów 228
4.2.1. Gniazda serwera 229
4.2.2. Obsługa wielu klientów 231
4.2.3. Połączenia częściowo zamknięte 235
4.2.4. Przerywanie działania gniazd sieciowych 236
4.3. Połączenia wykorzystujące URL 242
4.3.1. URL i URI 242
4.3.2. Zastosowanie klasy URLConnection do pobierania informacji 244
4.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
5.1.1. Typy sterowników JDBC 272
5.1.2. Typowe zastosowania JDBC 274
5.2. Język SQL 274
5.3. Instalacja JDBC 280
5.3.1. Adresy URL baz danych 280
5.3.2. Pliki JAR zawierające sterownik 281
5.3.3. Uruchamianie baz danych 281
5.3.4. Rejestracja klasy sterownika 282
5.3.5. Nawiązywanie połączenia z bazą danych 283
5.4. Stosowanie poleceń SQL 285
5.4.1. Wykonywanie poleceń SQL 285
5.4.2. Zarządzanie połączeniami, poleceniami i zbiorami wyników 289
5.4.3. Analiza wyjątków SQL 289
5.4.4. Wypełnianie bazy danych 292
5.5. Wykonywanie zapytań 295
5.5.1. Polecenia przygotowane 296
5.5.2. Odczyt i zapis dużych obiektów 301
5.5.3. Sekwencje sterujące 303
5.5.4. Zapytania o wielu zbiorach wyników 305
5.5.5. Pobieranie wartości kluczy wygenerowanych automatycznie 306
5.6. Przewijalne i aktualizowalne zbiory wyników zapytań 306
5.6.1. Przewijalne zbiory wyników 307
5.6.2. Aktualizowalne zbiory rekordów 309
5.7. Zbiory rekordów 313
5.7.1. Tworzenie zbiorów rekordów 313
5.7.2. Buforowane zbiory rekordów 314
5.8. Metadane 317
5.9. Transakcje 326
5.9.1. Programowanie transakcji w JDBC 326
5.9.2. Punkty kontrolne 327
5.9.3. Aktualizacje wsadowe 327
5.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
7.1.1. Dlaczego stosuje się lokalizatory? 358
7.1.2. Określanie lokalizatorów 359
7.1.3. Lokalizator domyślny 361
7.1.4. Nazwa lokalizatora 362
7.2. Formaty liczb 364
7.2.1. Formatowanie wartości liczbowych 364
7.2.2. Waluty 369
7.3. Data i czas 371
7.4. Porządek alfabetyczny i normalizacja 377
7.5. Formatowanie komunikatów 384
7.5.1. Formatowanie liczb i dat 384
7.5.2. Formatowanie z wariantami 386
7.6. Wczytywanie i wyświetlanie tekstów 388
7.6.1. Pliki tekstowe 388
7.6.2. Znaki końca wiersza 388
7.6.3. Konsola 389
7.6.4. Pliki dzienników 390
7.6.5. BOM - znacznik kolejności bajtów UTF-8 390
7.6.6. Kodowanie plików źródłowych 391
7.7. Komplety zasobów 391
7.7.1. Wyszukiwanie kompletów zasobów 392
7.7.2. Pliki właściwości 393
7.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
8.1.1. Wybór silnika skryptów 412
8.1.2. Wykonywanie skryptów i wiązania zmiennych 413
8.1.3. Przekierowanie wejścia i wyjścia 415
8.1.4. Wywoływanie funkcji i metod skryptów 416
8.1.5. Kompilacja skryptu 418
8.1.6. Przykład: skrypty i graficzny interfejs użytkownika 418
8.2. Interfejs kompilatora 423
8.2.1. Wywoływanie kompilatora 423
8.2.2. Uruchamianie zadania kompilacji 424
8.2.3. Przechwytywanie informacji diagnostycznych 425
8.2.4. Wczytywanie plików źródłowych z pamięci 425
8.2.5. Zapis kodów bajtowych w pamięci 426
8.2.6. Przykład: dynamiczne tworzenie kodu w języku Java 427
8.3. Stosowanie adnotacji 433
8.3.1. Wprowadzenie do stosowania adnotacji 434
8.3.2. Przykład: adnotacje obsługi zdarzeń 435
8.4. Składnia adnotacji 440
8.4.1. Interfejsy adnotacji 440
8.4.2. Adnotacje 441
8.4.3. Adnotacje deklaracji 443
8.4.4. Adnotacje zastosowań typów 444
8.4.5. Adnotacje i this 445
8.5. Adnotacje standardowe 447
8.5.1. Adnotacje kompilacji 448
8.5.2. Adnotacje zarządzania zasobami 448
8.5.3. Metaadnotacje 449
8.6. Przetwarzanie adnotacji w kodzie źródłowym 452
8.6.1. Procesory adnotacji 452
8.6.2. Interfejs programowy modelu języka 452
8.6.3. Stosowanie adnotacji do generacji kodu źródłowego 453
8.7. Inżynieria kodu bajtowego 456
8.7.1. Modyfikowanie plików klasowych 456
8.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
10.1.1. Proces wczytywania plików klas 494
10.1.2. Hierarchia klas ładowania 495
10.1.3. Zastosowanie procedur ładujących w roli przestrzeni nazw 497
10.1.4. Implementacja własnej procedury ładującej 498
10.1.5. Weryfikacja kodu maszyny wirtualnej 504
10.2. Menedżery bezpieczeństwa i pozwolenia 508
10.2.1. Sprawdzanie uprawnień 508
10.2.2. Bezpieczeństwo na platformie Java 509
10.2.3. Pliki polityki bezpieczeństwa 512
10.2.4. Tworzenie własnych klas pozwoleń 519
10.2.5. Implementacja klasy pozwoleń 520
10.3. Uwierzytelnianie użytkowników 526
10.3.1. Framework JAAS 526
10.3.2. Moduły JAAS 531
10.4. Podpis cyfrowy 540
10.4.1. Skróty wiadomości 541
10.4.2. Podpisywanie wiadomości 544
10.4.3. Weryfikacja podpisu 546
10.4.4. Problem uwierzytelniania 548
10.4.5. Podpisywanie certyfikatów 550
10.4.6. Żądania certyfikatu 551
10.4.7. Podpisywanie kodu 552
10.5. Szyfrowanie 555
10.5.1. Szyfrowanie symetryczne 555
10.5.2. Generowanie klucza 557
10.5.3. Strumienie szyfrujące 561
10.5.4. Szyfrowanie kluczem publicznym 562

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

11.1. Tabele 567
11.1.1. Najprostsze tabele 568
11.1.2. Modele tabel 571
11.1.3. Wiersze i kolumny 575
11.1.4. Rysowanie i edycja komórek 590
11.2. Drzewa 601
11.2.1. Proste drzewa 602
11.2.2. Przeglądanie węzłów 616
11.2.3. Rysowanie węzłów 618
11.2.4. Nasłuchiwanie zdarzeń w drzewach 621
11.2.5. Własne modele drzew 627
11.3. Zaawansowane możliwości biblioteki AWT 635
11.3.1. Potokowe tworzenie grafiki 635
11.3.2. Figury 638
11.3.3. Pola 652
11.3.4. Ślad pędzla 653
11.3.5. Wypełnienia 661
11.3.6. Przekształcenia układu współrzędnych 663
11.3.7. Przycinanie 668
11.3.8. Przezroczystość i składanie obrazów 670
11.4. Grafika rastrowa 678
11.4.1. Odczyt i zapis plików graficznych 678
11.4.2. Operacje na obrazach 688
11.5. Drukowanie 703
11.5.1. Drukowanie grafiki 703
11.5.2. Drukowanie wielu stron 711
11.5.3. Usługi drukowania 720
11.5.4. Usługi drukowania za pośrednictwem strumieni 722
11.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
12.4.1. Dostęp do pól instancji 747
12.4.2. Dostęp do pól statycznych 751
12.5. Sygnatury 752
12.6. Wywoływanie metod języka Java 754
12.6.1. Wywoływanie metod obiektów 754
12.6.2. Wywoływanie metod statycznych 757
12.6.3. Konstruktory 758
12.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
12.10.1. Rejestr systemu Windows 773
12.10.2. Interfejs dostępu do rejestru na platformie Java 775
12.10.3. Implementacja dostępu do rejestru za pomocą metod macierzystych 776

Skorowidz 789

808 stron, Format: 16.0x25.0cm, oprawa twarda


Po otrzymaniu zamówienia poinformujemy pocztą e-mail lub telefonicznie,
czy wybrany tytuł polskojęzyczny lub anglojęzyczny jest aktualnie na półce księgarni.

 
Wszelkie prawa zastrzeżone PROPRESS sp. z o.o. www.bankowa.pl 2000-2020