Facebook - konwersja

Java. Kompendium programisty. Wydanie XI - ebook

Wydawnictwo:
Data wydania:
3 marca 2020
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
199,00

Java. Kompendium programisty. Wydanie XI - ebook

Mimo upływu lat Java wciąż pozostaje jednym z najważniejszych języków programowania, konsekwentnie wybieranym przez profesjonalnych deweloperów. Jest równocześnie nowoczesna i dojrzała. Twórcy Javy od początku jej istnienia stawiali na elastyczność i stale dostosowywali ten język do zmieniających się warunków pracy programistów. Od pierwszego wydania Java zapewnia narzędzia do programowania rozwiązań internetowych, jest więc naturalnym wyborem programistów tworzących aplikacje internetowe. Jej możliwości jednak są o wiele większe - i rosną z każdą kolejną wersją. Konieczne jest więc sukcesywne zapoznawanie się z nowościami i ze zmianami wprowadzanymi w poszczególnych wydaniach Java SE.

Ta książka jest jedenastym wydaniem wyczerpującego kompendium programisty Javy, w pełni zaktualizowanym, uzupełnionym o nowości wprowadzone w Java SE 11. Opisuje język kompleksowo: jego składnię, słowa kluczowe oraz najistotniejsze zasady programowania. Zawiera także informacje o najważniejszych składnikach biblioteki Javy, takich jak klasy wejścia-wyjścia, framework Collections, biblioteka strumieni oraz narzędzia programowania współbieżnego. Oczywiście szczegółowo został tu opisany inny niezwykle ważny element - system modułów Javy. Przedstawiono też interaktywne narzędzie programistyczne JShell. Podręcznik jest przejrzysty, napisany jasnym i zrozumiałym językiem, co zdecydowanie ułatwia naukę. Co ważne, poszczególne zagadnienia zilustrowano licznymi przykładowymi fragmentami kodu źródłowego. Z tak przygotowanego materiału skorzystają wszyscy programiści Javy, zarówno początkujący, jak i profesjonalni deweloperzy.

W tej książce między innymi:

  • zasady programowania obiektowego
  • klasy wejścia-wyjścia oraz obsługa wyjątków
  • interfejsy i pakiety
  • wnioskowanie typów zmiennych lokalnych
  • obsługa zdarzeń, moduły i wyrażenia lambda
  • AWT, Swing, JavaBean i serwlety

Nie znajdziesz bardziej wyczerpującego omówienia Javy!

Spis treści


O autorze 23

O redaktorze merytorycznym 24

Przedmowa 25

CZĘŚĆ I. JĘZYK JAVA

1. Historia i ewolucja języka Java 31

  • Rodowód Javy 31
    • Narodziny nowoczesnego języka - C 31
    • Język C++ - następny krok 33
    • Podwaliny języka Java 33
  • Powstanie języka Java 33
    • Powiązanie z językiem C# 35
  • Jak Java wywarła wpływ na internet 35
    • Aplety Javy 35
    • Bezpieczeństwo 36
    • Przenośność 36
  • Magia języka Java - kod bajtowy 37
  • Wychodząc poza aplety 38
  • Szybszy harmonogram udostępniania 38
  • Serwlety - Java po stronie serwera 39
  • Hasła języka Java 39
    • Prostota 40
    • Obiektowość 40
    • Niezawodność 40
    • Wielowątkowość 40
    • Neutralność architektury 41
    • Interpretowalność i wysoka wydajność 41
    • Rozproszenie 41
    • Dynamika 41
  • Ewolucja Javy 41
  • Kultura innowacji 46

2. Podstawy języka Java 47

  • Programowanie obiektowe 47
    • Dwa paradygmaty 47
    • Abstrakcja 48
    • Trzy zasady programowania obiektowego 48
  • Pierwszy przykładowy program 52
    • Wpisanie kodu programu 52
    • Kompilacja programów 53
    • Bliższe spojrzenie na pierwszy przykładowy program 53
  • Drugi prosty program 55
  • Dwie instrukcje sterujące 56
    • Instrukcja if 57
    • Pętla for 58
  • Bloki kodu 59
  • Kwestie składniowe 60
    • Znaki białe 60
    • Identyfikatory 60
    • Stałe 60
    • Komentarze 61
    • Separatory 61
    • Słowa kluczowe języka Java 61
  • Biblioteki klas Javy 62

