Nauka Javy. Wprowadzenie do tworzenia aplikacji do rzeczywistych zastosowa艅. Wydanie V - Helion
Autor: Marc Loy, Patrick Niemeyer, Daniel Leuck
Tytu艂 orygina艂u: Learning Java: An Introduction to Real-World Programming with Java, 5th Edition
ISBN: 978-83-283-7128-6
ok艂adka: mi臋kka
Data wydania: 2020-09-01
Ksi臋garnia: Helion
Cena ksi膮偶ki: 62,30 z艂 (poprzednio: 89,00 z艂)
Oszcz臋dzasz: 30% (-26,70 z艂)
Tytu艂 orygina艂u: Learning Java: An Introduction to Real-World Programming with Java, 5th Edition
ISBN: 978-83-283-7128-6
ok艂adka: mi臋kka
Data wydania: 2020-09-01
Ksi臋garnia: Helion
Cena ksi膮偶ki: 62,30 z艂 (poprzednio: 89,00 z艂)
Oszcz臋dzasz: 30% (-26,70 z艂)
Osoby kt贸re kupowa艂y "Nauka Javy. Wprowadzenie do tworzenia aplikacji do rzeczywistych zastosowa艅. Wydanie V", wybiera艂y tak偶e:
- Cisco CCNA 200-301. Kurs video. Administrowanie bezpiecze艅stwem sieci. Cz臋艣膰 3 665,00 z艂, (39,90 z艂 -94%)
- Cisco CCNA 200-301. Kurs video. Administrowanie urz膮dzeniami Cisco. Cz臋艣膰 2 665,00 z艂, (39,90 z艂 -94%)
- Cisco CCNA 200-301. Kurs video. Podstawy sieci komputerowych i konfiguracji. Cz臋艣膰 1 665,00 z艂, (39,90 z艂 -94%)
- Impact of P2P and Free Distribution on Book Sales 427,14 z艂, (29,90 z艂 -93%)
- Cisco CCNP Enterprise 350-401 ENCOR. Kurs video. Programowanie i automatyzacja sieci 443,33 z艂, (39,90 z艂 -91%)
Spis tre艣ci
Nauka Javy. Wprowadzenie do tworzenia aplikacji do rzeczywistych zastosowa艅. Wydanie V -- spis tre艣ci
Przedmowa 11
1. Nowoczesny j臋zyk 17
- Java 17
- Pochodzenie Javy 18
- Okres dojrzewania 19
- Maszyna wirtualna 20
- Java a inne j臋zyki programowania 23
- Bezpiecze艅stwo projektowania 26
- Upraszczaj, upraszczaj i jeszcze raz upraszczaj 26
- Bezpiecze艅stwo typ贸w i wi膮zanie metod 27
- Realizacja przyrostowa 28
- Dynamiczne zarz膮dzanie pami臋ci膮 28
- Obs艂uga b艂臋d贸w 29
- W膮tki 30
- Skalowalno艣膰 30
- Bezpiecze艅stwo implementacji 31
- Weryfikator 32
- 艁adowarka klas 33
- Zarz膮dca bezpiecze艅stwa 34
- Bezpiecze艅stwo na poziomie aplikacji i u偶ytkownika 35
- Harmonogram Javy 35
- Przesz艂o艣膰: Java 1.0 - Java 11 36
- Tera藕niejszo艣膰: Java 14 38
- Przysz艂o艣膰 39
- Dost臋pno艣膰 40
2. Pierwsza aplikacja 41
- Narz臋dzia i 艣rodowisko Javy 41
- Instalowanie JDK 42
- Instalowanie OpenJDK w systemie Linux 43
- Instalowanie OpenJDK w systemie macOS 43
- Instalowanie OpenJDK w systemie Windows 44
- Konfigurowanie 艣rodowiska IntelliJ IDEA i tworzenie projektu 46
- Uruchomienie projektu 50
- Pobieranie przyk艂ad贸w kodu 51
- HelloJava 51
- Klasy 54
- Metoda main() 55
- Klasy i obiekty 56
- Zmienne i typy klasowe 56
- HelloComponent 57
- Dziedziczenie 58
- Klasa JComponent 59
- Relacje i szukanie winnego 59
- Pakiety i importowanie 60
- Metoda paintComponent() 62
- HelloJava2: drugie podej艣cie 63
- Zmienne instancyjne 64
- Konstruktory 65
- Zdarzenia 67
- Metoda repaint() 69
- Interfejsy 70
- 呕egnaj i ponownie witaj 71
3. Narz臋dzia pracy 73
- 艢rodowisko JDK 73
- Maszyna wirtualna Javy 74
- Uruchamianie aplikacji Javy 74
- W艂a艣ciwo艣ci systemowe 76
- 艢cie偶ka klas (classpath) 76
- Narz臋dzie javap 78
- Modu艂y 78
- Kompilator Javy 78
- Natychmiastowe sprawdzanie dzia艂ania kodu Javy 80
- Pliki JAR 85
- Kompresja plik贸w 85
- Narz臋dzie jar 86
- Narz臋dzie pack200 88
- Czas przygotowa艅 89
4. J臋zyk Java 91
- Kodowanie tekstu 92
- Komentarze 94
- Komentarze javadoc 94
- Zmienne i sta艂e 96
- Typy 98
- Typy proste 99
- Typy referencyjne 103
- Inferencja typ贸w 104
- Przekazywanie referencji 105
- Kilka s艂贸w na temat obiekt贸w String 106
- Instrukcje i wyra偶enia 106
- Instrukcje 107
- Wyra偶enia 115
- Tablice 120
- Typy tablicowe 121
- Tworzenie i inicjowanie tablicy 121
- U偶ywanie tablic 123
- Tablice anonimowe 125
- Tablice wielowymiarowe 125
- Typy, klasy i tablice, o rany! 127
5. Obiekty w Javie 129
- Klasy 129
- Deklarowanie klas i tworzenie ich instancji 131
- Uzyskiwanie dost臋pu do p贸l i metod 132
- Sk艂adowe statyczne 137
- Metody 139
- Zmienne lokalne 140
- Przes艂anianie 141
- Metody statyczne 142
- Inicjowanie zmiennych lokalnych 144
- Przekazywanie argument贸w i referencje 145
- Klasy opakowuj膮ce dla typ贸w prostych 146
- Przeci膮偶anie metod 148
- Tworzenie obiekt贸w 149
- Konstruktory 150
- Praca z konstruktorami przeci膮偶onymi 151
- Niszczenie obiekt贸w 152
- Mechanizm odzyskiwania pami臋ci 153
- Pakiety 154
- Importowanie klas 154
- Pakiety niestandardowe 156
- Widoczno艣膰 i dost臋pno艣膰 sk艂adowych 157
- Kompilowanie pakiet贸w 159
- Zaawansowane projektowanie klas 160
- Tworzenie podklas i dziedziczenie 160
- Interfejsy 165
- Klasy wewn臋trzne 167
- Anonimowe klasy wewn臋trzne 168
- Organizowanie zawarto艣ci i uwzgl臋dnianie wyst臋powania b艂臋d贸w 170
6. Obs艂uga b艂臋d贸w i rejestrowanie 173
- Wyj膮tki 174
- Klasy b艂臋d贸w i wyj膮tk贸w 174
- Obs艂uga wyj膮tk贸w 176
- B膮belkowanie 179
- 艢lady stosu 180
- Wyj膮tki sprawdzane i niesprawdzane 181
- Rzucanie wyj膮tk贸w 182
- K艂opotliwe try 185
- Klauzula finally 186
- try-with-resources 186
- Kwestie zwi膮zane z wydajno艣ci膮 188
- Asercje 188
- W艂膮czanie i wy艂膮czanie asercji 189
- U偶ywanie asercji 190
- API rejestrowania 191
- Przegl膮d 191
- Poziomy rejestrowania 193
- Prosty przyk艂ad 194
- W艂a艣ciwo艣ci konfiguracyjne rejestrowania 195
- Klasa Logger 197
- Wydajno艣膰 197
- Wyj膮tki w praktyce 198
7. Kolekcje oraz typy i metody sparametryzowane 199
- Kolekcje 199
- Interfejs Collection 200
- Typy kolekcji 201
- Interfejs Map 202
- Ograniczenia typ贸w 204
- Kontenery, czyli budowanie lepszej pu艂apki na myszy 205
- Czy kontenery mo偶na naprawi膰? 206
- Wprowadzenie do typ贸w i metod sparametryzowanych 206
- Kilka s艂贸w o typach 209
- "艁y偶ka nie istnieje" 210
- Wymazywanie 210
- Typy surowe 212
- Relacje typ贸w sparametryzowanych 213
- Dlaczego List
nie jest typem List
- Dlaczego List
- Rzutowania 216
- Konwertowanie mi臋dzy kolekcjami a tablicami 217
- Iterator 217
- Dzia艂anie metody sort() 218
- Aplikacja: drzewa na planszy 219
- Podsumowanie 220
8. Praca z tekstem i podstawowe narz臋dzia 223
- 艁a艅cuchy znak贸w - klasa String 223
- Konstruowanie 艂a艅cuch贸w znak贸w 224
- Tekstowe reprezentacje z r贸偶nych element贸w 225
- Por贸wnywanie 艂a艅cuch贸w znak贸w 226
- Wyszukiwanie 227
- Podsumowanie metod klasy String 227
- R贸偶ne elementy z tekstowych reprezentacji 229
- Parsowanie liczb prostych 229
- Tokenizacja tekstu 230
- Wyra偶enia regularne 232
- Notacja wyra偶e艅 regularnych 232
- Interfejs API java.util.regex 238
- Narz臋dzia matematyczne 242
- Klasa java.lang.Math 243
- Du偶e i dok艂adne liczby 246
- Daty i godziny 248
- Lokalne daty i godziny 248
- Por贸wnywanie oraz zmiana dat i godzin 249
- Strefy czasowe 250
- Parsowanie i formatowanie dat i godzin 251
- B艂臋dy parsowania 253
- Znaczniki czasu 254
- Inne przydatne narz臋dzia 254
9. W膮tki 257
- Wprowadzenie do w膮tk贸w 258
- Klasa Thread i interfejs Runnable 258
- Sterowanie w膮tkami 261
- "艢mier膰" w膮tku 266
- Synchronizacja 268
- Szeregowanie dost臋pu do metod 268
- Uzyskiwanie dost臋pu do zmiennych klasowych i instancyjnych z wielu w膮tk贸w 273
- Planowanie i priorytety 274
- Stany w膮tku 275
- Podzia艂 czasu 276
- Priorytety 277
- Oddawanie sterowania 278
- Wydajno艣膰 w膮tk贸w 279
- Koszt synchronizacji 279
- Wykorzystywanie zasob贸w w膮tku 279
- Narz臋dzia do obs艂ugi wsp贸艂bie偶no艣ci 280
10. Aplikacje desktopowe 283
- Przyciski, suwaki oraz pola tekstowe, o rety! 284
- Hierarchie komponent贸w 284
- Architektura Model-Widok-Kontroler 284
- Etykiety i przyciski 286
- Komponenty tekstowe 292
- Inne komponenty 299
- Kontenery i uk艂ady 303
- Ramki i okna 303
- Klasa JPanel 305
- Mened偶ery uk艂adu 306
- Zdarzenia 314
- Zdarzenia myszy 315
- Zdarzenia dzia艂a艅 318
- Zdarzenia zmian 320
- Inne zdarzenia 321
- Okna modalne i wyskakuj膮ce okienka 322
- Okna dialogowe z komunikatami 322
- Okna dialogowe z potwierdzeniem 325
- Okna dialogowe z danymi wej艣ciowymi 326
- Rozwa偶ania na temat obs艂ugi w膮tk贸w 326
- Klasa SwingUtilities i aktualizacje komponent贸w 327
- Minutniki 330
- Kolejne kroki 332
- Menu 333
- Preferencje 335
- Komponenty niestandardowe oraz Java2D 335
- JavaFX 335
- Interfejs u偶ytkownika i do艣wiadczenie u偶ytkownika 336
11. Obs艂uga sieci i operacje we-wy 337
- Strumienie 337
- Podstawowe operacje we-wy 339
- Strumienie znak贸w 341
- Klasy opakowuj膮ce dla strumieni 342
- Klasa java.io.File 346
- Strumienie plik贸w 351
- Klasa RandomAccessFile 353
- Interfejs API plik贸w NIO 354
- Klasy FileSystem i Path 355
- Operacje interfejsu plik贸w NIO 356
- Pakiet NIO 360
- Asynchroniczne operacje we-wy 360
- Wydajno艣膰 361
- Pliki zmapowane i zablokowane 361
- Kana艂y 361
- Bufory 362
- Kodery i dekodery znak贸w 365
- FileChannel 367
- Programowanie sieciowe 370
- Gniazda 372
- Klienty i serwery 373
- Klient DateAtHost 376
- Gra rozproszona 378
- Wi臋cej do odkrycia 387
12. Programowanie aplikacji internetowych 389
- Adresy URL 389
- Klasa URL 390
- Strumie艅 danych 391
- Pobieranie zawarto艣ci jako obiektu 392
- Zarz膮dzanie po艂膮czeniami 393
- Procedury obs艂ugi w praktyce 394
- Przydatne frameworki procedur obs艂ugi 394
- Komunikacja z aplikacjami internetowymi 395
- Korzystanie z metody GET 395
- Korzystanie z metody POST 396
- Obiekt HttpURLConnection 399
- SSL i bezpieczna komunikacja internetowa 400
- Aplikacje internetowe Javy 400
- Cykl 偶ycia serwletu 402
- Serwlety 402
- Serwlet HelloClient 404
- Odpowied藕 serwletu 405
- Parametry serwletu 406
- Serwlet ShowParameters 408
- Zarz膮dzanie sesjami u偶ytkownik贸w 409
- Serwlet ShowSession 410
- Kontenery serwlet贸w 412
- Konfigurowanie za pomoc膮 pliku web.xml oraz adnotacji 413
- Mapowania wzorc贸w adres贸w URL 416
- Wdra偶anie serwletu HelloClient 416
- WWW - sie膰 na ca艂y 艣wiat rozleg艂a 417
13. Rozszerzanie Javy 419
- Wydania Javy 419
- JCP i JSR 420
- Wyra偶enia lambda 420
- Modernizacja kodu 421
- Rozszerzanie Javy poza podstawowe funkcjonalno艣ci 426
- Ko艅cowe podsumowanie i kolejne kroki 427
A. Przyk艂ady kodu i program IntelliJ IDEA 429
S艂owniczek 443