Java 2 Techniki zaawansowane Wydanie II.pdf

(459 KB) Pobierz
Java 2. Techniki zaawansowane. Wydanie II
IDZ DO
PRZYK£ADOW Y ROZDZIA£
Java 2. Techniki
zaawansowane.
SPIS TRECI
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
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Kompletne i niezast¹pione ród³o wiedzy dla dowiadczonych programistów
• Kolejne wydanie doskona³ego przewodnika po zaawansowanych mo¿liwociach Javy
• Wszystkie kody ród³owe w ksi¹¿ce zaktualizowane do J2SE 5.0
• Szczegó³owe omówienie wielow¹tkowoci, 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³aciwoci
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¿liwoci, klas i obiektów.
W JDK 5.0 wprowadzono nowe mechanizmy obs³ugi w¹tków i kolekcji, rozszerzono
mo¿liwoci biblioteki Swing i klas wykorzystywanych do tworzenia aplikacji bazodanowych
i sieciowych. „Java 2. Techniki zaawansowane. Wydanie II” przedstawia i opisuje wszystkie
te nowoci.
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 powiêconych
nowociom wprowadzonym w J2SE 5.0. Dok³adnie i na przyk³adach opisuje zagadnienia
zwi¹zane z wielow¹tkowoci¹, 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¿liwoci bibliotek Swing i AWT
• Technologia JavaBeans
• Bezpieczeñstwo aplikacji
• Internacjonalizacja
• Korzystanie z jêzyka XML
Jeli 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 NOWOCIACH
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
400253266.001.png 400253266.002.png 400253266.003.png 400253266.004.png
Spis treci
Podzikowania...........................................................................................................................................11
Przedmowa............................................................................................................................................... 13
Do Czytelnika..............................................................................................................13
O ksice...................................................................................................................13
Rozdział 1. Wielowtkowo .................................................................................................................... 17
Czym s wtki?...........................................................................................................18
Zastosowanie wtków.............................................................................................23
Przerywanie wtków.....................................................................................................29
Stany wtków .............................................................................................................32
Nowe wtki ...........................................................................................................32
Wtki wykonywalne.................................................................................................33
Wtki zablokowane.................................................................................................33
Wtki martwe ........................................................................................................35
Wła&ciwo&ci wtków....................................................................................................36
Priorytety wtków...................................................................................................36
Wtki-demony........................................................................................................37
Grupy wtków........................................................................................................37
Procedury obsługi wyjtkó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ównorz6dne traktowanie wtków............................................................................65
Testowanie blokad i limity czasu..............................................................................65
Blokady odczytu i zapisu.........................................................................................67
Dlaczego metody stop i suspend nie s zalecane? ....................................................68
Kolejki blokujce.........................................................................................................70
Kolekcje.....................................................................................................................76
Efektywne implementacje kolejki i tablicy mieszajcej ................................................76
Kolekcje CopyOnWriteArrayList i CopyOnWriteArraySet................................................78
Starsze kolekcje i wielowtkowo&=...........................................................................78
 
4 Java 2. Techniki zaawansowane
Interfejsy Callable i Future............................................................................................78
Egzekutory..................................................................................................................83
Pule wtków..........................................................................................................83
Wykonywanie zada@ według planu............................................................................87
Sterowanie grupami wtków....................................................................................88
Synchronizatory...........................................................................................................89
Bariery..................................................................................................................90
Rejestry odliczajce................................................................................................91
PrzekaAniki............................................................................................................91
Kolejki synchroniczne .............................................................................................91
Semafory ..............................................................................................................92
Wtki i Swing..............................................................................................................98
Zasada pojedynczego wtku....................................................................................99
Wtek 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 j6zyka Java...........................................114
Kolekcje konkretne....................................................................................................119
Listy powizane ...................................................................................................120
Klasa ArrayList ....................................................................................................128
Zbiory z kodowaniem mieszajcym.........................................................................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 wykorzystujce URL...................................................................................193
URL i URI ............................................................................................................194
Zastosowanie klasy URLConnection do pobierania informacji....................................196
Wysyłanie danych do formularzy.............................................................................205
Spis treci 5
Zaawansowane programowanie przy uyciu gniazdek sieciowych.....................................214
Limity czasu gniazdek...........................................................................................214
Przerywanie operacji gniazdek ...............................................................................215
Połczenia cz6&ciowo zamkni6te............................................................................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
J6zyk SQL.................................................................................................................230
Instalacja JDBC.........................................................................................................235
Podstawowe koncepcje programowania przy uyciu JDBC...............................................235
Adresy URL baz danych.........................................................................................236
Nawizywanie połczenia......................................................................................236
Wykonywanie polece@ j6zyka SQL ..........................................................................241
Zaawansowane typy j6zyka SQL.............................................................................242
Zarzdzanie 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 zarzdzanie połczeniami....................................................................289
Wprowadzenie do LDAP..............................................................................................290
Konfiguracja serwera LDAP....................................................................................291
Dost6p 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 wdroenia.......................................................................................324
Wdroenie 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
J6zyk IDL.............................................................................................................351
Przykład aplikacji CORBA.......................................................................................356
Implementacja serwerów CORBA ...........................................................................365
Wywołania zdalnych metod i SOAP ..............................................................................370
Rozdział 6. Zaawansowane mo4liwoci 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
Przegldanie w6złów.............................................................................................411
Rysowanie w6złów................................................................................................412
Nasłuchiwanie zdarze@ w drzewach........................................................................419
Własne modele drzew...........................................................................................425
Tabele .....................................................................................................................433
Najprostsze tabele...............................................................................................433
Modele tabel.......................................................................................................436
Filtry sortujce.....................................................................................................445
Rysowanie i edytowanie zawarto&ci komórek...........................................................451
Operacje na wierszach i kolumnach........................................................................464
Wybór wierszy, kolumn i komórek...........................................................................465
Komponenty formatujce tekst ...................................................................................473
WskaAniki post6pu ....................................................................................................479
Paski post6pu .....................................................................................................480
Monitory post6pu.................................................................................................484
Monitorowanie post6pu strumieni wej&cia...............................................................489
Organizatory komponentów.........................................................................................494
Panele dzielone ...................................................................................................495
Panele z zakładkami.............................................................................................499
Panele pulpitu i ramki wewn6trzne .........................................................................504
Rozmieszczenie kaskadowe i ssiadujce...............................................................507
Zgłaszanie weta do zmiany wła&ciwo&ci..................................................................510
Rozdział 7. Zaawansowane mo4liwoci biblioteki AWT........................................................................521
Potokowe tworzenie grafiki.........................................................................................522
Figury.......................................................................................................................524
Wykorzystanie klas obiektów graficznych.................................................................526
Pola.........................................................................................................................539
Klad p6dzla ..............................................................................................................543
Wypełnienia..............................................................................................................550
Przekształcenia układu współrz6dnych.........................................................................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 zawierajcych sekwencje obrazów............................................585
Zgłoś jeśli naruszono regulamin