3. Typy danych, zmienne i tablice 63

  • Java to język ze ścisłą kontrolą typów 63
  • Typy proste 63
  • Typy całkowitoliczbowe 64
    • Typ byte 64
    • Typ short 65
    • Typ int 65
    • Typ long 65
  • Typy zmiennoprzecinkowe 65
    • Typ float 66
    • Typ double 66
  • Typ znakowy 66
  • Typ logiczny 68
  • Bliższe spojrzenie na stałe 68
    • Stałe całkowitoliczbowe 68
    • Stałe zmiennoprzecinkowe 69
    • Stałe logiczne 70
    • Stałe znakowe 70
    • Stałe łańcuchowe 71
  • Zmienne 71
    • Deklaracja zmiennej 71
    • Inicjalizacja dynamiczna 72
    • Zasięg i czas życia zmiennych 72
  • Konwersja typów i rzutowanie 74
    • Automatyczna konwersja typów 74
    • Rzutowanie niezgodnych typów 75
  • Automatyczne rozszerzanie typów w wyrażeniach 76
    • Zasady rozszerzania typu 76
  • Tablice 77
    • Tablice jednowymiarowe 77
    • Tablice wielowymiarowe 79
    • Alternatywna składnia deklaracji tablicy 82
  • Wnioskowanie typów zmiennych lokalnych 83
    • Ograniczenia var 85
  • Kilka słów o łańcuchach 85

4. Operatory 87

  • Operatory arytmetyczne 87
    • Podstawowe operatory arytmetyczne 88
    • Operator reszty z dzielenia 88
    • Operatory arytmetyczne z przypisaniem 89
    • Inkrementacja i dekrementacja 90
  • Operatory bitowe 91
    • Logiczne operatory bitowe 92
    • Przesunięcie w lewo 94
    • Przesunięcie w prawo 95
    • Przesunięcie w prawo bez znaku 96
    • Operatory bitowe z przypisaniem 97
  • Operatory relacji 98
  • Operatory logiczne 99
    • Operatory logiczne ze skracaniem 100
  • Operator przypisania 101
  • Operator ? 101
  • Kolejność wykonywania operatorów 102
  • Stosowanie nawiasów okrągłych 102

5. Instrukcje sterujące 105

  • Instrukcje wyboru 105
    • Instrukcja if 105
    • Instrukcja switch 108
  • Instrukcje iteracyjne 111
    • Pętla while 112
    • Pętla do-while 113
    • Pętla for 115
    • Wersja for-each pętli for 118
    • Wnioskowanie typów zmiennych lokalnych w pętlach 122
    • Pętle zagnieżdżone 123
  • Instrukcje skoku 123
    • Instrukcja break 124
    • Instrukcja continue 127
    • Instrukcja return 128

6. Wprowadzenie do klas 129

  • Klasy 129
    • Ogólna postać klasy 129
    • Prosta klasa 130
  • Deklarowanie obiektów 132
    • Bliższe spojrzenie na operator new 133
  • Przypisywanie zmiennych referencyjnych do obiektów 133
  • Wprowadzenie do metod 134
    • Dodanie metody do klasy Box 134
    • Zwracanie wartości 136
    • Dodanie metody przyjmującej parametry 137
  • Konstruktor 139
    • Konstruktor sparametryzowany 140
  • Słowo kluczowe this 141
    • Ukrywanie zmiennych składowych 141
  • Mechanizm odzyskiwania pamięci 142
  • Klasa stosu 142

