Kategorie
Ebooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komputer w biurze
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Multimedialne szkolenia
- Nieruchomości
- Perswazja i NLP
- Podatki
- Polityka społeczna
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Raporty, analizy
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
E-prasa
- Architektura i wnętrza
- Biznes i Ekonomia
- Dom i ogród
- E-Biznes
- Finanse
- Finanse osobiste
- Firma
- Fotografia
- Informatyka
- Kadry i płace
- Komputery, Excel
- Księgowość
- Kultura i literatura
- Naukowe i akademickie
- Ochrona środowiska
- Opiniotwórcze
- Oświata
- Podatki
- Podróże
- Psychologia
- Religia
- Rolnictwo
- Rynek książki i prasy
- Transport i Spedycja
- Zdrowie i uroda
-
Historia
-
Informatyka
- Aplikacje biurowe
- Bazy danych
- Bioinformatyka
- Biznes IT
- CAD/CAM
- Digital Lifestyle
- DTP
- Elektronika
- Fotografia cyfrowa
- Grafika komputerowa
- Gry
- Hacking
- Hardware
- IT w ekonomii
- Pakiety naukowe
- Podręczniki szkolne
- Podstawy komputera
- Programowanie
- Programowanie mobilne
- Serwery internetowe
- Sieci komputerowe
- Start-up
- Systemy operacyjne
- Sztuczna inteligencja
- Technologia dla dzieci
- Webmasterstwo
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poemat
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Podręczniki szkolne
-
Popularnonaukowe i akademickie
- Archeologia
- Bibliotekoznawstwo
- Filmoznawstwo
- Filologia
- Filologia polska
- Filozofia
- Finanse i bankowość
- Geografia
- Gospodarka
- Handel. Gospodarka światowa
- Historia i archeologia
- Historia sztuki i architektury
- Kulturoznawstwo
- Lingwistyka
- Literaturoznawstwo
- Logistyka
- Matematyka
- Medycyna
- Nauki humanistyczne
- Pedagogika
- Pomoce naukowe
- Popularnonaukowa
- Pozostałe
- Psychologia
- Socjologia
- Teatrologia
- Teologia
- Teorie i nauki ekonomiczne
- Transport i spedycja
- Wychowanie fizyczne
- Zarządzanie i marketing
-
Poradniki
-
Poradniki do gier
-
Poradniki zawodowe i specjalistyczne
-
Prawo
- BHP
- Historia
- Kodeks drogowy. Prawo jazdy
- Nauki prawne
- Ochrona zdrowia
- Ogólne, kompendium wiedzy
- Podręczniki akademickie
- Pozostałe
- Prawo budowlane i lokalowe
- Prawo cywilne
- Prawo finansowe
- Prawo gospodarcze
- Prawo gospodarcze i handlowe
- Prawo karne
- Prawo karne. Przestępstwa karne. Kryminologia
- Prawo międzynarodowe
- Prawo międzynarodowe i zagraniczne
- Prawo ochrony zdrowia
- Prawo oświatowe
- Prawo podatkowe
- Prawo pracy i ubezpieczeń społecznych
- Prawo publiczne, konstytucyjne i administracyjne
- Prawo rodzinne i opiekuńcze
- Prawo rolne
- Prawo socjalne, prawo pracy
- Prawo Unii Europejskiej
- Przemysł
- Rolne i ochrona środowiska
- Słowniki i encyklopedie
- Zamówienia publiczne
- Zarządzanie
-
Przewodniki i podróże
- Afryka
- Albumy
- Ameryka Południowa
- Ameryka Środkowa i Północna
- Australia, Nowa Zelandia, Oceania
- Austria
- Azja
- Bałkany
- Bliski Wschód
- Bułgaria
- Chiny
- Chorwacja
- Czechy
- Dania
- Egipt
- Estonia
- Europa
- Francja
- Góry
- Grecja
- Hiszpania
- Holandia
- Islandia
- Litwa
- Łotwa
- Mapy, Plany miast, Atlasy
- Miniprzewodniki
- Niemcy
- Norwegia
- Podróże aktywne
- Polska
- Portugalia
- Pozostałe
- Rosja
- Rumunia
- Słowacja
- Słowenia
- Szwajcaria
- Szwecja
- Świat
- Turcja
- Ukraina
- Węgry
- Wielka Brytania
- Włochy
-
Psychologia
- Filozofie życiowe
- Kompetencje psychospołeczne
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Audiobooki
-
Biznes i ekonomia
- Bitcoin
- Bizneswoman
- Coaching
- Controlling
- E-biznes
- Ekonomia
- Finanse
- Giełda i inwestycje
- Kompetencje osobiste
- Komunikacja i negocjacje
- Mała firma
- Marketing
- Motywacja
- Nieruchomości
- Perswazja i NLP
- Podatki
- Poradniki
- Prezentacje
- Przywództwo
- Public Relation
- Sekret
- Social Media
- Sprzedaż
- Start-up
- Twoja kariera
- Zarządzanie
- Zarządzanie projektami
- Zasoby ludzkie (HR)
-
Dla dzieci
-
Dla młodzieży
-
Edukacja
-
Encyklopedie, słowniki
-
Historia
-
Informatyka
-
Inne
-
Języki obce
-
Kultura i sztuka
-
Lektury szkolne
-
Literatura
- Antologie
- Ballada
- Biografie i autobiografie
- Dla dorosłych
- Dramat
- Dzienniki, pamiętniki, listy
- Epos, epopeja
- Esej
- Fantastyka i science-fiction
- Felietony
- Fikcja
- Humor, satyra
- Inne
- Klasyczna
- Kryminał
- Literatura faktu
- Literatura piękna
- Mity i legendy
- Nobliści
- Nowele
- Obyczajowa
- Okultyzm i magia
- Opowiadania
- Pamiętniki
- Podróże
- Poezja
- Polityka
- Popularnonaukowa
- Powieść
- Powieść historyczna
- Proza
- Przygodowa
- Publicystyka
- Reportaż
- Romans i literatura obyczajowa
- Sensacja
- Thriller, Horror
- Wywiady i wspomnienia
-
Nauki przyrodnicze
-
Nauki społeczne
-
Popularnonaukowe i akademickie
-
Poradniki
-
Poradniki zawodowe i specjalistyczne
-
Prawo
-
Przewodniki i podróże
-
Psychologia
- Filozofie życiowe
- Komunikacja międzyludzka
- Mindfulness
- Ogólne
- Perswazja i NLP
- Psychologia akademicka
- Psychologia duszy i umysłu
- Psychologia pracy
- Relacje i związki
- Rodzicielstwo i psychologia dziecka
- Rozwiązywanie problemów
- Rozwój intelektualny
- Sekret
- Seksualność
- Uwodzenie
- Wygląd i wizerunek
- Życiowe filozofie
-
Religia
-
Sport, fitness, diety
-
Technika i mechanika
Kursy video
-
Bazy danych
-
Big Data
-
Biznes, ekonomia i marketing
-
Cyberbezpieczeństwo
-
Data Science
-
DevOps
-
Dla dzieci
-
Elektronika
-
Grafika/Wideo/CAX
-
Gry
-
Microsoft Office
-
Narzędzia programistyczne
-
Programowanie
-
Rozwój osobisty
-
Sieci komputerowe
-
Systemy operacyjne
-
Testowanie oprogramowania
-
Urządzenia mobilne
-
UX/UI
-
Web development
-
Zarządzanie
Podcasty
- Ebooki
- Programowanie
- Java
- Java. Najlepsze rozwiązania zadań programistycznych. Receptury. Wydanie IV
Szczegóły ebooka
Java jest jednym z najpopularniejszych języków programowania. Równocześnie należy do najbardziej innowacyjnych technologii informatycznych; zawsze stanowiła awangardę. Programiści cenią Javę za dojrzałość, bezpieczeństwo i wszechstronność. Jednak nawet tak znakomity język niekiedy przysparza problemów podczas pracy. Mogą się one okazać całkiem proste do rozwiązania, jeśli tylko wiadomo, jak się do tego zabrać.
Oto zbiór aktualnych i kompletnych receptur instruktażowych, z których każda pomaga w rozwiązaniu konkretnego problemu. Wszystkie zostały starannie przetestowane i wielokrotnie udowodniły swoją przydatność. Każdą poprzedzono krótkim wprowadzeniem i omówieniem zastosowanych mechanizmów działania. Ta książka nie jest klasycznym podręcznikiem programowania, jednak z pewnością przyśpieszy praktyczne wykorzystanie możliwości Javy. Wśród receptur znalazł się szeroki zakres zagadnień, od podstawowych operacji na ciągach znaków, poprzez programowanie funkcyjne, po komunikację sieciową, rozwiązania big data i współdziałanie z kodem napisanym w innych językach. W tym wydaniu uwzględniono zmiany wprowadzone w wersjach Javy 12, 13 i 14.
W książce między innymi:
- kompilacja kodu, uruchamianie i debugowanie oraz pakowanie klas Javy
- praca z tekstem, wyrażenia regularne i wzorce
- programowanie obiektowe i funkcyjne oraz programowanie sieciowe
- format JSON i wymiana danych
- wielowątkowość i współbieżność
- big data i Java
Java: najlepsze rozwiązania najważniejszych zadań!
Wstęp 13
1. Rozpoczynanie pracy: kompilacja i uruchamianie 27
- 1.0. Wprowadzenie 27
- 1.1. Kompilacja i uruchamianie programów napisanych w Javie - JDK 28
- 1.2. Kompilacja i uruchamianie: stosowanie GraalVM dla lepszej wydajności 30
- 1.3. Kompilacja, uruchamianie i testowanie programów przy użyciu IDE 32
- 1.4. Poznawanie Javy przy wykorzystaniu JShell 36
- 1.5. Efektywne wykorzystanie zmiennej środowiskowej CLASSPATH 39
- 1.6. Pobieranie przykładów dołączonych do tej książki i korzystanie z nich 41
- 1.7. Automatyzacja zależności, kompilacji, testowania i wdrażania przy użyciu programu Apache Maven 49
- 1.8. Automatyzacja zależności, kompilacji, testowania i wdrażania przy użyciu programu Gradle 53
- 1.9. Komunikaty o odrzuconych metodach 55
- 1.10. Zapewnianie poprawności kodu za pomocą testów jednostkowych: JUnit 57
- 1.11. Zarządzanie kodem z wykorzystaniem ciągłej integracji 60
- 1.12. Uzyskiwanie czytelnych komunikatów o wyjątkach 65
- 1.13. Poszukiwanie przykładowych kodów źródłowych 66
- 1.14. Poszukiwanie gotowych bibliotek Javy 67
2. Interakcja ze środowiskiem 71
- 2.0. Wprowadzenie 71
- 2.1. Pobieranie wartości zmiennych środowiskowych 71
- 2.2. Pobieranie informacji z właściwości systemowych 72
- 2.3. Stosowanie kodu zależnego od używanej wersji JDK lub systemu operacyjnego 74
- 2.4. Stosowanie rozszerzających interfejsów programistycznych lub innych API 79
- 2.5. Stosowanie systemu modułów Javy 80
3. Łańcuchy znaków i przetwarzanie tekstów 85
- 3.0. Wprowadzenie 85
- 3.1. Odczytywanie fragmentów łańcucha 88
- 3.2. Łączenie łańcuchów znaków przy użyciu klasy StringBuilder 93
- 3.3. Przetwarzanie łańcucha znaków po jednej literze 95
- 3.4. Wyrównywanie łańcuchów znaków 97
- 3.5. Konwersja pomiędzy znakami Unicode a łańcuchami znaków 100
- 3.6. Odwracanie kolejności słów lub znaków w łańcuchu 103
- 3.7. Rozwijanie i kompresja znaków tabulacji 104
- 3.8. Kontrola wielkości liter 108
- 3.9. Wprowadzanie znaków niedrukowalnych 109
- 3.10. Usuwanie odstępów z końca łańcucha 111
- 3.11. Tworzenie komunikatów z użyciem zasobów wielojęzycznych 113
- 3.12. Stosowanie konkretnych ustawień lokalnych 116
- 3.13. Tworzenie wiązki zasobów 117
- 3.14. Program - proste narzędzie do formatowania tekstów 118
- 3.15. Program - fonetyczne porównywanie nazwisk 121
4. Dopasowywanie wzorców przy użyciu wyrażeń regularnych 125
- 4.0. Wprowadzenie 125
- 4.1. Składnia wyrażeń regularnych 127
- 4.2. Wykorzystanie wyrażeń regularnych w języku Java - sprawdzanie występowania wzorca 134
- 4.3. Odnajdywanie tekstu pasującego do wzorca 138
- 4.4. Zastępowanie określonego tekstu 140
- 4.5. Wyświetlanie wszystkich wystąpień wzorca 143
- 4.6. Wyświetlanie wierszy zawierających fragment pasujący do wzorca 145
- 4.7. Kontrola wielkości znaków w metodach match() i subst() 147
- 4.8. Dopasowywanie znaków z akcentami lub znaków złożonych 148
- 4.9. Odnajdywanie znaków nowego wiersza 149
- 4.10. Program - analiza dziennika serwera Apache 151
- 4.11. Program - pełna wersja programu grep 153
5. Liczby 159
- 5.0. Wprowadzenie 159
- 5.1. Sprawdzanie, czy łańcuch znaków stanowi poprawną liczbę 162
- 5.2. Konwertowanie liczb na obiekty i na odwrót 163
- 5.3. Pobieranie ułamka z liczby całkowitej bez konwertowania go na postać zmiennoprzecinkową 164
- 5.4. Stosowanie liczb zmiennoprzecinkowych 166
- 5.5. Formatowanie liczb 170
- 5.6. Konwersje pomiędzy różnymi systemami liczbowymi - dwójkowym, ósemkowym, dziesiętnym i szesnastkowym 174
- 5.7. Operacje na grupie liczb całkowitych 175
- 5.8. Formatowanie z zachowaniem odpowiedniej postaci liczby mnogiej 177
- 5.9. Generowanie liczb losowych 179
- 5.10. Mnożenie macierzy 182
- 5.11. Operacje na liczbach zespolonych 184
- 5.12. Obsługa liczb o bardzo dużych wartościach 187
- 5.13. Program TempConverter 189
- 5.14. Program - generowanie liczbowych palindromów 191
6. Daty i godziny 195
- 6.0. Wprowadzenie 195
- 6.1. Określanie bieżącej daty 198
- 6.2. Wyświetlanie daty i czasu w zadanym formacie 200
- 6.3. Konwersja liczb określających datę i czas oraz liczbę sekund 202
- 6.4. Analiza łańcuchów znaków i ich zamiana na daty 203
- 6.5. Obliczanie różnicy pomiędzy dwiema datami 204
- 6.6. Dodawanie i odejmowanie dat 206
- 6.7. Obsługa zdarzeń cyklicznych 207
- 6.8. Obliczanie dat z uwzględnieniem stref czasowych 209
- 6.9. Stosowanie starych klas Date i Calendar 210
7. Strukturalizacja danych w języku Java 213
- 7.0. Wprowadzenie 213
- 7.1. Strukturalizacja danych przy użyciu tablic 214
- 7.2. Modyfikacja wielkości tablic 216
- 7.3. Framework kolekcji 217
- 7.4. Klasa podobna do tablicy, lecz bardziej dynamiczna 219
- 7.5. Stosowanie typów ogólnych we własnych klasach 222
- 7.6. Jak przeglądać zawartość kolekcji? Wyliczenie dostępnych sposobów 226
- 7.7. Unikanie powtórzeń dzięki zastosowaniu zbioru 229
- 7.8. Strukturalizacja danych z wykorzystaniem list połączonych 230
- 7.9. Odwzorowywanie z wykorzystaniem klas Hashtable oraz HashMap 235
- 7.10. Zapisywanie łańcuchów znaków w obiektach Properties i Preferences 237
- 7.11. Sortowanie kolekcji 242
- 7.12. Unikanie konieczności sortowania danych 246
- 7.13. Odnajdywanie obiektu w kolekcji 248
- 7.14. Zamiana kolekcji na tablicę 251
- 7.15. Zapewnianie możliwości przeglądania danych przy użyciu iteratora 252
- 7.16. Używanie stosu obiektów 254
- 7.17. Struktury wielowymiarowe 257
- 7.18. Upraszczanie obiektów danych przy wykorzystaniu bibliotek Lombok lub Record 259
- 7.19. Program - porównanie szybkości działania 262
8. Techniki obiektowe 265
- 8.0. Wprowadzenie 265
- 8.1. Metody klasy Object - formatowanie obiektów przy użyciu metody toString() i porównywanie ich metodą equals() 268
- 8.2. Wykorzystanie klas wewnętrznych 275
- 8.3. Tworzenie metod zwrotnych z wykorzystaniem interfejsów 278
- 8.4. Polimorfizm i metody abstrakcyjne 282
- 8.5. Wartości wyliczeniowe bezpieczne dla typów 283
- 8.6. Unikanie wyjątków NPE z użyciem klasy Optional 287
- 8.7. Wymuszanie użycia wzorca Singleton 289
- 8.8. Zgłaszanie własnych wyjątków 291
- 8.9. Wstrzykiwanie zależności 293
- 8.10. Program Plotter 296
9. Techniki programowania funkcyjnego: interfejsy funkcyjne, strumienie i kolekcje równoległe 301
- 9.0. Wprowadzenie 301
- 9.1. Stosowanie wyrażeń lambda lub domknięć zamiast klas wewnętrznych 304
- 9.2. Stosowanie predefiniowanych interfejsów lambda zamiast własnych 307
- 9.3. Upraszczanie przetwarzania z wykorzystaniem interfejsu Stream 311
- 9.4. Upraszczanie strumieni przy użyciu kolektorów 312
- 9.5. Poprawianie przepustowości dzięki wykorzystaniu strumieni i kolekcji równoległych 315
- 9.6. Używanie istniejącego kodu w sposób funkcyjny dzięki wykorzystaniu odwołań do metod 317
- 9.7. Wstawianie istniejącego kodu metod 321
10. Wejście i wyjście: odczyt, zapis i sztuczki z katalogami 323
- 10.0. Wprowadzenie 323
- 10.1. Klasy InputStream/OutputStream oraz Reader/Writer 325
- 10.2. Odczytywanie pliku tekstowego 327
- 10.3. Odczytywanie informacji ze standardowego strumienia wejściowego bądź z konsoli/terminala 329
- 10.4. Wyświetlanie tekstów przy użyciu klasy Formatter i metody printf 334
- 10.5. Analiza zawartości pliku przy użyciu klasy StringTokenizer 338
- 10.6. Analiza danych wejściowych przy użyciu klasy Scanner 342
- 10.7. Analiza danych wejściowych o strukturze gramatycznej 345
- 10.8. Kopiowanie pliku 349
- 10.9. Zmiana skojarzeń standardowych strumieni 350
- 10.10. Powielanie strumienia podczas realizacji operacji zapisu; zmiana skojarzeń standardowych strumieni 351
- 10.11. Odczyt i zapis danych zakodowanych w innym zbiorze znaków 354
- 10.12. Te kłopotliwe znaki końca wiersza 356
- 10.13. Kod operujący na plikach w sposób zależny od systemu operacyjnego 356
- 10.14. Odczytywanie i zapisywanie danych binarnych 358
- 10.15. Odczytywanie i zapisywanie danych w archiwach JAR oraz ZIP 358
- 10.16. Odnajdywanie plików w sposób niezależny od systemu operacyjnego przy użyciu metod getResource() i getResourceAsStream() 362
- 10.17. Pobieranie informacji o pliku 364
- 10.18. Tworzenie nowego pliku lub katalogu 371
- 10.19. Zmiana nazwy pliku lub jego atrybutów 372
- 10.20. Usuwanie plików 375
- 10.21. Tworzenie plików tymczasowych 377
- 10.22. Tworzenie listy zawartości katalogu 379
- 10.23. Pobieranie katalogów głównych 380
- 10.24. Stosowanie usługi WatchService do uzyskiwania informacji o zmianach pliku 382
- 10.25. Zapisywanie danych użytkownika na dysku 384
- 10.26. Program Find - poruszanie się po drzewie katalogów 388
11. Nauka o danych i język R 393
- 11.1. Uczenie maszynowe z użyciem Javy 394
- 11.2. Stosowanie danych w Apache Spark 395
- 11.3. Interaktywne stosowanie R 398
- 11.4. Porównanie i wybór implementacji R 400
- 11.5. Używanie R w aplikacjach Javy: Renjin 401
- 11.6. Stosowanie kodu Javy w sesji R 403
- 11.7. Stosowanie FastR - implementacji R korzystającej z GraalVM 405
- 11.8. Stosowanie R w aplikacjach internetowych 406
12. Klienty sieciowe 409
- 12.0. Wprowadzenie 409
- 12.1. Internetowy klient HTTP/REST 412
- 12.2. Nawiązywanie połączenia z serwerem z użyciem gniazd 414
- 12.3. Odnajdywanie adresów sieciowych i zwracanie informacji o nich 415
- 12.4. Obsługa błędów sieciowych 417
- 12.5. Odczyt i zapis danych tekstowych 418
- 12.6. Odczyt i zapis danych binarnych 420
- 12.7. Datagramy UDP 423
- 12.8. URI, URL czy może URN? 426
- 12.9. Program - klient TFTP wykorzystujący protokół UDP 427
- 12.10. Program - klient pogawędek internetowych używający gniazd 432
- 12.11. Program - sprawdzanie odnośników HTTP 436
13. Programy Javy działające na serwerze 439
- 13.0. Wprowadzenie 439
- 13.1. Tworzenie serwera 440
- 13.2. Znajdowanie interfejsów sieciowych 443
- 13.3. Zwracanie odpowiedzi (łańcucha znaków bądź danych binarnych) 444
- 13.4. Zwracanie informacji o obiektach przez połączenie sieciowe 448
- 13.5. Obsługa wielu klientów 449
- 13.6. Serwer obsługujący protokół HTTP 454
- 13.7. Zabezpieczanie serwera WWW przy użyciu SSL i JSSE 456
- 13.8. Tworzenie usługi typu RESTful z użyciem JAX-RS 459
- 13.9. Rejestracja operacji sieciowych 462
- 13.10. Konfiguracja i stosowanie SLF4J 463
- 13.11. Rejestracja przez sieć przy użyciu Log4j 466
- 13.12. Rejestracja przez sieć przy użyciu pakietu java.util.logging 471
14. Przetwarzanie danych w formacie JSON 475
- 14.0. Wprowadzenie 475
- 14.1. Bezpośrednie generowanie danych w formacie JSON 477
- 14.2. Analiza i zapisywanie danych JSON przy użyciu pakietu Jackson 478
- 14.3. Analiza i zapis danych w formacie JSON przy użyciu pakietu org.json 480
- 14.4. Analiza i zapis danych w formacie JSON przy użyciu biblioteki JSON-B 481
- 14.5. Znajdowanie elementów danych w formacie JSON przy użyciu wskaźników 483
15. Pakiety i ich tworzenie 487
- 15.0. Wprowadzenie 487
- 15.1. Tworzenie pakietu 488
- 15.2. Tworzenie dokumentacji klas przy użyciu programu Javadoc 490
- 15.3. Więcej niż Javadoc - adnotacje i metadane 494
- 15.4. Tworzenie klasy w taki sposób, by była komponentem JavaBeans 496
- 15.5. Umieszczanie pakietów w plikach JAR 500
- 15.6. Wykonywanie programu spakowanego w pliku JAR 501
- 15.7. Pakowanie komponentów warstwy internetowej do pliku WAR 503
- 15.8. Tworzenie mniejszego pakietu dystrybucyjnego przy użyciu programu jlink 504
- 15.9. Stosowanie JPMS do tworzenia modułów 506
16. Stosowanie wątków w Javie 509
- 16.0. Wprowadzenie 509
- 16.1. Uruchamianie kodu w innym wątku 511
- 16.2. Animacja - wyświetlanie poruszających się obrazów 515
- 16.3. Zatrzymywanie działania wątku 519
- 16.4. Spotkania i ograniczenia czasowe 522
- 16.5. Synchronizacja wątków przy użyciu słowa kluczowego synchronized 523
- 16.6. Upraszczanie synchronizacji przy użyciu blokad 529
- 16.7. Upraszczanie programu producent-konsument przy użyciu interfejsu Queue 533
- 16.8. Optymalizacja działania równoległego przy użyciu Fork/Join 535
- 16.9. Planowanie zadań: operacje w przyszłości, zapis danych w tle w programach edycyjnych 539
17. Introspekcja lub "klasa o nazwie Class" 543
- 17.0. Wprowadzenie 543
- 17.1. Pobieranie deskryptora klasy 544
- 17.2. Określanie oraz stosowanie metod i pól 545
- 17.3. Uzyskiwanie dostępu do prywatnych pól i metod za pomocą introspekcji 549
- 17.4. Dynamiczne ładowanie i instalowanie klas 550
- 17.5. Tworzenie nowej klasy od podstaw przy użyciu obiektu ClassLoader 552
- 17.6. Tworzenie nowej klasy od podstaw z użyciem kompilatora Javy 554
- 17.7. Określanie efektywności działania 557
- 17.8. Wyświetlanie informacji o klasie 561
- 17.9. Wyświetlanie klas należących do pakietu 563
- 17.10. Stosowanie i definiowanie adnotacji 565
- 17.11. Zastosowanie adnotacji do odnajdywania klas pełniących rolę wtyczek 570
- 17.12. Program CrossRef 573
18. Wykorzystywanie Javy wraz z innymi językami programowania 577
- 18.0. Wprowadzenie 577
- 18.1. Uruchamianie zewnętrznego programu 578
- 18.2. Wykonywanie programu i przechwytywanie jego wyników 582
- 18.3. Wywoływanie kodu napisanego w innych językach przy użyciu javax.script 586
- 18.4. Łączenie różnych języków z użyciem GraalVM 588
- 18.5. Łączenie języków Java i Perl 590
- 18.6. Dołączanie kodu rodzimego 593
- 18.7. Wywoływanie kodu Javy z kodu rodzimego 599
Posłowie 603
A. Java kiedyś i obecnie 605
- Tytuł: Java. Najlepsze rozwiązania zadań programistycznych. Receptury. Wydanie IV
- Autor: Ian F. Darwin
- Tytuł oryginału: Java Cookbook: Problems and Solutions for Java Developers, 4th Edition
- Tłumaczenie: Piotr Rajca
- ISBN: 978-83-283-7087-6, 9788328370876
- Data wydania: 2021-01-26
- Format: Ebook
- Identyfikator pozycji: jarec4
- Wydawca: Helion