- Ocena:
- 4.8/6 Opinie: 98
- Stron:
- 768
- Druk:
- oprawa twarda
- Dostępne formaty:
-
PDFePubMobi
![Wyłącznie](https://static01.helion.com.pl/ebookpoint/img/img_wylacznie.png)
Opis ebooka: Java. Podstawy. Wydanie XI
Świat usłyszał o Javie pod koniec 1995 roku. Wkrótce stała się niezwykle popularną i cenioną technologią. Dziś jest dojrzałym, rozbudowanym, elastycznym, a przy tym niezwykle starannie zaprojektowanym językiem programowania, który może służyć do pisania dużych systemów, małych programów, aplikacji mobilnych i aplikacji WWW. Charakteryzuje się też wysublimowanymi zabezpieczeniami, które w niego wbudowano. Każdy, kto chce pisać dobry i wydajny kod, powinien dobrze poznać zarówno podstawowe, jak i zaawansowane cechy Javy.
Ta książka jest kolejnym, zaktualizowanym i uzupełnionym wydaniem kultowego podręcznika dla profesjonalnych programistów Javy - to pierwszy tom, w którym omówiono podstawy języka oraz najważniejsze zagadnienia związane z programowaniem interfejsu użytkownika. W tym wydaniu opisano pakiet JDK Java Standard Edition (SE) w wersji 9, 10 i 11. Teorii towarzyszą liczne przykłady kodu, obrazujące zasady działania niemal każdej przedstawionej tu funkcji czy biblioteki. Przykładowe programy są proste, aby ułatwić naukę najważniejszych zagadnień.
W tej książce między innymi:
- solidne wprowadzenie do Javy i przygotowanie środowiska pracy
- zasady programowania obiektowego: klasy, hermetyzacja, dziedziczenie
- mechanizm refleksji i obiekty proxy
- interfejsy, klasy wewnętrzne i wyrażenia lambda
- programowanie generyczne i system kolekcji
- GUI i praca z pakietem Swing
- programowanie współbieżne
Java - oto język mistrzów programowania!
![Summer BOOOK FEST / Ebooki -50%, książki -40%, audiobooki po 12,90zł](https://static01.helion.com.pl/ebookpoint/img/promocje/bannery/19761/Ebp_summer_book_fest_2024_Sonia_d910d93e4_1180x419_.png)
Wybrane bestsellery
-
This course offers an in-depth introduction to Java and algorithmic thinking, ideal for beginners. Starting with fundamental computer concepts, it progresses through Java programming basics, & algorithmic principles, concluding with file management.
Java and Algorithmic Thinking for the Complete Beginner. From Basics to Advanced Techniques: Master Java and Algorithms for a Robust Programming Foundation Java and Algorithmic Thinking for the Complete Beginner. From Basics to Advanced Techniques: Master Java and Algorithms for a Robust Programming Foundation
-
Książka Java. Teoria w praktyce została pomyślana tak, by krok po kroku przybliżać specyfikę tego języka programowania. Zaczniesz od podstaw - poznasz między innymi główne założenia, zgodnie z którymi działa Java: maszynę wirtualną, zmienne, operatory, instrukcje sterujące i tablice - by następni...(70.85 zł najniższa cena z 30 dni)
65.40 zł
109.00 zł(-40%) -
Architect robust solutions like a pro with real-world insights and cutting-edge design techniques. Delve into advanced analytics, machine learning, generative AI, cloud-native architecture, and the key soft skills to excel as a solutions architect.
Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition Solutions Architect's Handbook. Kick-start your career with architecture design principles, strategies, and generative AI techniques - Third Edition
Saurabh Shrivastava, Neelanjali Srivastav, Rajesh Sheth, Kamal Arora, Rohan Karmarkar
-
To dziewiąte wydanie znakomitego podręcznika programowania dla początkujących, starannie zaktualizowane i uzupełnione o informacje dotyczące Java Platform, Standard Edition 17. Książka rozpoczyna się od solidnej dawki wiedzy o kompilacji i uruchamianiu programu w Javie, słowach kluczowych i istot...(77.40 zł najniższa cena z 30 dni)
77.40 zł
129.00 zł(-40%) -
Dzięki tej książce zrozumiesz bazowe koncepcje programowania funkcyjnego i przekonasz się, że możesz włączać je do kodu bez rezygnacji z paradygmatu obiektowego. Dowiesz się również, kiedy w swojej codziennej pracy używać takich opcji jak niemutowalność i funkcje czyste i dlaczego warto to robić....
Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego Java. Podejście funkcyjne. Rozszerzanie obiektowego kodu Javy o zasady programowania funkcyjnego
(52.20 zł najniższa cena z 30 dni)52.20 zł
87.00 zł(-40%) -
Build Your Own Programming Language provides a hands-on approach to designing and implementing programming language features in a simple compiler and programming environment. This book will help you create new or domain-specific languages.
Build Your Own Programming Language. A programmer's guide to designing compilers, interpreters, and DSLs for modern computing problems - Second Edition Build Your Own Programming Language. A programmer's guide to designing compilers, interpreters, and DSLs for modern computing problems - Second Edition
-
Java. Podręcznik na start to pozycja idealna dla każdego, kto chce podjąć takie kroki. W przystępny sposób zaznajamia nie tylko z językiem, ale też z podstawowymi koncepcjami stosowanymi podczas programowania - w obrazowy sposób przyrównuje je do sytuacji znanych spoza świata wirtualnego. Autor n...(41.40 zł najniższa cena z 30 dni)
41.40 zł
69.00 zł(-40%) -
Java należy do najpopularniejszych języków programowania na świecie. Używana przez miliony programistów, jest na tyle uniwersalna, że znajduje zastosowanie zarówno w aplikacjach desktopowych, mobilnych, jak i serwerowych, a także w zaawansowanych systemach zarządzania bazami danych. Z jej zalet k...
Java 21. Kurs video. Od "Hello World!" do programowania obiektowego Java 21. Kurs video. Od "Hello World!" do programowania obiektowego
(44.55 zł najniższa cena z 30 dni)44.55 zł
99.00 zł(-55%) -
Oto kolejne wydanie zwięzłego podręcznika dla programistów Javy, który ma ułatwić maksymalne wykorzystanie technologii tego języka w wersji 17. Treść została skrupulatnie przejrzana i uzupełniona o materiał dotyczący nowości w obiektowym modelu Javy. Pierwsza część książki obejmuje wprowadzenie d...(53.40 zł najniższa cena z 30 dni)
53.40 zł
89.00 zł(-40%)
O autorze ebooka
Cay S. Horstmann jest głównym autorem książek Java. Podstawy. Wydanie IX i Java. Techniki zaawansowane. Wydanie IX - najpopularniejszych w Polsce podręczników do nauki Javy. Cay jest profesorem informatyki na Uniwersytecie Stanowym w San José, ma tytuł Java Champion i często wygłasza odczyty na konferencjach związanych z branżą komputerową.
Cay S. Horstmann - pozostałe książki
-
Oto zaktualizowane i uzupełnione wydanie zwięzłego wprowadzenia do Javy SE 17, przeznaczonego dla profesjonalnych programistów Javy. Przedstawiono w nim wszystkie istotne zagadnienia, łącznie z takimi koncepcjami jak wyrażenia lambda i strumienie, nowoczesnymi konstrukcjami, jak rekordy i klasy z...
Java. Przewodnik doświadczonego programisty. Wydanie III Java. Przewodnik doświadczonego programisty. Wydanie III
(53.40 zł najniższa cena z 30 dni)53.40 zł
89.00 zł(-40%) -
Oto kolejne, przejrzane, zaktualizowane i uzupełnione wydanie znakomitego podręcznika dla zawodowych programistów Javy. Znalazł się tu dokładny opis sposobów tworzenia interfejsu użytkownika, stosowania rozwiązań korporacyjnych, sieciowych i zabezpieczeń, a także nowości wprowadzonych w JDK 11. P...(74.50 zł najniższa cena z 30 dni)
74.50 zł
149.00 zł(-50%) -
Ta książka jest kompletnym i zwięzłym kompendium praktycznego wykorzystania Javy. Została pomyślana w taki sposób, aby nauka języka i bibliotek odbywała się możliwie szybko. Omówiono tu bardzo dużo materiału, ale jego uporządkowanie i sposób prezentacji ułatwiają szybki dostęp do danego zagadnien...
Java 9. Przewodnik doświadczonego programisty. Wydanie II Java 9. Przewodnik doświadczonego programisty. Wydanie II
(39.50 zł najniższa cena z 30 dni)39.50 zł
79.00 zł(-50%) -
Książka ta jest kolejnym, gruntownie zaktualizowanym i przeorganizowanym wydaniem czołowego podręcznika dla poważnych programistów Javy, którzy chcą skorzystać z nowych możliwości języka. W tym drugim z dwóch tomów książki opisano zagadnienia zaawansowane, takie jak API strumieni, biblioteki do o...(74.50 zł najniższa cena z 30 dni)
74.50 zł
149.00 zł(-50%) -
Opisano tu podstawy języka oraz najważniejsze zagadnienia związane z programowaniem interfejsu użytkownika. Przedstawiono pakiet Java Development Kit. Pakiet ten obejmuje obecnie tak różne aspekty tworzenia aplikacji, jak konstruowanie interfejsu użytkownika, zarządzanie bazami danych, internacjo...(49.50 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
Jeśli jesteś posiadasz doświadzenie w programowaniu Javy, praktyczne podejście Horstmanna i przykładowe kody pomogą Ci szybko wykorzystać wyrażenia lambda, strumienie i inne usprawnienia wprowadzone zarówno do języka jak i platformy Java. Horstmann omawia wszystko, co powinni wiedzieć deweloperzy...(34.50 zł najniższa cena z 30 dni)
34.50 zł
69.00 zł(-50%) -
Kolejne wydanie tej cenionej książki zostało zaktualizowane o wszystkie nowości, które pojawiły się w wersji 7 platformy Java Standard Edition. W trakcie lektury poznasz składnię języka oraz wszystkie istotne kwestie związane z programowaniem w Javie. Zrozumiesz założenia programowania obiektoweg...(49.50 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł(-50%) -
Dziewiąte wydanie bestsellerowej pozycji Java. Techniki zaawansowane zostało zaktualizowane i uzupełnione o nowinki z najnowszej wersji języka Java oznaczonej numerem 7. W trakcie lektury dowiesz się, jak wydajnie korzystać ze strumieni, wyrażeń regularnych oraz baz danych. Java 7 to całkowicie n...(74.50 zł najniższa cena z 30 dni)
74.50 zł
149.00 zł(-50%) -
Oto polska edycja popularnego podręcznika opartego na naukowych podstawach skutecznego uczenia. To znakomite wprowadzenie do podstawowych technik programowania i umiejętności projektowania pozwala łatwo, a przy tym dogłębnie opanować elementarne pojęcia. W przystępny sposób omawia najistotniejsze...
Wprowadzenie do C++. Efektywne nauczanie. Wydanie III Wprowadzenie do C++. Efektywne nauczanie. Wydanie III
(99.50 zł najniższa cena z 30 dni)99.50 zł
199.00 zł(-50%)
Ebooka "Java. Podstawy. Wydanie XI" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Java. Podstawy. Wydanie XI" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Java. Podstawy. Wydanie XI" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Core Java Volume I - Fundamentals (11th Edition)
- Tłumaczenie:
- Łukasz Piwko
- ISBN Książki drukowanej:
- 978-83-283-5778-5, 9788328357785
- Data wydania książki drukowanej:
- 2019-11-26
- ISBN Ebooka:
- 978-83-283-5779-2, 9788328357792
- Data wydania ebooka:
-
2019-11-26
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 164x239
- Numer z katalogu:
- 95888
- Rozmiar pliku Pdf:
- 6.6MB
- Rozmiar pliku ePub:
- 6.8MB
- Rozmiar pliku Mobi:
- 16.3MB
- Pobierz przykładowy rozdział PDF
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Zgłoś erratę
- Serie wydawnicze: Core
Spis treści ebooka
- Do Czytelnika 13
- O książce 15
- Konwencje typograficzne 17
- Przykłady kodu 17
- 1.1. Java jako platforma programistyczna 21
- 1.2. Słowa klucze białej księgi Javy 22
- 1.2.1. Prostota 23
- 1.2.2. Obiektowość 23
- 1.2.3. Sieciowość 24
- 1.2.4. Niezawodność 24
- 1.2.5. Bezpieczeństwo 24
- 1.2.6. Niezależność od architektury 25
- 1.2.7. Przenośność 26
- 1.2.8. Interpretacja 26
- 1.2.9. Wysoka wydajność 27
- 1.2.10. Wielowątkowość 27
- 1.2.11. Dynamiczność 27
- 1.3. Aplety Javy i internet 28
- 1.4. Krótka historia Javy 29
- 1.5. Główne nieporozumienia dotyczące Javy 32
- 2.1. Instalacja oprogramowania Java Development Kit 35
- 2.1.1. Pobieranie pakietu JDK 36
- 2.1.2. Instalacja pakietu JDK 37
- 2.1.3. Instalacja plików źródłowych i dokumentacji 39
- 2.2. Używanie narzędzi wiersza poleceń 40
- 2.3. Praca w zintegrowanym środowisku programistycznym 45
- 2.4. JShell 48
- 3.1. Prosty program w Javie 52
- 3.2. Komentarze 55
- 3.3. Typy danych 56
- 3.3.1. Typy całkowite 56
- 3.3.2. Typy zmiennoprzecinkowe 57
- 3.3.3. Typ char 58
- 3.3.4. Unicode i typ char 60
- 3.3.5. Typ boolean 61
- 3.4. Zmienne i stałe 61
- 3.4.1. Deklarowanie zmiennych 61
- 3.4.2. Inicjalizacja zmiennych 62
- 3.4.3. Stałe 63
- 3.4.4. Typ wyliczeniowy 64
- 3.5. Operatory 65
- 3.5.1. Operatory arytmetyczne 65
- 3.5.2. Funkcje i stałe matematyczne 66
- 3.5.3. Konwersja typów numerycznych 68
- 3.5.4. Rzutowanie 68
- 3.5.5. Łączenie przypisania z innymi operatorami 69
- 3.5.6. Operatory inkrementacji i dekrementacji 70
- 3.5.7. Operatory relacyjne i logiczne 70
- 3.5.8. Operatory bitowe 71
- 3.5.9. Nawiasy i priorytety operatorów 72
- 3.6. Łańcuchy 73
- 3.6.1. Podłańcuchy 73
- 3.6.2. Konkatenacja 74
- 3.6.3. Łańcuchów nie można modyfikować 74
- 3.6.4. Porównywanie łańcuchów 76
- 3.6.5. Łańcuchy puste i łańcuchy null 77
- 3.6.6. Współrzędne kodowe znaków i jednostki kodowe 77
- 3.6.7. API String 78
- 3.6.8. Dokumentacja API w internecie 81
- 3.6.9. Składanie łańcuchów 84
- 3.7. Wejście i wyjście 85
- 3.7.1. Odbieranie danych wejściowych 85
- 3.7.2. Formatowanie danych wyjściowych 88
- 3.7.3. Zapis i odczyt plików 92
- 3.8. Sterowanie wykonywaniem programu 94
- 3.8.1. Zasięg blokowy 94
- 3.8.2. Instrukcje warunkowe 95
- 3.8.3. Pętle 98
- 3.8.4. Pętle o określonej liczbie powtórzeń 101
- 3.8.5. Wybór wielokierunkowy - instrukcja switch 105
- 3.8.6. Instrukcje przerywające przepływ sterowania 107
- 3.9. Wielkie liczby 110
- 3.10. Tablice 112
- 3.10.1. Deklarowanie tablic 112
- 3.10.2. Dostęp do elementów tablicy 114
- 3.10.3. Pętla typu for each 114
- 3.10.4. Kopiowanie tablicy 115
- 3.10.5. Parametry wiersza poleceń 116
- 3.10.6. Sortowanie tablicy 117
- 3.10.7. Tablice wielowymiarowe 120
- 3.10.8. Tablice postrzępione 122
- 4.1. Wstęp do programowania obiektowego 128
- 4.1.1. Klasy 129
- 4.1.2. Obiekty 129
- 4.1.3. Identyfikacja klas 130
- 4.1.4. Relacje między klasami 131
- 4.2. Używanie klas predefiniowanych 132
- 4.2.1. Obiekty i zmienne obiektów 133
- 4.2.2. Klasa LocalDate 135
- 4.2.3. Metody udostępniające i zmieniające wartość elementu 137
- 4.3. Definiowanie własnych klas 141
- 4.3.1. Klasa Employee 141
- 4.3.2. Używanie wielu plików źródłowych 144
- 4.3.3. Analiza klasy Employee 144
- 4.3.4. Pierwsze kroki w tworzeniu konstruktorów 145
- 4.3.5. Deklarowanie zmiennych lokalnych za pomocą słowa kluczowego var 146
- 4.3.6. Praca z referencjami null 147
- 4.3.7. Parametry jawne i niejawne 148
- 4.3.8. Korzyści z hermetyzacji 149
- 4.3.9. Przywileje klasowe 151
- 4.3.10. Metody prywatne 152
- 4.3.11. Stałe jako pola klasy 152
- 4.4. Pola i metody statyczne 153
- 4.4.1. Pola statyczne 153
- 4.4.2. Stałe statyczne 154
- 4.4.3. Metody statyczne 155
- 4.4.4. Metody fabryczne 156
- 4.4.5. Metoda main 156
- 4.5. Parametry metod 159
- 4.6. Konstruowanie obiektów 165
- 4.6.1. Przeciążanie 165
- 4.6.2. Domyślna inicjalizacja pól 166
- 4.6.3. Konstruktor bezargumentowy 166
- 4.6.4. Jawna inicjalizacja pól 167
- 4.6.5. Nazywanie parametrów 168
- 4.6.6. Wywoływanie innego konstruktora 169
- 4.6.7. Bloki inicjalizujące 169
- 4.6.8. Niszczenie obiektów i metoda finalize 173
- 4.7. Pakiety 174
- 4.7.1. Nazwy pakietów 174
- 4.7.2. Importowanie klas 175
- 4.7.3. Importowanie statyczne 176
- 4.7.4. Dodawanie klasy do pakietu 177
- 4.7.5. Dostęp do pakietu 180
- 4.7.6. Ścieżka klas 181
- 4.7.7. Ustawianie ścieżki klas 183
- 4.8. Pliki JAR 184
- 4.8.1. Tworzenie plików JAR 184
- 4.8.2. Manifest 184
- 4.8.3. Wykonywalne pliki JAR 186
- 4.8.4. Pliki JAR z wieloma wersjami klas 187
- 4.8.5. Kilka uwag na temat opcji wiersza poleceń 188
- 4.9. Komentarze dokumentacyjne 189
- 4.9.1. Wstawianie komentarzy 190
- 4.9.2. Komentarze do klas 190
- 4.9.3. Komentarze do metod 191
- 4.9.4. Komentarze do pól 192
- 4.9.5. Komentarze ogólne 192
- 4.9.6. Komentarze do pakietów 193
- 4.9.7. Pobieranie komentarzy 194
- 4.10. Porady dotyczące projektowania klas 195
- 5.1. Klasy, nadklasy i podklasy 200
- 5.1.1. Definiowanie podklas 200
- 5.1.2. Przesłanianie metod 201
- 5.1.3. Konstruktory podklas 203
- 5.1.4. Hierarchia dziedziczenia 207
- 5.1.5. Polimorfizm 207
- 5.1.6. Zasady wywoływania metod 209
- 5.1.7. Wyłączanie dziedziczenia - klasy i metody finalne 211
- 5.1.8. Rzutowanie 212
- 5.1.9. Klasy abstrakcyjne 215
- 5.1.10. Ograniczanie dostępu 220
- 5.2. Kosmiczna klasa wszystkich klas - Object 221
- 5.2.1. Zmienne typu Object 221
- 5.2.2. Metoda equals 221
- 5.2.3. Porównywanie a dziedziczenie 223
- 5.2.4. Metoda hashCode 226
- 5.2.5. Metoda toString 228
- 5.3. Generyczne listy tablicowe 234
- 5.3.1. Deklarowanie list tablicowych 234
- 5.3.2. Dostęp do elementów listy tablicowej 237
- 5.3.3. Zgodność pomiędzy typowanymi a surowymi listami tablicowymi 240
- 5.4. Opakowania obiektów i automatyczne pakowanie 241
- 5.5. Metody ze zmienną liczbą parametrów 244
- 5.6. Klasy wyliczeniowe 246
- 5.7. Refleksja 248
- 5.7.1. Klasa Class 248
- 5.7.2. Podstawy deklarowania wyjątków 251
- 5.7.3. Zasoby 252
- 5.7.4. Zastosowanie refleksji w analizie funkcjonalności klasy 254
- 5.7.5. Refleksja w analizie obiektów w czasie działania programu 259
- 5.7.6. Zastosowanie refleksji w generycznym kodzie tablicowym 264
- 5.7.7. Wywoływanie dowolnych metod i konstruktorów 267
- 5.8. Porady projektowe dotyczące dziedziczenia 270
- 6.1. Interfejsy 274
- 6.1.1. Koncepcja interfejsu 274
- 6.1.2. Własności interfejsów 280
- 6.1.3. Interfejsy a klasy abstrakcyjne 281
- 6.1.4. Metody statyczne i prywatne 282
- 6.1.5. Metody domyślne 283
- 6.1.6. Wybieranie między metodami domyślnymi 284
- 6.1.7. Interfejsy i wywołania zwrotne 286
- 6.1.8. Interfejs Comparator 289
- 6.1.9. Klonowanie obiektów 290
- 6.2. Wyrażenia lambda 296
- 6.2.1. Po co w ogóle są lambdy 296
- 6.2.2. Składnia wyrażeń lambda 297
- 6.2.3. Interfejsy funkcyjne 299
- 6.2.4. Referencje do metod 301
- 6.2.5. Referencje do konstruktorów 305
- 6.2.6. Zakres dostępności zmiennych 306
- 6.2.7. Przetwarzanie wyrażeń lambda 308
- 6.2.8. Poszerzenie wiadomości o komparatorach 311
- 6.3. Klasy wewnętrzne 312
- 6.3.1. Dostęp do stanu obiektu w klasie wewnętrznej 313
- 6.3.2. Specjalne reguły składniowe dotyczące klas wewnętrznych 316
- 6.3.3. Czy klasy wewnętrzne są potrzebne i bezpieczne? 317
- 6.3.4. Lokalne klasy wewnętrzne 319
- 6.3.5. Dostęp do zmiennych finalnych z metod zewnętrznych 320
- 6.3.6. Anonimowe klasy wewnętrzne 321
- 6.3.7. Statyczne klasy wewnętrzne 325
- 6.4. Moduły ładowania usług 328
- 6.5. Klasy pośredniczące 331
- 6.5.1. Kiedy używać klas pośredniczących 331
- 6.5.2. Tworzenie obiektów pośredniczących 331
- 6.5.3. Właściwości klas pośredniczących 335
- 7.1. Obsługa błędów 338
- 7.1.1. Klasyfikacja wyjątków 339
- 7.1.2. Deklarowanie wyjątków kontrolowanych 341
- 7.1.3. Zgłaszanie wyjątków 343
- 7.1.4. Tworzenie klas wyjątków 344
- 7.2. Przechwytywanie wyjątków 345
- 7.2.1. Przechwytywanie wyjątku 345
- 7.2.2. Przechwytywanie wielu typów wyjątków 347
- 7.2.3. Powtórne generowanie wyjątków i budowanie łańcuchów wyjątków 348
- 7.2.4. Klauzula finally 350
- 7.2.5. Instrukcja try z zasobami 352
- 7.2.6. Analiza danych ze stosu wywołań 354
- 7.3. Wskazówki dotyczące stosowania wyjątków 358
- 7.4. Asercje 360
- 7.4.1. Koncepcja asercji 361
- 7.4.2. Włączanie i wyłączanie asercji 362
- 7.4.3. Zastosowanie asercji do sprawdzania parametrów 362
- 7.4.4. Zastosowanie asercji do dokumentowania założeń 364
- 7.5. Dzienniki 365
- 7.5.1. Podstawy zapisu do dziennika 366
- 7.5.2. Zaawansowane techniki zapisu do dziennika 366
- 7.5.3. Zmiana konfiguracji menedżera dzienników 368
- 7.5.4. Lokalizacja 370
- 7.5.5. Obiekty typu Handler 371
- 7.5.6. Filtry 374
- 7.5.7. Formatery 374
- 7.5.8. Przepis na dziennik 375
- 7.6. Wskazówki dotyczące debugowania 383
- 8.1. Dlaczego programowanie generyczne 390
- 8.1.1. Zalety parametrów typów 390
- 8.1.2. Dla kogo programowanie generyczne 391
- 8.2. Definicja prostej klasy generycznej 392
- 8.3. Metody generyczne 394
- 8.4. Ograniczenia zmiennych typowych 396
- 8.5. Kod generyczny a maszyna wirtualna 398
- 8.5.1. Wymazywanie typów 398
- 8.5.2. Translacja wyrażeń generycznych 399
- 8.5.3. Translacja metod generycznych 400
- 8.5.4. Używanie starego kodu 402
- 8.6. Ograniczenia i braki 403
- 8.6.1. Nie można podawać typów prostych jako parametrów typowych 403
- 8.6.2. Sprawdzanie typów w czasie działania programu jest możliwe tylko dla typów surowych 403
- 8.6.3. Nie można tworzyć tablic typów generycznych 404
- 8.6.4. Ostrzeżenia dotyczące zmiennej liczby argumentów 405
- 8.6.5. Nie wolno tworzyć egzemplarzy zmiennych typowych 406
- 8.6.6. Nie można utworzyć egzemplarza generycznej tablicy 407
- 8.6.7. Zmiennych typowych nie można używać w statycznych kontekstach klas generycznych 408
- 8.6.8. Obiektów klasy generycznej nie można generować ani przechwytywać 409
- 8.6.9. Można wyłączyć sprawdzanie wyjątków kontrolowanych 409
- 8.6.10. Uważaj na konflikty, które mogą powstać po wymazaniu typów 411
- 8.7. Zasady dziedziczenia dla typów generycznych 412
- 8.8. Typy wieloznaczne 414
- 8.8.1. Koncepcja typu wieloznacznego 414
- 8.8.2. Ograniczenia nadtypów typów wieloznacznych 415
- 8.8.3. Typy wieloznaczne bez ograniczeń 418
- 8.8.4. Chwytanie typu wieloznacznego 418
- 8.9. Refleksja a typy generyczne 421
- 8.9.1. Generyczna klasa Class 421
- 8.9.2. Zastosowanie parametrów Class
do dopasowywania typów 422 - 8.9.3. Informacje o typach generycznych w maszynie wirtualnej 422
- 8.9.4. Literały typowe 426
- 9.1. Architektura kolekcji Javy 434
- 9.1.1. Oddzielenie warstwy interfejsów od warstwy klas konkretnych 434
- 9.1.2. Interfejs Collection 436
- 9.1.3. Iteratory 437
- 9.1.4. Generyczne metody użytkowe 439
- 9.2. Interfejsy w systemie kolekcji Javy 442
- 9.3. Konkretne klasy kolekcyjne 445
- 9.3.1. Listy powiązane 445
- 9.3.2. Listy tablicowe 454
- 9.3.3. Zbiór HashSet 454
- 9.3.4. Zbiór TreeSet 458
- 9.3.5. Kolejki Queue i Deque 462
- 9.3.6. Kolejki priorytetowe 464
- 9.4. Słowniki 465
- 9.4.1. Podstawowe operacje słownikowe 465
- 9.4.2. Modyfikowanie wpisów w słowniku 468
- 9.4.3. Widoki słowników 470
- 9.4.4. Klasa WeakHashMap 471
- 9.4.5. Klasy LinkedHashSet i LinkedHashMap 472
- 9.4.6. Klasy EnumSet i EnumMap 473
- 9.4.7. Klasa IdentityHashMap 474
- 9.5. Widoki i opakowania 476
- 9.5.1. Małe kolekcje 476
- 9.5.2. Przedziały 478
- 9.5.3. Widoki niemodyfikowalne 478
- 9.5.4. Widoki synchronizowane 480
- 9.5.5. Widoki kontrolowane 480
- 9.5.6. Uwagi dotyczące operacji opcjonalnych 481
- 9.6. Algorytmy 485
- 9.6.1. Dlaczego algorytmy generyczne 485
- 9.6.2. Sortowanie i tasowanie 486
- 9.6.3. Wyszukiwanie binarne 489
- 9.6.4. Proste algorytmy 490
- 9.6.5. Operacje zbiorowe 492
- 9.6.6. Konwersja pomiędzy kolekcjami a tablicami 493
- 9.6.7. Pisanie własnych algorytmów 493
- 9.7. Stare kolekcje 495
- 9.7.1. Klasa Hashtable 495
- 9.7.2. Wyliczenia 495
- 9.7.3. Słowniki własności 496
- 9.7.4. Stosy 500
- 9.7.5. Zbiory bitów 500
- 10.1. Historia zestawów narzędzi do tworzenia interfejsów użytkownika 505
- 10.2. Wyświetlanie ramki 507
- 10.2.1. Tworzenie ramki 507
- 10.2.2. Właściwości ramki 509
- 10.3. Wyświetlanie informacji w komponencie 512
- 10.3.1. Figury 2D 517
- 10.3.2. Kolory 523
- 10.3.3. Czcionki 524
- 10.3.4. Wyświetlanie obrazów 530
- 10.4. Obsługa zdarzeń 531
- 10.4.1. Podstawowe koncepcje obsługi zdarzeń 531
- 10.4.2. Przykład - obsługa kliknięcia przycisku 533
- 10.4.3. Zwięzłe definiowanie procedur nasłuchowych 536
- 10.4.4. Klasy adaptacyjne 537
- 10.4.5. Akcje 539
- 10.4.6. Zdarzenia generowane przez mysz 545
- 10.4.7. Hierarchia zdarzeń w bibliotece AWT 550
- 10.5. API Preferences 552
- 11.1. Swing i wzorzec model-widok-kontroler 560
- 11.2. Wprowadzenie do zarządzania rozkładem 563
- 11.2.1. Zarządcy układu 563
- 11.2.2. Rozkład brzegowy 565
- 11.2.3. Rozkład siatkowy 567
- 11.3. Wprowadzanie tekstu 568
- 11.3.1. Pola tekstowe 568
- 11.3.2. Etykiety komponentów 570
- 11.3.3. Pola haseł 571
- 11.3.4. Obszary tekstowe 572
- 11.3.5. Panele przewijane 573
- 11.4. Komponenty umożliwiające wybór opcji 575
- 11.4.1. Pola wyboru 575
- 11.4.2. Przełączniki 577
- 11.4.3. Obramowanie 581
- 11.4.4. Listy rozwijane 583
- 11.4.5. Suwaki 586
- 11.5. Menu 592
- 11.5.1. Tworzenie menu 592
- 11.5.2. Ikony w elementach menu 595
- 11.5.3. Pola wyboru i przełączniki jako elementy menu 596
- 11.5.4. Menu podręczne 597
- 11.5.5. Mnemoniki i akceleratory 598
- 11.5.6. Aktywowanie i dezaktywowanie elementów menu 600
- 11.5.7. Paski narzędzi 604
- 11.5.8. Dymki 606
- 11.6. Zaawansowane techniki zarządzania rozkładem 607
- 11.6.1. Rozkład GridBagLayout 607
- 11.6.2. Niestandardowi zarządcy rozkładu 616
- 11.7. Okna dialogowe 620
- 11.7.1. Okna dialogowe opcji 621
- 11.7.2. Tworzenie okien dialogowych 625
- 11.7.3. Wymiana danych 629
- 11.7.4. Okna dialogowe wyboru plików 634
- 12.1. Czym są wątki 644
- 12.2. Stany wątków 648
- 12.2.1. Wątki tworzone za pomocą operatora new 649
- 12.2.2. Wątki RUNNABLE 649
- 12.2.3. Wątki BLOCKED i WAITING 650
- 12.2.4. Zamykanie wątków 650
- 12.3. Własności wątków 652
- 12.3.1. Przerywanie wątków 652
- 12.3.2. Wątki demony 655
- 12.3.3. Nazwy wątków 655
- 12.3.4. Procedury obsługi nieprzechwyconych wyjątków 655
- 12.3.5. Priorytety wątków 657
- 12.4. Synchronizacja 658
- 12.4.1. Przykład sytuacji powodującej wyścig 658
- 12.4.2. Wyścigi 660
- 12.4.3. Obiekty klasy Lock 662
- 12.4.4. Warunki 665
- 12.4.5. Słowo kluczowe synchronized 670
- 12.4.6. Bloki synchronizowane 674
- 12.4.7. Monitor 675
- 12.4.8. Pola ulotne 676
- 12.4.9. Zmienne finalne 677
- 12.4.10. Zmienne atomowe 677
- 12.4.11. Zakleszczenia 679
- 12.4.12. Zmienne lokalne wątków 682
- 12.4.13. Dlaczego metody stop i suspend są wycofywane 683
- 12.5. Kolekcje bezpieczne wątkowo 685
- 12.5.1. Kolejki blokujące 685
- 12.5.2. Szybkie słowniki, zbiory i kolejki 692
- 12.5.3. Atomowe modyfikowanie elementów słowników 693
- 12.5.4. Operacje masowe na współbieżnych słownikach skrótów 696
- 12.5.5. Współbieżne widoki zbiorów 698
- 12.5.6. Tablice kopiowane przy zapisie 699
- 12.5.7. Równoległe algorytmy tablicowe 699
- 12.5.8. Starsze kolekcje bezpieczne wątkowo 700
- 12.6. Zadania i pule wątków 701
- 12.6.1. Interfejsy Callable i Future 702
- 12.6.2. Klasa Executors 704
- 12.6.3. Kontrolowanie grup zadań 707
- 12.6.4. Metoda rozgałęzienie-złączenie 711
- 12.7. Obliczenia asynchroniczne 714
- 12.7.1. Klasa CompletableFuture 714
- 12.7.2. Tworzenie obiektów CompletableFuture 716
- 12.7.3. Czasochłonne zadania w wywołaniach zwrotnych interfejsu użytkownika 722
- 12.8. Procesy 728
- 12.8.1. Budowanie procesu 729
- 12.8.2. Uruchamianie procesu 730
- 12.8.3. Uchwyty procesów 731
Wstęp 13
Podziękowania 19
Rozdział 1. Wprowadzenie do Javy 21
Rozdział 2. Środowisko programistyczne Javy 35
Rozdział 3. Podstawowe elementy języka Java 51
Rozdział 4. Obiekty i klasy 127
Rozdział 5. Dziedziczenie 199
Rozdział 6. Interfejsy, wyrażenia lambda i klasy wewnętrzne 273
Rozdział 7. Wyjątki, asercje i dzienniki 337
Rozdział 8. Programowanie generyczne 389
Rozdział 9. Kolekcje 433
Rozdział 10. Graficzne interfejsy użytkownika 505
Rozdział 11. Komponenty Swing interfejsu użytkownika 559
Rozdział 12. Współbieżność 643
Dodatek A 737
Skorowidz 741
Oceny i opinie klientów: Java. Podstawy. Wydanie XI Cay S. Horstmann (98)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(49)
(23)
(6)
(7)
(8)
(5)
Oceny i opinie poprzednich wydań
więcej opinii