7. Dokładniejsze omówienie metod i klas 145

  • Przeciążanie metod 145
    • Przeciążanie konstruktorów 147
  • Obiekty jako parametry 149
  • Dokładniejsze omówienie przekazywania argumentów 151
  • Zwracanie obiektów 152
  • Rekurencja 153
  • Wprowadzenie do kontroli dostępu 155
  • Składowe statyczne 158
  • Słowo kluczowe final 159
  • Powtórka z tablic 160
  • Klasy zagnieżdżone i klasy wewnętrzne 161
  • Omówienie klasy String 164
  • Wykorzystanie argumentów wiersza poleceń 165
  • Zmienna liczba argumentów 166
    • Przeciążanie metod o zmiennej liczbie argumentów 169
    • Zmienna liczba argumentów i niejednoznaczności 170
  • Stosowanie wnioskowania typów zmiennych lokalnych z typami referencyjnymi 171

8. Dziedziczenie 173

  • Podstawy dziedziczenia 173
    • Dostęp do składowych a dziedziczenie 174
    • Bardziej praktyczny przykład 175
    • Zmienna klasy bazowej może zawierać referencję do obiektu klasy pochodnej 177
  • Słowo kluczowe super 178
    • Wykorzystanie słowa kluczowego super do wywołania konstruktora klasy bazowej 178
    • Drugie zastosowanie słowa kluczowego super 181
  • Tworzenie hierarchii wielopoziomowej 182
  • Kiedy są wykonywane konstruktory? 184
  • Przesłanianie metod 185
  • Dynamiczne przydzielanie metod 187
    • Dlaczego warto przesłaniać metody? 188
    • Zastosowanie przesłaniania metod 188
  • Klasy abstrakcyjne 190
  • Słowo kluczowe final i dziedziczenie 192
    • Słowo kluczowe final zapobiega przesłanianiu 192
    • Słowo kluczowe final zapobiega dziedziczeniu 193
  • Wnioskowanie typów zmiennych lokalnych a dziedziczenie 193
  • Klasa Object 195

9. Pakiety i interfejsy 197

  • Pakiety 197
    • Definiowanie pakietu 197
    • Znajdowanie pakietów i ścieżka CLASSPATH 198
    • Prosty przykład pakietu 199
  • Dostęp do pakietów i składowych 199
    • Przykład dostępu 200
  • Import pakietów 203
  • Interfejsy 204
    • Definiowanie interfejsu 205
    • Implementacja interfejsu 206
    • Interfejsy zagnieżdżone 208
    • Stosowanie interfejsów 209
    • Zmienne w interfejsach 211
    • Interfejsy można rozszerzać 213
  • Metody domyślne 214
    • Podstawy metod domyślnych 215
    • Bardziej praktyczny przykład 216
    • Problemy wielokrotnego dziedziczenia 217
  • Metody statyczne w interfejsach 217
  • Stosowanie metod prywatnych w interfejsach 218
  • Ostatnie uwagi dotyczące pakietów i interfejsów 219

10. Obsługa wyjątków 221

  • Podstawy obsługi wyjątków 221
  • Typy wyjątków 222
  • Nieprzechwycone wyjątki 222
  • Stosowanie instrukcji try i catch 223
    • Wyświetlenie opisu wyjątku 224
  • Wiele klauzul catch 225
  • Zagnieżdżone instrukcje try 226
  • Instrukcja throw 228
  • Klauzula throws 229
  • Słowo kluczowe finally 229
  • Wyjątki wbudowane w język Java 231
  • Tworzenie własnej klasy pochodnej wyjątków 231
  • Łańcuch wyjątków 234
  • Trzy dodatkowe cechy wyjątków 235
  • Wykorzystanie wyjątków 236

