
JAVA. Uniwersalne techniki programowania, rozdział 7-8
Chwilowo niedostępny
Koszty dostawy
Odbiór w punkcie
Dostawa na adres
Czas oczekiwania na zamówienia = realizacja + dostawa przez przewoźnika
Zobacz więcejeBook
9,60 zł
eBook
9,60 zł
Powiadom o dostępności
Szczegóły produktu
Więcej informacji
| EAN | 5900497302005 |
|---|---|
| SKU | 300011016 |
| Data wydania | 1 sty 2015 |
| multiformat | eBook |
| Format pliku | eBook (epub,mobi) |
| Format pliku elektronicznego | eBook |
| Autor/Redaktor | Krzysztof Barteczko |
| Wydawca | Wydawnictwo Naukowe PWN |
- Data wydania
- 1 sty 2015
- Format pliku
- eBook (epub,mobi)
- Autor/Redaktor
- Krzysztof Barteczko
- Wydawca
- Wydawnictwo Naukowe PWN
JAVA. Uniwersalne techniki programowania, rozdział 7-8
Spis treści
Wstęp 9 1. Klasy 13 1.1. Abstrakcja i hermetyzacja 15 1.2. Enumeracje 17 1.3. Definiowanie klas 22 1.4. Wykorzystanie składowych statycznych 25 1.5. Przeciążanie metod i konstruktorów 26 1.6. Klasy i obiekty niezmienne 27 1.7. Inicjowanie 28 1.8. Singletony 35 1.9. Klasy opakowujące typy proste 36 2. Ponowne wykorzystanie klas 41 2.1. Dziedziczenie 43 2.2. Konwersje referencyjne 48 2.3. Stwierdzanie typu 50 2.4. Dziedziczenie w Javie 52 2.5. Przedefiniowanie metod 52 2.6. Kowariancja typów wyników 56 2.7. Przedefiniowanie metod w wyliczeniach 57 2.8. Przedefiniowanie a wyjątki 58 2.9. Przedefiniowanie a przeciążanie, przesłanianie i pokrywanie 59 2.10. Adnotacja @override 60 2.11. Metody wirtualne i polimorfizm 62 2.12. Kompozycja 67 2.13. Kompozycja a dziedziczenie 68 2.14. Reguły ponownego wykorzystania klas 71 3. Wyjątki 73 3.1. Obsługa wyjątków 75 3.2. Zgłaszanie wyjątków 83 3.3. Ponowne zgłaszanie wyjątków 85 3.4. Niskopoziomowe przyczyny i łańcuchowanie wyjątków 90 3.5. Wykorzystanie informacji o śladzie stosu 91 4. Interfejsy i klasy wewnętrzne 93 4.1. Metody i klasy abstrakcyjne 95 4.2. Pojęcie interfejsu 97 4.3. Problem wielodziedziczenia 97 4.4. Definiowanie i implementowanie interfejsów 99 4.5. Interfejsy jako typy danych 102 4.6. Implementacja metod w interfejsach 106 4.7. Mixiny 107 4.8. Właściwości metod domyślnych 108 4.9. Prywatne metody w interfejsach 111 4.10. Pojęcie klasy wewnętrznej 113 4.11. Przykładowe zastosowanie klasy wewnętrznej 114 4.12. Anonimowe klasy wewnętrzne 117 4.13. Lokalne klasy wewnętrzne 119 5. Typy i metody sparametryzowane (generics) 123 5.1. Definiowanie typów sparametryzowanych. Typy surowe i czyszczenie typów 125 5.2. Ograniczenia parametrów typu 128 5.3. Restrykcje 129 5.4. Metody sparametryzowane 131 5.5. Uniwersalne argumenty typu 131 6. Elementy programowania funkcyjnego w Javie 8. Przegląd pragmatyczny 137 6.1. O programowaniu funkcyjnym 139 6.2. Interfejsy na pomoc 140 6.3. Lambda-wyrażenia: pierwsze spotkanie 141 6.4. O gotowych interfejsach funkcyjnych 144 6.5. O przetwarzaniu strumieniowym 145 7. Lambda-wyrażenia 149 7.1. Interfejsy funkcyjne i lambda-wyrażenia 151 7.2. Składnia i cechy lambda-wyrażeń 152 7.3. Referencje do metod i konstruktorów 158 7.4. Gotowe interfejsy funkcyjne 161 7.5. Interfejsy z pakietu java.util.function a wyjątki kontrolowane 169 7.6. Lambda-wyrażenia i obiekty typu Optional 172 8. Proste narzędzia 177 8.1. Analiza składniowa tekstów i wyrażenia regularne 179 8.2. Uproszczenia stosowania wyrażeń regularnych w klasach String i Scanner 191 8.3. Działania na liczbach 199 8.4. Daty i czas 204 8.4.1. Tradycyjna klasa Calendar i operacje na datach 204 8.4.2. Daty i czas w Javie 8 – elementy nowego API 210 8.5. Formatowanie liczb i dat 217 8.6. Metody tablicowe 222 9. Kolekcje 225 9.1. Architektura kolekcji (JCF). Interfejsy i implementacje 227 9.2. Programowanie w kategoriach interfejsów 231 9.3. Ogólne operacje na kolekcjach 233 9.4. Operacje opcjonalne oraz wyjątki zgłaszane przez metody kolekcyjne 234 9.5. Przekształcanie kolekcji. Kolekcje z tablic 235 9.6. Przykłady ogólnych operacji na kolekcjach 237 9.7. Iterowanie po kolekcjach 243 9.7.1. Tradycyjny iterator i rozszerzone for 243 9.7.2. Iteracje wewnętrzne 247 9.7.3. Spliteratory 249 9.7.4. Konkurencyjne modyfikacje 256 9.8. Listy 258 9.8.1. Podstawowe implementacje i operacje 258 9.8.2. Szczególne implementacje list: niuanse metody Arrays.asList(...) 264 9.8.3. Iteratory listowe 267 9.8.4. Przykłady operacji na listach 269 9.9. Kolejki 273 9.10. Zbiory typu HashSet, metody hashCode() i equals() 276 9.11. Porównywanie i porządkowanie elementów kolekcji 283 9.12. Zbiory uporządkowane i nawigowalne 291 9.13. Mapy 293 9.13.1. Wprowadzenie 293 9.13.2. Implementacje i interfejsy. Ogólne operacje na mapach 296 9.13.3. Iterowanie po mapach 301 9.13.4. Użycie domyślnych metod interfejsu Map 304 9.13.5. Sortowanie map 307 9.14. Algorytmy, widoki, fabrykatory kolekcji 313 9.15. Własne implementacje kolekcji 316 10. Przetwarzanie strumieniowe 317 10.1. Pojęcie strumienia. Rodzaje i cechy operacji strumieniowych 319 10.2. Uzyskiwanie strumieni 321 10.3. Przegląd operacji na strumieniach 322 10.4. Filtrowanie i leniwość strumieni 325 10.5. Metoda forEach dla strumieni 326 10.6. Sortowanie strumieni 327 10.7. Redukcja 328 10.8. Proste kolektory 329 10.9. Kolektory budujące mapy 330 10.10. Generatory 332 10.11. Strumienie równoległe 334 10.12. Przykłady innych użytecznych metod 336 11. Wejście-wyjście 339 11.1. Programowanie wejścia-wyjścia: obraz ogólny 341 11.2. Abstrakcyjne strumienie wejścia-wyjścia. Operacje elementarne 342 11.3. Strumieniowe klasy przedmiotowe 346 11.4. Instrukcja try-with-resources. Automatyczne zarządzanie zasobami a obsługa tłumionych wyjątków 349 11.5. Strumieniowe klasy przetwarzające – przegląd 356 11.6. Buforowanie 359 11.7. Binarne strumienie wejścia-wyjścia 360 11.8. Kodowanie-dekodowanie przy użyciu strumieni wejścia-wyjścia 362 11.9. Serializacja obiektów 364 11.10. Potoki 369 11.11. Analiza składniowa strumieni – StreamTokenizer 371 11.12. Obiekty plikowe i klasa File 373 11.13. Wygodne metody klasy java.nio.fi le.Files 374 11.14. Skaner 378 11.15. Przeglądanie katalogów 381 11.16. Archiwa 390 11.17. Pliki o dostępie swobodnym 397 11.18. Nowe wejście-wyjście (NIO): przegląd 398 11.19. NIO: bufory 401 11.20. NIO: kanały i bufory. Kanały plikowe 406 11.21. Widoki buforów bajtowych 410 11.22. NIO: bufory – uporządkowanie bajtów (endianess) 414 11.23. NIO: bufory znakowe. Kodowanie i dekodowanie 416 11.24. NIO: operacje kanałowe na wielu buforach (scattering i gathering) 418 11.25. NIO: mapowanie plików 420 11.26. NIO: bezpośrednie transfery kanałowe 424 12. Programowanie współbieżne i równoległe 425 12.1. Procesy i wątki 427 12.2. Uruchamianie równoległych działań. Tworzenie wątków 428 12.3. Zadania i wykonawcy 432 12.4. Zamykanie wykonawców. Oczekiwanie na zakończenie zadań i serwis kompletacji (CompletionService) 439 12.5. Zadania powtarzalne, opóźnione i okresowe 444 12.6. Wykonawcy a pule wątków 449 12.7. ForkJoinPool i zadania rekursywne 452 12.8. Kompletery typu CountedCompleter 463 12.9. CountedCompleter jako kontynuacja 469 12.10. Kiedy i jak używać zadań typu ForkJoinTask? Praktyczny przykład użycia kompleterów 473 12.11. Zadania kompletowalne (CompletableFuture) 478 12.12. Przerywanie zadań z zewnątrz i kończenie pracy wątków 491 12.13. Synchronizacja 498 12.14. Synchronizacja za pomocą jawnego ryglowania 507 12.15. Rygle do odczytu i zapisu: ReentrantReadWriteLock i StampedLock 510 12.16. Synchronizatory wyższego poziomu 514 12.17. Unikanie synchronizacji: struktura kodu, volatile, atomiki i konkurencyjne kolekcje 519 12.18. Koordynacja pracy wątków – mechanizm wait-notify 526 12.19. Koordynacja: warunki 532 13. Dynamiczna Java 535 13.1. Mechanizm refleksji 537 13.2. Uchwyty metod 543 13.3. Znaczenie refleksji – praktyczne przykłady 551 13.4. Refleksja a generics 558 13.5. Dynamiczne klasy proxy 562 13.6. JavaBeans 568 13.6.1. Koncepcja JavaBeans 568 13.6.2. Nasłuch i wetowanie zmian właściwości za pomocą obsługi zdarzeń 569 13.6.3. Introspekcja 575 13.7. Adnotacje 576 13.7.1. Istota adnotacji i sposoby ich definiowana 576 13.7.2. Przetwarzanie adnotacji w fazie wykonania 580 13.7.3. Przetwarzanie adnotacji w fazie kompilacji. Transformowanie kodu bajtowego 582 13.8. Skrypty w Javie 589 14. Lokalizacja i internacjonalizacja aplikacji 595 14.1. Lokalizacje 597 14.2. Jeszcze trochę o formatorach liczbowych 602 14.3. Waluty 603 14.4. Strefy czasowe 604 14.5. Kalendarze i zlokalizowane daty 606 14.6. Porównywanie i sortowanie napisów 607 14.7. Internacjonalizacja aplikacji i dodatkowe zasoby (resource bundle) 608 Literatura 614
JAVA. Uniwersalne techniki programowania: Odkryj moc lambda i narzędzi prostych w praktyce
Rozdziały 7 i 8 z książki "JAVA. Uniwersalne techniki programowania" to niezwykła podróż po nowoczesnych technikach języka Java, skupiająca się na lambda-wyrażeniach oraz prostych narzędziach. Jeśli chcesz pogłębić swoją wiedzę i nauczyć się efektywnie korzystać z najnowszych elementów Javy, zapraszamy do lektury, która pomoże Ci zrealizować praktyczne projekty i rozwinąć umiejętności programistyczne.
- JAVA. Uniwersalne techniki programowania, rozdział 3-4: Ta książka to kompendium praktycznych technik programowania w języku Java, skupiające się na rozdziałach 3 i 4. Dowiedz się, jak efektywnie korzystać z wyjątków, interfejsów i klas wewnętrznych, korzystając z najnowszych elementów dostępnych w wersjach 8 i 9.
- JAVA. Uniwersalne techniki programowania, rozdział 9-10: Poznaj zaawansowane zagadnienia związane z kolekcjami oraz przetwarzaniem strumieniowym w Javie. Ta część książki oferuje praktyczne wskazówki i techniki, które zwiększą Twoje umiejętności programowania w języku Java.
- JAVA. Uniwersalne techniki programowania, rozdział 5-6: Skup się na generics i elementach programowania funkcyjnego w Javie 8. To idealne źródło wiedzy dla tych, którzy chcą zgłębić nowoczesne techniki i narzędzia dostępne w najnowszych wersjach języka.
- JAVA. Uniwersalne techniki programowania, rozdział 13-14: Odkryj możliwości dynamicznej Java oraz lokalizacji i internacjonalizacji aplikacji. Ta część książki pomoże Ci tworzyć bardziej elastyczne i globalnie dostępne programy w języku Java.
- JAVA. Uniwersalne techniki programowania, rozdział 11-12: Poznaj tajniki wejścia-wyjścia oraz programowania współbieżnego i równoległego. To niezbędne rozdziały dla każdego programisty Java, który chce pisać wydajne i wielowątkowe aplikacje.
- JAVA. Uniwersalne techniki programowania, rozdział 1-2: Rozpocznij swoją przygodę z Javą od podstaw, ucząc się klas i ponownego wykorzystania kodu. Ta część jest idealna dla początkujących, którzy chcą zbudować solidne fundamenty programowania w Javie.
- Java. Uniwersalne techniki programowania: Kompleksowe wprowadzenie do technik programowania w Javie, z naciskiem na praktyczne zastosowania i najnowsze elementy wersji 8 i 9. Doskonała lektura dla każdego, kto chce poszerzyć swoje umiejętności.
- JAVA. Programowanie praktyczne od podstaw: Ta książka to praktyczny przewodnik dla początkujących i średniozaawansowanych programistów, którzy chcą nauczyć się konstrukcji i narzędzi języka Java. Liczne przykłady i wyjaśnienia ułatwią naukę i rozwój umiejętności.
- Programowanie strukturalne i obiektowe. T. 1: Podręcznik wprowadzający w świat programowania, obejmujący podstawy algorytmów, języków Pascal, C/C++ oraz krótkie wprowadzenie do Javy. Idealny dla studentów i początkujących programistów.
- AutoCAD 2020 / LT 2020 (2013+): Kompleksowy kurs projektowania parametrycznego i nieparametrycznego 2D w AutoCAD i AutoCAD LT. Doskonały dla inżynierów i projektantów, którzy chcą opanować podstawy tworzenia dokumentacji technicznej w wersji 2020 i starszych.

JAVA. Uniwersalne techniki programowania, rozdział 7-8









