Előszó a Magyar kiadáshoz | |
Tartalomjegyzék | |
A Java ipar | 1 |
Bevezetés | 1 |
A Java munkába áll | 3 |
A befejezetlen munka | 4 |
A Java felületek | 4 |
A munkaállomás Java felület | 4 |
A Java futásidejű környezet | 7 |
A Personal Java (Személyes Java) | 7 |
A beépített Java (Embedded Java) | 7 |
A JavaCard | 8 |
A HotJava böngésző | 9 |
A HotJava Views | 9 |
A JavaOS | 9 |
A JavaServer | 9 |
A Java Electronic Commerce | 9 |
A JavaSpaces | 10 |
A Jini | 10 |
A Java Naming and Dierctory Interface | 10 |
Összefoglaló | 10 |
Ismerkedés a JFC osztályaival | 11 |
Bevezető | 11 |
Delegációs eseménymodel | 13 |
Az eseményobjektumok | 13 |
Az eseményfigyelők | 14 |
Az eseményfigyelők regisztrációja | 15 |
Az elemek összeillesztése | 16 |
Az eseményadapterek | 20 |
Asztalszínek | 23 |
Nyomtatás | 26 |
A görgetőtábla használata | 28 |
Helyi menük | 31 |
Az egér nélküli műveletek | 32 |
Fókuszátadás | 32 |
Menü gyorsbillentyűk | 33 |
Adatátvitel | 35 |
Adatformák | 36 |
A vágólap | 39 |
Pehelysűlyú komponenskeretek | 41 |
A Swing készlet (Swing set) | 45 |
A Swing komponensek | 45 |
A JavaBeans integráció | 45 |
Cserélhető kinézet és működés | 47 |
A drag and drope funkció | 48 |
Java 2D | 49 |
Összefoglaló | 50 |
Ismerkedés a Java Média környezettel | 51 |
Bemutatkozás | 51 |
Légy üdvözölve a Java birodalmában! | 52 |
Terv: Tekintsük a Java City programot | 53 |
A régi világból egy új világba vezető hídnak | 53 |
Tervezési szempont: Használhatóság | 53 |
Tervezési szempont: Hordozhatóság | 54 |
Tervezési szempont: Újrafelhasználhatóság | 55 |
A Java Media API felépítése | 55 |
Java 2D | 56 |
Java 3D | 57 |
Java Media Framework | 58 |
Java Sound | 60 |
Java Share | 61 |
Java Animation | 62 |
Java Telephony | 62 |
Java Speech | 62 |
Java Advenced Imaging | 63 |
A Java City megvalósítása | 63 |
A Java City nem egy nap alatt készül el | 64 |
Recept a multimédiás weblapok készítéséhez | 66 |
A HTML oldalak elkészítése | 67 |
A lejátszást végző applet | 68 |
A futtatási környezet beállításai9 | 69 |
A webböngésző elindítása és az applet futtatása | 70 |
A Java 2d szerepe a Java City rendszerben | 71 |
A Java City virtuális valóságának megvalósítása a Java 3D lehetőségeivel | 72 |
Profi eszközök a hálózatkezelésben | 75 |
Bevezetés | 75 |
Alapvető hálózatkezelési elvek | 76 |
Áttekintés | 76 |
Kliensek és szerverek | 77 |
Portok és socketek | 78 |
A Java hálózatkezelés alapelvei | 79 |
Áttekintés | 79 |
Kliensek és szervek | 80 |
Protokollok és protokollkezelők | 80 |
A szerver | 82 |
Kliensek és szolgáltatások | 84 |
Szabványos erőforrás-keresők és webszerverek | 85 |
Hálózatkezelés és kivitel/bevitel a Javában | 92 |
Kivitel és bevitel a Javában | 92 |
Összefoglalás | 102 |
A JavaBean használata | 103 |
Bevezetés | 103 |
A JavaBeans célja | 103 |
JavaBeans komponensmodell | 104 |
Alkalmazásépítők | 106 |
A bean események | 107 |
A beanek tulajdonságai | 107 |
A tükrözés és betekintés | 109 |
A tükrözés (Reflection) | 109 |
A betekintés | 113 |
Beanek testreszabása | 115 |
A glasgow-i bővítések | 117 |
Összefoglalás | 118 |
Elosztott alkalmazások tervezése | 119 |
Bevezetés | 119 |
Alkalmazás architektúrák | 120 |
Monolitikus alkalmazások | 120 |
Kliens-szerver alkalmazások | 122 |
Háromrétegű alkalmazások | 125 |
A három réteg előnyei | 128 |
Mozgékony szoftver | 128 |
Az összekötési probléma | 130 |
Elosztott rendszerek kezelése | 131 |
Háromrétegű alkalmazások üzembeállítása | 132 |
A háromrétegű architektúra korlátai | 134 |
Méret és sebesség | 136 |
Öröklési és oktatási problémák | 136 |
Megmozdulás | 137 |
Kiképzés | 137 |
Emberek | 138 |
A változtatás irányítása | 139 |
Örökölt rendszerek beépítése | 140 |
Interfész az adatsín felé | 140 |
A Java platform használata a szervezetben | 144 |
Interfész defníciós nyelv vagy távoli metódus hívás | 144 |
A Java adatbázis kapcsolat (JDBC) | 146 |
Enterprise JavaBeans | 147 |
Összefoglalás | 148 |
Távoli metódusok hívása | 151 |
Bevezetés | 151 |
Építve a tapasztalatokra | 152 |
Térjünk a tárgyra! | 154 |
Osztott rendszerek összehasonlítása | 155 |
Az RMI célja | 157 |
Az RMI rendszer architektúrája | 158 |
A váz réteg | 158 |
A távoli referencia réteg | 159 |
A szállítási réteg | 159 |
Osztott szemétgyűjtés | 159 |
Osztott programozás az RMI használatával | 160 |
Egy egyszerű példa RMI kliens és szerver létrehozására | 161 |
A távoli interfész definiálása | 161 |
A távoli szerver elkészítése | 162 |
A távoli kliens létrehozása | 165 |
A példaprogram fordítása és futtatása | 168 |
A szerver visszajelzései | 169 |
Objektumok átadása metódusok argumentumaként | 173 |
Távoli polimorfizmus | 176 |
Az RMI és a Java Servlet API | 180 |
Objektumsorosítási példák | 182 |
A Java RMI jövője | 186 |
Összefoglaló | 187 |
A JDBC technika elsajátítása | 189 |
Bevezető | 189 |
A Java nyelv, az SQL és a CLI | 190 |
A JDBC architektúrája | 191 |
Meghajtók és meghajtó-kezelők | 192 |
A JDBC használata | 193 |
Egyszerű példa | 194 |
Egy JDBC alkalmazás anatómiája | 195 |
Meghajtó telepítése | 195 |
Kapcsolat létrehozása | 196 |
A Connection interfész | 197 |
A Statement interfész | 197 |
Az eredmények manipulálása | 197 |
Java - SQL adattípus leképezések | 199 |
Összerakjuk a példánkat | 203 |
Tranzakciók | 206 |
Preparált utasítások | 207 |
Hívható utasítások | 210 |
Nagy adatmezők kezelése | 210 |
Az RDBMS értékének növelése | 212 |
Három, öt, vagy N réteg | 214 |
Példa | 214 |
Termékkezelő (ProductManager) | 215 |
OrderEntry osztály | 218 |
Egyéb meggondolások | 220 |
JDBC 2.0 | 221 |
Új csomagok | 222 |
Hol használhatjuk a JDBC 2.0-t? | 223 |
Görgethető ResultSetek használata | 223 |
Kötegelt aktualizálások | 224 |
Összefoglalás | 225 |
Szervletek és a Java Web Server | 227 |
Bevezetés | 227 |
A Java Web Server platform | 228 |
A szervletek előnyei | 228 |
Teljesítmény | 229 |
Egyszerű használat | 229 |
Biztonság | 230 |
Egyszerű szervlet | 230 |
HTTP szervlet anatómiája | 231 |
A doXXX metódusok | 232 |
HTML lapok készítése | 234 |
Szervlet telepítése | 234 |
Szervlet tartós telepítése | 235 |
Megfontolások a Java Web Serverrel kapcsolatban | 239 |
A szálak biztonsága | 240 |
Teljesítmény | 241 |
Alapszervletek | 242 |
Felhasználói input | 242 |
A getParameterValues használata | 244 |
Miért használjunk szervleteket appletek helyett? | 245 |
Init paraméterek használata | 248 |
Szervlet beanek | 250 |
Lapkompilálás | 254 |
Lapkompilálási teljesítmény | 255 |
Mikor használjunk lapkompilálást? | 256 |
Formák | 256 |
Formák használata | 259 |
A default.definitions fájl | 260 |
Formák alkalmazása szervletekhez | 260 |
Ülés nyomonkövetése | 262 |
Ülés nyomonkövetése és a biztonság | 264 |
Ülés érvénytelenítése | 264 |
Szervletek és a Java Enterprise API-k | 266 |
Összefoglalás | 272 |
Enterprise JavaBeans | 273 |
Bevezetés | 273 |
Enterprise JavaBeans | 274 |
Mi az Enterprise JavaBeans? | 274 |
Mi van egy névben? | 275 |
Az Enterprise JavaBeans céljai | 276 |
Példa a session beanre | 277 |
Az EJBHome interfész | 277 |
Az EJBObject interfész | 278 |
A SessionBean osztály | 278 |
Egy egyszerű kliens alkalmazása | 280 |
Minek kínlódjunk? | 282 |
Konténer kiválasztása | 283 |
Az EJB-k fedele alatt | 283 |
Példa az entitás beanre | 285 |
Az EJBHome interfész | 285 |
A create és a findByPrimrayKey metódusok használata | 286 |
Az EJBObject interfész | 287 |
Az EntityBean osztály | 288 |
Az entity bena kliens | 290 |
Adatbázis és entitás bean közötti leképezés | 291 |
EJB architektúrák | 293 |
Session és entity enterprise beanek | 293 |
Enterprise beanek és örökölt alkalmazások használata | 294 |
Enterprise JavaBeans és CORBA | 295 |
Összefoglalás | 296 |
Java szálak használata | 297 |
Bevezetés | 297 |
Mik azok a szálak? | 297 |
Szinkronizálás | 298 |
Ütemezés | 298 |
Miért használunk szálakat? | 299 |
Java szálak használata | 300 |
Szál létrehozása és indítása | 300 |
Szálak összekötése | 303 |
Daemon szálak | 305 |
Szálcsoportok | 307 |
Egyéb metódusok | 310 |
Ütemezés | 310 |
Szál állapota | 310 |
Egy szál állapotának meghatározása | 313 |
Szál prioritása | 313 |
Időszeletelés | 316 |
Szinkronizálás | 318 |
Monitorok | 318 |
Feltételváltozók | 323 |
A volatile kulcsszó | 331 |
Java a multiprocesszoros rendszerekben | 332 |
Szálbiztos osztályok | 333 |
Java szálak és POSIX szálak | 333 |
Összefoglalás | 334 |
Biztonság | 335 |
Bevezetés | 335 |
A futtatható tartalomban rejlő veszélyek | 336 |
Biztonság a weben | 336 |
Biztonság a gyakorlatban | 336 |
Biztonság a hálózatokon | 337 |
A Java felület biztonsága | 337 |
A Java Security alapjai | 338 |
Indirekt programvégrehajtás | 338 |
Mi a helyzet a közvetlen fordítóprogramokkal és a JavaChipel? | 339 |
A nyelv biztonsági szolgáltatásai | 340 |
A Verifier (ellenőrző) | 341 |
Védelmi tartományok | 343 |
A biztonsági opciók beállítása | 348 |
Az egész egyben | 350 |
A biztonság, az appletek és a webes böngészők | 351 |
A homokozó irányelvek | 352 |
Játék a homokozóban | 353 |
Aláírt JAR-ok (Java Archives Files) | 354 |
A biztonság, az alkalmazások és a gyakorlat | 356 |
A biztonsági modell kiterjesztése | 358 |
A biztonsági osztályok áttekintése | 358 |
Privilégiumok delegálása | 361 |
Argumentumok és kivételek használata a doPrivileged hívásnál | 363 |
Hogyan lehet privilégiumokat veszíteni? | 364 |
Az implies metódus | 368 |
A védelmi tartományok és a Java alkalmazások kapcsolata | 372 |
A Java kriptográfiai kiterjesztése (Java Cryptography Extension, JCE) | 373 |
A JCE használata | 374 |
A biztonsággal kapcsolatos programhibák | 378 |
Együtt élni a hibákkal | 379 |
Összefoglaló | 380 |
A Java Natív Interface használata | 381 |
Bevezetés | 381 |
A JNI | 382 |
Natív metódus hívása Javából | 383 |
Metódus elnevezés | 386 |
Paraméter elnevezés | 387 |
Adatokra történő hivatkozás natív metódusból | 389 |
Referencia típusok | 390 |
A Java mezőinek és metódusainak elérése | 392 |
Hibakezelés natív metódusokban | 393 |
Java hívás natív programból | 394 |
Összefoglaló | 396 |
Ismerkedés a hálózati számítógépekkel | 397 |
Bevezető | 397 |
Mi az a hálózati számítógép? | 398 |
A hálózati számítógépek kivitelezése | 400 |
Hálózati gép-e a PC? | 402 |
A hálózati számítógép előnyei | 404 |
A hálózati gépek későn halnak | 406 |
A hálózati gépek piaca | 407 |
Diverzitás vagy interzitás? | 407 |
A hálózati számítógép versenytársai | 410 |
Alkalmazások tervezése hálózati számítógépekre | 412 |
Az univerzális Java platform | 414 |
A saját metódusok elkerülendők | 414 |
A 100% Tiszta Java Kezdeményezés (100% Pure Java Initiative) | 415 |
"Java kompatibilis" minőség | 417 |
A hálózati számítógépek felhasználói felületei | 418 |
Nagy vagy kis kliens - hol a határ? | 418 |
A hálózati gépek telepítése és üzemeltetése | 420 |
Hálózati követelmények | 421 |
Rendszerindító szerverek | 421 |
FlashRAM | 423 |
Telepítési szituációk | 423 |
Ráfordítás és haszon - jó befektetés-e hálózati gép? | 426 |
Java alkalmazási környezetek | 427 |
Összefoglalás | 428 |
Ismerkedés a JavaOS és a JavaStation felépítésével | 429 |
Bevezető | 429 |
A Sun JavaStation családjának áttekintése | 429 |
JavaStation "tégla" | 430 |
JavaStation "torony" | 440 |
Összefoglalás | 446 |
A JavaStation és a Hálózati Számítógép Referencialeírás | 446 |
JavaOS | 447 |
Áttekintés | 448 |
Felépítés | 448 |
A Java-kernel | 453 |
A fájlrendszer | 456 |
Processzorbeosztás és szálak | 456 |
Virtuális memória | 458 |
Eszközmeghajtók | 458 |
Hálózat és protokollok | 460 |
Ablakozás és grafika | 460 |
Nyomtatás | 462 |
Platformok, melyek támogatják a JavaOS-t | 462 |
Valóban operációs rendszer a JavaOS? | 462 |
A "fő" alkalmazás (HotJava?) | 463 |
Áttekintés | 464 |
HTML | 466 |
Biztonság | 467 |
Támogatott protokollok | 467 |
Támogatott médiaformátumok | 468 |
A HotJava/JavaOS és a Hálózati Számítógép Referencialeírás | 468 |
A JavaStation szoftvercsomag (Netra j) | 469 |
Mi jöhet ezután - kilátások a jövőre | 470 |
JavaStation | 470 |
JavaOS | 471 |
HotJava | 472 |
Összefoglalás | 472 |
A Java jövője | 473 |
Bevezető | 473 |
A Java forradalom | 474 |
Miként változnak a paradigmák? | 474 |
A megfelelő kérdések feltevése - a jövő útja | 475 |
Vertikális piac és kapcsolódó interfészek | 476 |
A fenntartható egyszerűség | 478 |
A Java platform egyeduralma | 479 |
Rendszerszintű programozás | 480 |
Alkalmazásprogramozás | 481 |
Új alkalmazásarchitektúrák | 482 |
Hírközlő architektúrák | 482 |
Nincs hálózati kapcsolat - az élet nem áll meg | 484 |
Együttműködési rendszerek | 486 |
Jini | 487 |
Összefoglalás | 488 |