11. Programowanie wielowątkowe 237

  • Model wątków języka Java 238
    • Priorytety wątków 239
    • Synchronizacja 239
    • Przekazywanie komunikatów 240
    • Klasa Thread i interfejs Runnable 240
  • Wątek główny 240
  • Tworzenie wątku 242
    • Implementacja interfejsu Runnable 242
    • Rozszerzanie klasy Thread 244
    • Wybór odpowiedniego podejścia 244
  • Tworzenie wielu wątków 245
  • Stosowanie metod isAlive() i join() 246
  • Priorytety wątków 248
  • Synchronizacja 249
    • Synchronizacja metod 249
    • Instrukcja synchronized 251
  • Komunikacja międzywątkowa 252
    • Zakleszczenie 256
  • Zawieszanie, wznawianie i zatrzymywanie wątków 258
  • Uzyskiwanie stanu wątku 260
  • Stosowanie metody wytwórczej do tworzenia i uruchamiania wątku 261
  • Korzystanie z wielowątkowości 262

12. Wyliczenia, automatyczne opakowywanie typów prostych i adnotacje 263

  • Typy wyliczeniowe 263
    • Podstawy wyliczeń 263
    • Metody values() i valueOf() 265
    • Wyliczenia Javy jako typy klasowe 266
    • Wyliczenia dziedziczą po klasie Enum 268
    • Inny przykład wyliczenia 269
  • Opakowania typów 271
    • Klasa Character 271
    • Klasa Boolean 271
    • Opakowania typów numerycznych 272
  • Automatyczne opakowywanie typów prostych 273
    • Automatyczne opakowywanie i metody 274
    • Automatyczne opakowywanie i rozpakowywanie w wyrażeniach 274
    • Automatyczne opakowywanie typów znakowych i logicznych 276
    • Automatyczne opakowywanie pomaga zapobiegać błędom 276
    • Słowo ostrzeżenia 277
  • Adnotacje 277
    • Podstawy tworzenia adnotacji 278
    • Określanie strategii zachowywania adnotacji 278
    • Odczytywanie adnotacji w trakcie działania programu za pomocą refleksji 279
    • Interfejs AnnotatedElement 283
    • Wartości domyślne 283
    • Adnotacje znacznikowe 285
    • Adnotacje jednoelementowe 285
    • Wbudowane adnotacje 287
  • Adnotacje typów 288
  • Adnotacje powtarzalne 292
  • Ograniczenia 294

13. Wejście-wyjście, instrukcja try z zasobami i inne tematy 295

  • Podstawowa obsługa wejścia i wyjścia 295
    • Strumienie 296
    • Strumienie znakowe i bajtowe 296
    • Predefiniowane strumienie 298
  • Odczyt danych z konsoli 298
    • Odczyt znaków 298
    • Odczyt łańcuchów 299
  • Wyświetlanie informacji na konsoli 301
  • Klasa PrintWriter 301
  • Odczyt i zapis plików 302
  • Automatyczne zamykanie pliku 307
  • Modyfikatory transient i volatile 310
  • Operator instanceof 311
  • Modyfikator strictfp 313
  • Metody napisane w kodzie rdzennym 313
  • Stosowanie asercji 313
    • Opcje włączania i wyłączania asercji 315
  • Import statyczny 316
  • Wywoływanie przeciążonych konstruktorów za pomocą this() 318
  • Kilka słów o kompaktowych profilach API 320

14. Typy sparametryzowane 321

  • Czym są typy sparametryzowane? 321
  • Prosty przykład zastosowania typów sparametryzowanych 322
    • Typy sparametryzowane działają tylko dla typów referencyjnych 325
    • Typy sparametryzowane różnią się, jeśli mają inny argument typu 325
    • W jaki sposób typy sparametryzowane zwiększają bezpieczeństwo? 325
  • Klasa sparametryzowana z dwoma parametrami typu 327
  • Ogólna postać klasy sparametryzowanej 328
  • Typy ograniczone 328
  • Zastosowanie argumentów wieloznacznych 330
    • Ograniczony argument wieloznaczny 333
  • Tworzenie metody sparametryzowanej 337
    • Konstruktory sparametryzowane 338
  • Interfejsy sparametryzowane 339
  • Typy surowe i starszy kod 341
  • Hierarchia klas sparametryzowanych 343
    • Zastosowanie sparametryzowanej klasy bazowej 343
    • Podklasa sparametryzowana 345
    • Porównywanie typów w hierarchii klas sparametryzowanych w czasie wykonywania 346
    • Rzutowanie 348
    • Przesłanianie metod w klasach sparametryzowanych 348
  • Wnioskowanie typów a typy sparametryzowane 349
  • Wnioskowanie typów zmiennych lokalnych a typy sparametryzowane 350
  • Znoszenie 350
    • Metody mostu 351
  • Błędy niejednoznaczności 352
  • Pewne ograniczenia typów sparametryzowanych 353
    • Nie można tworzyć egzemplarza parametru typu 353
    • Ograniczenia dla składowych statycznych 354
    • Ograniczenia tablic typów sparametryzowanych 354
    • Ograniczenia wyjątków typów sparametryzowanych 355

