JAVA. Uniwersalne techniki programowania. Rozdział 9-10 - ebook
JAVA. Uniwersalne techniki programowania. Rozdział 9-10 - ebook
Rozdziały 9-10 z publikacji pt."JAVA. Uniwersalne techniki programowania", redakcja naukowa Krzysztof Barteczko. Rozdział 9 Kolekcje; Rozdział 10 Przetwarzanie strumieniowe. Książka przedstawia sposoby i techniki programowania użyteczne we wszelkich zastosowaniach języka Java. W publikacji akcentowany jest kontekst praktyczny: jak i do czego poszczególnych narzędzi językowych używać. Specjalna uwaga zwracana jest na nowe elementy języka, dostępne w wersjach 8 i 9. Rozbudowane rozdziały o kolekcjach, wejściu-wyjściu, programowaniu współbieżnym i dynamicznym stanowią swoiste kompendia, które dają nie tylko orientację co do zestawu dostępnych środków programowania, ale również omawiają ważne szczegóły i niuanse ich zastosowań. Publikacja adresowana jest do czytelnika zorientowanego w podstawach programowania w języku Java, apragnącego rozwijać swoje umiejętności.
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-01-18915-0 |
Rozmiar pliku: | 1,8 MB |
FRAGMENT KSIĄŻKI
W książce przedstawiono sposoby i techniki programowania użyteczne we wszelkich zastosowaniach języka Java. Materiał nie jest przeznaczony dla całkiem początkujących programistów Javy. Jednak choćby pobieżna orientacja w podstawach programowania w tym języku wystarczy, aby korzystając z materiału książki, znacznie pogłębić swoją wiedzę. Mając na względzie programistów niezbyt zaawansowanych w języku Java, każdy z poruszanych ważnych tematów, takich jak:
• programowanie obiektowe i funkcyjne,
• obsługa wyjątków,
• przetwarzanie kolekcji,
• programowanie operacji wejścia-wyjścia,
• programowanie współbieżne i równoległe,
• programowanie dynamiczne,
• lokalizacja i internacjonalizacji aplikacji,
jest omawiany od podstaw. Jednocześnie położono nacisk na kontekst praktyczny: jak i do czego stosować poszczególne narzędzia językowe? Szczególną uwagę skierowano na nowe elementy języka dostępne w wersji 8 i 9.
Rozbudowane rozdziały o kolekcjach, wejściu-wyjściu, programowaniu współbieżnym i równoległym oraz programowaniu dynamicznym można traktować jako swoiste kompendia, które dają nie tylko orientację co do zestawu dostępnych uniwersalnych środków programowania, lecz także omawiają ważne szczegóły i niuanse ich stosowania. Będą one zapewne interesujące również dla Czytelników już zaawansowanych w programowaniu w Javie.
Warto może też wymienić szczególnie ciekawe tematy omawiane w książce. Należą do nich:
• statyczne i domyślne metody interfejsów oraz mixiny, a także szczegółowe przedstawienie gotowych implementacji takich metod w gotowych interfejsach (zwłaszcza kolekcyjnych);
• możliwości i sposoby implementacji w interfejsach metod prywatnych (poczynając od Javy w wersji 9);
• lambda-wyrażenia wraz z przeglądem gotowych interfejsów funkcyjnych i zastosowania ich domyślnych metod;
• sposoby postępowania z wyjątkami kontrolowanymi w lambda-wyrażeniach;
• obiekty typu Optional jako monady oraz ich zastosowanie;
• spliteratory;
• przetwarzanie strumieniowe (pakiet java.util.stream);
• instrukcja try-with-resources jako ogólny sposób działania na dowolnych zasobach wymagających zamykania (z prezentacją koncepcji tłumionych wyjątków oraz rozszerzeń składniowych w Javie w wersji 9);
• metody strumieniowego przetwarzania plików;
• działania na katalogach za pomocą wizytorów, a także z użyciem przetwarzania strumieniowego;
• działania na archiwach, w tym za pomocą systemu plikowego ZipFileSystem i metod interfejsu FileVisitor;
• szczegółowe i obrazowe omówienie mechanizmu fork-join oraz koncepcji work-steeling;
• obiekty typu CountedCompleter jako kontynuacje oraz inne ich zastosowania;
• zadania typu CompletableFuture (nowe w Javie 8) i ich praktyczne zastosowanie;
• zasady i sposoby kończenia z zewnątrz równolegle wykonujących się zadań, w zależności od typu tych zadań;
• wyspecjalizowane synchronizatory, w tym – nowe w Javie 8 – obiekty typu StampedLock;
• zastosowanie refleksji oraz uchwytów metod (MethodHandle);
• tworzenie dynamicznych klas i obiektów typu proxy;
• zastosowania JavaBeans i delegacyjnego modelu obsługi zdarzeń zmian ich właściwości;
• definiowanie i przetwarzanie adnotacji (w tym definiowanie procesorów adnotacji);
• użycie skryptów z poziomu aplikacji Javy.
Jak już wspomniano, lektura książki wymaga znajomości podstaw programowania w języku Java. Założono m.in., że Czytelnik jest świadomy znaczenia pojęcia referencji w Javie, dlatego są czasem stosowane uproszczone opisy elementów języka czy fragmentów kodu. Zamiast dość niezgrabnych (choć precyzyjnych) tekstów typu: „metodzie przekazujemy jako argument referencję do obiektu klasy String” lub „metoda zwraca referencję do obiektu klasy String”, są używane prostsze sformułowania, np. „metodzie przekazujemy napis, metoda zwraca napis”. Oczywiście, zawsze należy pamiętać o różnicy między obiektem a referencją do obiektu.
Informacje na ten temat (a także omówienie innych ważnych podstaw języka) można znaleźć np. w książce autora Programowanie praktyczne od podstaw, wydanej przez WN PWN w 2014 roku. Prezentowane w niej bardziej zaawansowane tematy w obecnej publikacji zostały poszerzone i uzupełnione.
W doborze treści i sposobu jej prezentacji autor wykorzystał swoje doświadczenia z prowadzenia wykładów i zajęć programistycznych w Polsko-Japońskiej Akademii Technik Komputerowych. Niektóre fragmenty książki powstały na ich podstawie.
Praca jest przeznaczona dla Czytelników, którzy chcą samodzielnie rozwijać umiejętności programowania. Z powodzeniem może być też używana np. na jedno- lub dwusemestralnych kursach programowania na studiach wyższych.
Krzysztof Barteczko
Warszawa, sierpień 2015