Java_2_Techniki_zaawansowane_Wydanie_II_jv2te2.pdf
(
446 KB
)
Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
Java 2. Techniki
zaawansowane.
Wydanie II
Autorzy: Cay Horstmann, Gary Cornell
T³umaczenie: Jaromir Senczyk
ISBN: 83-7361-842-2
Tytu³ orygina³u:
Core Java(TM) 2, Volume II
— Advanced Features (7th Edition)
Format: B5, stron: 1144
Przyk³ady na ftp: 1644 kB
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Kompletne i niezast¹pione ród³o wiedzy dla do wiadczonych programistów
• Kolejne wydanie doskona³ego przewodnika po zaawansowanych mo¿liwo ciach Javy
• Wszystkie kody ród³owe w ksi¹¿ce zaktualizowane do J2SE 5.0
• Szczegó³owe omówienie wielow¹tkowo ci, kolekcji, programowania aplikacji
sieciowych i bazodanowych, bezpieczeñstwa i internacjonalizacji aplikacji,
obiektów rozproszonych i jêzyka XML
Kolejne ju¿ wydanie przewodnika opisuj¹cego zaawansowane i nieznane w³a ciwo ci
jêzyka Java, tym razem w wersji 5.0, to kompendium wiedzy dla wszystkich programistów
zamierzaj¹cych tworzyæ rozbudowane aplikacje. Nowa wersja jêzyka Java to nie tylko nowy
numer -- to przede wszystkim ogromna ilo æ nowych funkcji i mo¿liwo ci, klas i obiektów.
W JDK 5.0 wprowadzono nowe mechanizmy obs³ugi w¹tków i kolekcji, rozszerzono
mo¿liwo ci biblioteki Swing i klas wykorzystywanych do tworzenia aplikacji bazodanowych
i sieciowych. „Java 2. Techniki zaawansowane. Wydanie II” przedstawia i opisuje wszystkie
te nowo ci.
Wszystkie przyk³adowe programy zosta³y zaktualizowane do najnowszej wersji Javy
i przedstawiaj¹ praktyczne rozwi¹zania rzeczywistych problemów, z jakimi mo¿e spotkaæ siê
twórca aplikacji w jêzyku Java. Ksi¹¿ka zawiera wiele nowych podrozdzia³ów po wiêconych
nowo ciom wprowadzonym w J2SE 5.0. Dok³adnie i na przyk³adach opisuje zagadnienia
zwi¹zane z wielow¹tkowo ci¹, kolekcjami, metadanymi, stosowaniem jêzyka XML,
komunikacj¹ z bazami danych i wieloma innymi elementami zaawansowanego
programowania w Javie.
• Aplikacje wielow¹tkowe
• Kolekcje i operacje na nich
• Po³¹czenia sieciowe
• Interfejs JDBC i LDAP
• Aplikacje rozproszone
• Technologia CORBA
• Zaawansowane mo¿liwo ci bibliotek Swing i AWT
• Technologia JavaBeans
• Bezpieczeñstwo aplikacji
• Internacjonalizacja
• Korzystanie z jêzyka XML
Je li zamierzasz wykorzystaæ Javê w z³o¿onym projekcie informatycznym, ta ksi¹¿ka bêdzie
dla Ciebie niezast¹piona.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Podziękowania........................................................................................................................................... 11
Przedmowa............................................................................................................................................... 13
Do Czytelnika.............................................................................................................. 13
O książce ................................................................................................................... 13
Rozdział 1. Wielowątkowość .................................................................................................................... 17
Czym są wątki? ........................................................................................................... 18
Zastosowanie wątków............................................................................................. 23
Przerywanie wątków..................................................................................................... 29
Stany wątków ............................................................................................................. 32
Nowe wątki ........................................................................................................... 32
Wątki wykonywalne................................................................................................. 33
Wątki zablokowane................................................................................................. 33
Wątki martwe ........................................................................................................ 35
Właściwości wątków .................................................................................................... 36
Priorytety wątków ................................................................................................... 36
Wątki-demony ........................................................................................................ 37
Grupy wątków ........................................................................................................ 37
Procedury obsługi wyjątków ..................................................................................... 39
Synchronizacja............................................................................................................ 40
Przykład wyścigu .................................................................................................... 41
Wytłumaczenie wyścigu........................................................................................... 45
Blokady................................................................................................................. 46
Warunki ................................................................................................................ 49
Słowo kluczowe synchronized .................................................................................. 54
Bloki synchronizowane............................................................................................ 60
Pola volatile .......................................................................................................... 61
Zakleszczenia ........................................................................................................ 63
Równorzędne traktowanie wątków............................................................................ 65
Testowanie blokad i limity czasu.............................................................................. 65
Blokady odczytu i zapisu ......................................................................................... 67
Dlaczego metody stop i suspend nie są zalecane? .................................................... 68
Kolejki blokujące ......................................................................................................... 70
Kolekcje..................................................................................................................... 76
Efektywne implementacje kolejki i tablicy mieszającej ................................................ 76
Kolekcje CopyOnWriteArrayList i CopyOnWriteArraySet................................................ 78
Starsze kolekcje i wielowątkowość ........................................................................... 78
4
Java 2. Techniki zaawansowane
Interfejsy Callable i Future............................................................................................ 78
Egzekutory.................................................................................................................. 83
Pule wątków .......................................................................................................... 83
Wykonywanie zadań według planu ............................................................................ 87
Sterowanie grupami wątków .................................................................................... 88
Synchronizatory........................................................................................................... 89
Bariery .................................................................................................................. 90
Rejestry odliczające................................................................................................ 91
Przekaźniki ............................................................................................................ 91
Kolejki synchroniczne ............................................................................................. 91
Semafory .............................................................................................................. 92
Wątki i Swing .............................................................................................................. 98
Zasada pojedynczego wątku .................................................................................... 99
Wątek roboczy i Swing .......................................................................................... 104
Rozdział 2. Kolekcje..................................................................................................................................111
Interfejsy kolekcji ...................................................................................................... 111
Rozdzielenie interfejsów kolekcji od ich implementacji.............................................. 112
Interfejsy Collection i Iterator w bibliotekach języka Java........................................... 114
Kolekcje konkretne.................................................................................................... 119
Listy powiązane ................................................................................................... 120
Klasa ArrayList .................................................................................................... 128
Zbiory z kodowaniem mieszającym ......................................................................... 129
Zbiory drzewiaste ................................................................................................. 132
Kolejki z priorytetami ............................................................................................ 138
Mapy .................................................................................................................. 139
Specjalizowane klasy zbiorów i map ....................................................................... 144
Szkielet kolekcji ........................................................................................................ 149
Widoki i opakowania............................................................................................. 152
Operacje masowe ................................................................................................ 158
Wykorzystanie biblioteki kolekcji z tradycyjnymi bibliotekami ..................................... 159
Rozbudowywanie szkieletu .................................................................................... 160
Algorytmy ................................................................................................................. 163
Sortowanie i tasowanie......................................................................................... 164
Wyszukiwanie binarne........................................................................................... 167
Proste algorytmy .................................................................................................. 168
Programowanie własnych algorytmów ..................................................................... 169
Tradycyjne kolekcje.................................................................................................... 171
Klasa Hashtable .................................................................................................. 171
Wyliczenia ........................................................................................................... 171
Zbiory właściwości ............................................................................................... 172
Stosy.................................................................................................................. 173
Zbiory bitów......................................................................................................... 173
Rozdział 3. Programowanie aplikacji sieciowych ................................................................................ 179
Połączenia z serwerem .............................................................................................. 179
Implementacja serwerów............................................................................................ 183
Obsługa wielu klientów ......................................................................................... 186
Wysyłanie poczty elektronicznej................................................................................... 189
Połączenia wykorzystujące URL ................................................................................... 193
URL i URI ............................................................................................................ 194
Zastosowanie klasy URLConnection do pobierania informacji .................................... 196
Wysyłanie danych do formularzy............................................................................. 205
Spis treści
5
Zaawansowane programowanie przy użyciu gniazdek sieciowych..................................... 214
Limity czasu gniazdek........................................................................................... 214
Przerywanie operacji gniazdek ............................................................................... 215
Połączenia częściowo zamknięte............................................................................ 219
Adresy internetowe............................................................................................... 220
Rozdział 4. Połączenia do baz danych: JDBC........................................................................................ 225
Architektura JDBC ..................................................................................................... 226
Typy sterowników JDBC......................................................................................... 227
Typowe zastosowania JDBC .................................................................................. 228
Język SQL................................................................................................................. 230
Instalacja JDBC......................................................................................................... 235
Podstawowe koncepcje programowania przy użyciu JDBC............................................... 235
Adresy URL baz danych......................................................................................... 236
Nawiązywanie połączenia ...................................................................................... 236
Wykonywanie poleceń języka SQL .......................................................................... 241
Zaawansowane typy języka SQL ............................................................................. 242
Zarządzanie połączeniami, poleceniami i zbiorami wyników ....................................... 245
Wypełnianie bazy danych....................................................................................... 246
Wykonywanie zapytań ................................................................................................ 249
Polecenia przygotowane........................................................................................ 250
Przewijalne i aktualizowalne zbiory wyników zapytań ...................................................... 258
Przewijalne zbiory rekordów ................................................................................... 259
Aktualizowalne zbiory rekordów.............................................................................. 262
Metadane................................................................................................................. 266
Zbiory rekordów ........................................................................................................ 275
Buforowane zbiory rekordów .................................................................................. 276
Transakcje................................................................................................................ 285
Punkty kontrolne .................................................................................................. 286
Aktualizacje wsadowe (JDBC 2) ............................................................................. 286
Zaawansowane zarządzanie połączeniami .................................................................... 289
Wprowadzenie do LDAP.............................................................................................. 290
Konfiguracja serwera LDAP.................................................................................... 291
Dostęp do informacji katalogu LDAP....................................................................... 294
Rozdział 5. Obiekty rozproszone .......................................................................................................... 305
Role klienta i serwera ................................................................................................ 306
Wywołania zdalnych metod ......................................................................................... 308
Namiastka i szeregowanie parametrów................................................................... 309
Dynamiczne ładowanie klas................................................................................... 311
Konfiguracja wywołania zdalnych metod ....................................................................... 312
Interfejsy i implementacje ..................................................................................... 312
Generowanie klasy namiastki ................................................................................ 315
Odnajdywanie obiektów serwera ............................................................................ 315
Po stronie klienta................................................................................................. 319
Przygotowanie wdrożenia....................................................................................... 324
Wdrożenie programu............................................................................................. 326
Przekazywanie parametrów zdalnym metodom .............................................................. 329
Przekazywanie lokalnych obiektów.......................................................................... 329
Przekazywanie zdalnych obiektów........................................................................... 341
Zdalne obiekty i metody equals oraz hashCode ....................................................... 343
Klonowanie zdalnych obiektów............................................................................... 344
6
Java 2. Techniki zaawansowane
Aktywacja obiektów serwera ....................................................................................... 344
Java IDL i CORBA ...................................................................................................... 350
Język IDL............................................................................................................. 351
Przykład aplikacji CORBA....................................................................................... 356
Implementacja serwerów CORBA ........................................................................... 365
Wywołania zdalnych metod i SOAP .............................................................................. 370
Rozdział 6. Zaawansowane mo liwości pakietu Swing....................................................................... 377
Listy ........................................................................................................................ 377
Komponent JList .................................................................................................. 378
Modele list .......................................................................................................... 384
Wstawianie i usuwanie ......................................................................................... 388
Odrysowywanie zawartości listy.............................................................................. 390
Drzewa..................................................................................................................... 395
Najprostsze drzewa .............................................................................................. 396
Przeglądanie węzłów............................................................................................. 411
Rysowanie węzłów................................................................................................ 412
Nasłuchiwanie zdarzeń w drzewach ........................................................................ 419
Własne modele drzew........................................................................................... 425
Tabele ..................................................................................................................... 433
Najprostsze tabele ............................................................................................... 433
Modele tabel ....................................................................................................... 436
Filtry sortujące ..................................................................................................... 445
Rysowanie i edytowanie zawartości komórek........................................................... 451
Operacje na wierszach i kolumnach........................................................................ 464
Wybór wierszy, kolumn i komórek........................................................................... 465
Komponenty formatujące tekst ................................................................................... 473
Wskaźniki postępu .................................................................................................... 479
Paski postępu ..................................................................................................... 480
Monitory postępu ................................................................................................. 484
Monitorowanie postępu strumieni wejścia............................................................... 489
Organizatory komponentów......................................................................................... 494
Panele dzielone ................................................................................................... 495
Panele z zakładkami............................................................................................. 499
Panele pulpitu i ramki wewnętrzne ......................................................................... 504
Rozmieszczenie kaskadowe i sąsiadujące............................................................... 507
Zgłaszanie weta do zmiany właściwości .................................................................. 510
Rozdział 7. Zaawansowane mo liwości biblioteki AWT........................................................................ 521
Potokowe tworzenie grafiki ......................................................................................... 522
Figury....................................................................................................................... 524
Wykorzystanie klas obiektów graficznych................................................................. 526
Pola......................................................................................................................... 539
Ślad pędzla .............................................................................................................. 543
Wypełnienia .............................................................................................................. 550
Przekształcenia układu współrzędnych ......................................................................... 556
Przycinanie ............................................................................................................... 565
Przezroczystość i składanie obrazów............................................................................ 569
Wskazówki operacji graficznych................................................................................... 577
Czytanie i zapisywanie plików graficznych ..................................................................... 583
Wykorzystanie obiektów zapisu i odczytu plików graficznych ...................................... 583
Odczyt i zapis plików zawierających sekwencje obrazów............................................ 585
Plik z chomika:
Faficzek-10
Inne pliki z tego folderu:
Adobe_Dreamweaver_CC_CC_PL_Oficjalny_podrecznik_drccop.pdf
(4741 KB)
100_sposobow_na_Visual_Studio_100vis.pdf
(1292 KB)
100_sposobow_na_PHP_100php.pdf
(518 KB)
100_sposobow_na_Perl_100per.pdf
(276 KB)
100_sposobow_na_SQL_100sql.pdf
(350 KB)
Inne foldery tego chomika:
3ds max
Access
Acrobat
After Effects
Agile - Programowanie
Zgłoś jeśli
naruszono regulamin