15. Wyrażenia lambda 357

  • Wprowadzenie do wyrażeń lambda 357
    • Podstawowe informacje o wyrażeniach lambda 358
    • Interfejsy funkcyjne 358
    • Kilka przykładów wyrażeń lambda 359
  • Blokowe wyrażenia lambda 362
  • Sparametryzowane interfejsy funkcyjne 364
  • Przekazywanie wyrażeń lambda jako argumentów 365
  • Wyrażenia lambda i wyjątki 368
  • Wyrażenia lambda i przechwytywanie zmiennych 369
  • Referencje do metod 370
    • Referencje do metod statycznych 370
    • Referencje do metod instancyjnych 371
    • Referencje do metod a typy sparametryzowane 374
  • Referencje do konstruktorów 376
  • Predefiniowane interfejsy funkcyjne 380

16. Moduły 383

  • Podstawowe informacje o modułach 383
    • Przykład prostego modułu 384
    • Kompilowanie i uruchamianie przykładowej aplikacji 388
    • Dokładniejsze informacje o instrukcjach requires i exports 389
  • java.base i moduły platformy 390
  • Stary kod i moduł nienazwany 390
  • Eksportowanie do konkretnego modułu 391
  • Wymagania przechodnie 392
  • Stosowanie usług 396
    • Podstawowe informacje o usługach i dostawcach usług 396
    • Słowa kluczowe związane z usługami 397
    • Przykład stosowania usług i modułów 397
  • Grafy modułów 403
  • Trzy wyspecjalizowane cechy modułów 404
    • Moduły otwarte 404
    • Instrukcja opens 404
    • Instrukcja requires static 404
  • Wprowadzenie do jlink i plików JAR modułów 405
    • Dołączanie plików dostarczonych jako struktura katalogów 405
    • Konsolidacja modularnych plików JAR 405
    • Pliki JMOD 406
  • Kilka słów o warstwach i modułach automatycznych 406
  • Końcowe uwagi dotyczące modułów 407

CZĘŚĆ II. BIBLIOTEKA JĘZYKA JAVA

17. Obsługa łańcuchów 411

  • Konstruktory klasy String 411
  • Długość łańcucha 413
  • Specjalne operacje na łańcuchach 413
    • Literały tekstowe 413
    • Konkatenacja łańcuchów 414
    • Konkatenacja łańcuchów z innymi typami danych 414
    • Konwersja łańcuchów i metoda toString() 415
  • Wyodrębnianie znaków 416
    • Metoda charAt() 416
    • Metoda getChars() 416
    • Metoda getBytes() 416
    • Metoda toCharArray() 417
  • Porównywanie łańcuchów 417
    • Metody equals() i equalsIgnoreCase() 417
    • Metoda regionMatches() 418
    • Metody startsWith() i endsWith() 418
    • Metoda equals() kontra operator == 418
    • Metoda compareTo() 419
  • Przeszukiwanie łańcuchów 420
  • Modyfikowanie łańcucha 421
    • Metoda substring() 421
    • Metoda concat() 422
    • Metoda replace() 422
    • Metody trim() i strip() 423
  • Konwersja danych za pomocą metody valueOf() 424
  • Zmiana wielkości liter w łańcuchu 424
  • Łączenie łańcuchów 425
  • Dodatkowe metody klasy String 425
  • Klasa StringBuffer 426
    • Konstruktory klasy StringBuffer 427
    • Metody length() i capacity() 427
    • Metoda ensureCapacity() 427
    • Metoda setLength() 428
    • Metody charAt() i setCharAt() 428
    • Metoda getChars() 428
    • Metoda append() 429
    • Metoda insert() 429
    • Metoda reverse() 430
    • Metody delete() i deleteCharAt() 430
    • Metoda replace() 431
    • Metoda substring() 431
    • Dodatkowe metody klasy StringBuffer 431
  • Klasa StringBuilder 432

