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ń. Zakłada się, że czytelnik ma orientację w podstawach programowania w języku Java, ale niekoniecznie musi być zaawansowanym programistą. Dlatego ważne bloki tematyczne (takie jak np. programowanie obiektowe i funkcyjne w Javie) omawiane są od podstaw. D
<b>o interesujących szczegółowych tematów poruszanych w książce należą:</b> - definiowanie metod w interfejsach (w tym metod prywatnych, poczynając od Javy w wersji 9), - lambda-wyrażenia i przetwarzanie strumieniowe, - obiekty typu Optional jako monady oraz ich użycie, - spliteratory, - zadania typu CountedCompleter jako kontynuacje oraz ich zastosowania, - zadania typu CompletableFuture (dostępne od Javy 8) i ich praktyczne użycie, - 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.