18. Pakiet java.lang 433

  • Opakowania typów prostych 433
    • Klasa Number 434
    • Klasy Double i Float 434
    • Metody isInfinite() i isNan() 437
    • Klasy Byte, Short, Integer i Long 437
    • Klasa Character 445
    • Dodatki wprowadzone w celu obsługi punktów kodowych Unicode 446
    • Klasa Boolean 449
  • Klasa Void 449
  • Klasa Process 450
  • Klasa Runtime 451
    • Zarządzanie pamięcią 452
    • Wykonywanie innych programów 453
  • Runtime.Version 453
  • Klasa ProcessBuilder 455
  • Klasa System 457
    • Wykorzystanie metody currentTimeMillis() do obliczania czasu wykonywania programu 458
    • Użycie metody arraycopy() 459
    • Właściwości środowiska 459
  • Interfejs System.Logger i klasa System.LoggerFinder 460
  • Klasa Object 460
  • Wykorzystanie metody clone() i interfejsu Cloneable 460
  • Klasa Class 462
  • Klasa ClassLoader 465
  • Klasa Math 465
    • Funkcje trygonometryczne 465
    • Funkcje wykładnicze 466
    • Funkcje zaokrągleń 466
    • Inne metody klasy Math 467
  • Klasa StrictMath 469
  • Klasa Compiler 469
  • Klasy Thread i ThreadGroup oraz interfejs Runnable 469
    • Interfejs Runnable 469
    • Klasa Thread 470
    • Klasa ThreadGroup 472
  • Klasy ThreadLocal i InheritableThreadLocal 475
  • Klasa Package 475
  • Klasa Module 476
  • Klasa ModuleLayer 477
  • Klasa RuntimePermission 477
  • Klasa Throwable 477
  • Klasa SecurityManager 477
  • Klasa StackTraceElement 477
  • Klasa StackWalker i interfejs StackWalker.StackFrame 478
  • Klasa Enum 478
  • Klasa ClassValue 479
  • Interfejs CharSequence 479
  • Interfejs Comparable 480
  • Interfejs Appendable 480
  • Interfejs Iterable 480
  • Interfejs Readable 481
  • Interfejs AutoCloseable 481
  • Interfejs Thread.UncaughtExceptionHandler 481
  • Podpakiety pakietu java.lang 481
    • Podpakiet java.lang.annotation 482
    • Podpakiet java.lang.instrument 482
    • Podpakiet java.lang.invoke 482
    • Podpakiet java.lang.management 482
    • Podpakiet java.lang.module 482
    • Podpakiet java.lang.ref 482
    • Podpakiet java.lang.reflect 482

19. Pakiet java.util, część 1. - kolekcje 483

  • Wprowadzenie do kolekcji 484
  • Interfejsy kolekcji 485
    • Interfejs Collection 486
    • Interfejs List 488
    • Interfejs Set 489
    • Interfejs SortedSet 490
    • Interfejs NavigableSet 490
    • Interfejs Queue 491
    • Interfejs Deque 492
  • Klasy kolekcji 493
    • Klasa ArrayList 494
    • Klasa LinkedList 497
    • Klasa HashSet 498
    • Klasa LinkedHashSet 499
    • Klasa TreeSet 499
    • Klasa PriorityQueue 501
    • Klasa ArrayDeque 501
    • Klasa EnumSet 502
  • Dostęp do kolekcji za pomocą iteratora 502
    • Korzystanie z iteratora Iterator 504
    • Pętla typu for-each jako alternatywa dla iteratora 505
  • Spliteratory 506
  • Przechowywanie w kolekcjach własnych klas 509
  • Interfejs RandomAccess 510
  • Korzystanie z map 510
    • Interfejsy map 510
    • Klasy map 516
  • Komparatory 520
    • Wykorzystanie komparatora 522
  • Algorytmy kolekcji 526
  • Klasa Arrays 531
  • Starsze klasy i interfejsy 535
    • Interfejs Enumeration 535
    • Klasa Vector 536
    • Klasa Stack 539
    • Klasa Dictionary 540
    • Klasa Hashtable 541
    • Klasa Properties 544
    • Wykorzystanie metod store() i load() 547
  • Ostatnie uwagi na temat kolekcji 548

20. Pakiet java.util, część 2. - pozostałe klasy użytkowe 549

  • Klasa StringTokenizer 549
  • Klasa BitSet 551
  • Klasy Optional, OptionalDouble, OptionalInt oraz OptionalLong 553
  • Klasa Date 556
  • Klasa Calendar 557
  • Klasa GregorianCalendar 560
  • Klasa TimeZone 561
  • Klasa SimpleTimeZone 562
  • Klasa Locale 563
  • Klasa Random 564
  • Klasy Timer i TimerTask 566
  • Klasa Currency 568
  • Klasa Formatter 569
    • Konstruktory klasy Formatter 570
    • Metody klasy Formatter 570
    • Podstawy formatowania 570
    • Formatowanie łańcuchów i znaków 573
    • Formatowanie liczb 573
    • Formatowanie daty i godziny 574
    • Specyfikatory %n i %% 575
    • Określanie minimalnej szerokości pola 576
    • Określanie precyzji 577
    • Używanie znaczników (flag) formatów 578
    • Wyrównywanie danych wyjściowych 578
    • Znaczniki spacji, plusa, zera i nawiasów 579
    • Znacznik przecinka 580
    • Znacznik # 580
    • Opcja wielkich liter 580
    • Stosowanie indeksu argumentu 581
    • Zamykanie obiektu klasy Formatter 582
    • Metoda printf() w Javie 582
  • Klasa Scanner 582
    • Konstruktory klasy Scanner 583
    • Podstawy skanowania 584
    • Kilka przykładów użycia klasy Scanner 587
    • Ustawianie separatorów 590
    • Pozostałe elementy klasy Scanner 591
  • Klasy ResourceBundle, ListResourceBundle i PropertyResourceBundle 592
  • Dodatkowe klasy i interfejsy użytkowe 596
  • Podpakiety pakietu java.util 597
    • java.util.concurrent, java.util.concurrent.atomic oraz java.util.concurrent.locks 598
    • java.util.function 598
    • java.util.jar 600
    • java.util.logging 600
    • java.util.prefs 600
    • java.util.regex 600
    • java.util.spi 601
    • java.util.stream 601
    • java.util.zip 601

21. Operacje wejścia-wyjścia: analiza pakietu java.io 603

  • Klasy i interfejsy obsługujące operacje wejścia-wyjścia 604
  • Klasa File 604
    • Katalogi 607
    • Stosowanie interfejsu FilenameFilter 608
    • Alternatywna metoda listFiles() 609
    • Tworzenie katalogów 609
  • Interfejsy AutoCloseable, Closeable i Flushable 609
  • Wyjątki operacji wejścia-wyjścia 610
  • Dwa sposoby zamykania strumieni 610
  • Klasy strumieni 611
  • Strumienie bajtów 612
    • Klasa InputStream 612
    • Klasa OutputStream 613
    • Klasa FileInputStream 613
    • Klasa FileOutputStream 615
    • Klasa ByteArrayInputStream 617
    • Klasa ByteArrayOutputStream 618
    • Filtrowane strumienie bajtów 620
    • ...
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-5883-6
Rozmiar pliku: 7,7 MB

BESTSELLERY

Kategorie: