Na okładce i stronie tytułowej: Wydanie 11 dotyczy wydania oryginalnego.
Tytuł oryginału: Java how to program.
Indeks.
Wprowadzenie do komputerów, internetu i Javy Sprzęt i oprogramowanie Prawo Moore'a Sposób organizacji komputera Hierarchia danych Języki maszynowe, języki asemblerowe i języki wysokiego poziomu Wprowadzenie do technologii obiektowej Samochód jako obiekt Metody i klasy Tworzenie egzemplarzy Wielokrotne użycie Komunikaty i wywoływanie metod Atrybuty i zmienne instancji Enkapsulacja i ukrywanie informacji Dziedziczenie Interfejsy Obiektowa analiza i projektowanie Język UML Systemy operacyjne Windows - własnościowy system operacyjny Linux - system operacyjny o otwartym kodzie źródłowym Systemy macOS i iOS firmy Apple dla urządzeń iPhone, iPad i iPod Touch System Android firmy Google Języki programowania Java74 Typowe środowisko programistyczne wykorzystujące Javę Testowanie przykładowej aplikacji napisanej w Javie Internet i sieć WWW Internet, czyli sieć sieci Sieć WWW - przyjazny internet Usługi sieciowe i mashupy Internet rzeczy Technologie związane z oprogramowaniem Otrzymywanie odpowiedzi na pytania Wprowadzenie do aplikacji javy, wejścia - wyjścia i operatorów Twój pierwszy program - wyświetlenie wiersza tekstu Kompilacja aplikacji Wykonywanie aplikacji Modyfikacja pierwszego programu Wyświetlanie tekstu metodą printf Inna aplikacja - dodawanie liczb całkowitych Deklaracja import Deklaracja i utworzenie obiektu Scanner w celu pobrania danych z klawiatury Prośba o wprowadzenie danych Deklaracja zmiennej dla liczby całkowitej i pobranie wartości z klawiatury Pobranie drugiej liczby całkowitej Użycie zmiennych w obliczeniach Wyświetlenie wyniku obliczeń Dokumentacja API Javy Deklaracja i inicjalizacja zmiennej jako osobne instrukcje Zagadnienia dotyczące pamięci Operacje arytmetyczne Podejmowanie decyzji - operatory równości i relacji Wprowadzenie do klas, obiektów, metod i tekstów Zmienne instancji, metody ustawiające i metody pobierające Klasa Account ze zmienną instancji oraz metodą ustawiającą i metodą pobierającą Klasa AccountTest, która tworzy i stosuje obiekt klasy Account Kompilacja i wykonanie aplikacji z wieloma klasami Diagram klas UML dla klasy Account Dodatkowe uwagi na temat klasy AccountTest Inżynieria oprogramowania z prywatnymi zmiennymi instancji i publicznymi metodami dostępowymi Klasa Account - inicjalizacja obiektów za pomocą konstruktorów Deklaracja konstruktora klasy Account dla własnej inicjalizacji obiektów Klasa AccountTest - inicjalizacja obiektów Account w momencie ich tworzenia Klasa Account ze stanem konta - liczby zmiennoprzecinkowe Klasa Account ze zmienną instancji balance typu double Klasa AccountTest używająca klasy Account Typy podstawowe i typy referencyjne (Opcjonalnie) Studium przypadku GUI i grafiki - prosty interfejs graficzny Czym jest interfejs graficzny? FXML i narzędzie Scene Builder Aplikacja powitalna - wyświetlenie tekstu i obrazka Uruchomienie narzędzia Scene Builder i utworzenie pliku Welcome.fxml Dodanie obrazu do folderu zawierającego plik Welcome.fxml Tworzenie kontenera układu VBox Konfiguracja kontenera układu VBox Dodanie i konfiguracja etykiety Dodanie i konfiguracja Image View Podgląd wynikowego interfejsu aplikacji Struktury sterujące, część 1.; przypisanie i operatory ++ i - Algorytmy Pseudokod Struktury sterujące Struktury sekwencyjne w Javie Instrukcje wyboru w Javie Instrukcje iteracji w Javie Podsumowanie instrukcji sterujących Javy Instrukcja pojedynczego wyboru - if Instrukcja podwójnego wyboru - if.. .else Zagnieżdżone instrukcje if.. .else Problem wiszącego else Bloki Operator warunku (?:) Klasa Student - zagnieżdżone instrukcje if...else Instrukcja iteracji while Tworzenie algorytmów - iteracja sterowana licznikiem Tworzenie algorytmów - iteracja sterowana znacznikiem Tworzenie algorytmów - zagnieżdżone struktury sterujące Złożone operatory przypisania Operatory inkrementacji i dekrementacji Typy podstawowe Studium przypadku GUI i grafiki - obsługa zdarzeń i rysowanie linii Test ukończonej aplikacji Budowanie GUI aplikacji Przygotowanie do interakcji z GUI w sposób programowy Klasa DrawLinesController Klasa DrawLines - główna klasa aplikacji Struktury sterujące, część 2.; operatory logiczne Podstawy iteracji sterowanej licznikiem Instrukcja iteracji for Przykłady użycia instrukcji for Aplikacja - suma liczb parzystych od 2 do 20 Aplikacja - kalkulator procentu składanego Instrukcja iteracji do...while Instrukcja switch dotycząca wielu wyborów Studium przypadku klasy AutoPolicy - tekst jako wartość w instrukcji switch Instrukcje break i continue Instrukcja break Instrukcja continue Operatory logiczne Operator warunkowy AND (&&) Operator warunkowy OR (| |) Skrócone obliczenie wartości złożonych warunków Operatory logiczne AND (&) i OR (|) Operator logiczny XOR ( Operator negacji logicznej (!) Przykład użycia operatorów logicznych Podsumowanie programowania strukturalnego Studium przypadku GUI i grafiki - rysowanie prostokątów i owali Metody - dokładniejsze spojrzenie Jednostki programu w Javie Metody statyczne, pola statyczne i klasa Math Metody z wieloma parametrami Uwagi na temat deklarowania i używania metod Stos wywołań metod i rekordy aktywacyjne Stos wywołań metod Ramki stosu Zmienne lokalne i ramki stosu Przepełnienie stosu Promocja argumentu i rzutowanie Pakiety API Javy Studium przypadku - bezpieczne generowanie liczb losowych Studium przypadku - gra losowa i wprowadzenie do typów enum Zasięg deklaracji Przeciążanie metod Deklarowanie przeciążonych metod Rozróżnianie przeciążonych metod Typy zwracane przez metody przeciążone (Opcjonalnie) Studium przypadku GUI i grafiki - kolory i wypełnione kształty Tablice i obiekty Array List Tablice Deklaracja i tworzenie tablic Przykłady użycia tablic Tworzenie i inicjalizacja tablicy Użycie inicjalizatora tablicy Obliczenie wartości elementów tablicy Sumowanie elementów tablicy Graficzne przedstawienie danych z tablicy za pomocą wykresu słupkowego Użycie elementów tablicy jako liczników Użycie tablic do analizy wyników Obsługa wyjątków - przetworzenie niepoprawnej odpowiedzi Instrukcja try Wykonywanie bloku catch Metoda toString parametru wyjątku Studium przypadku - tasowanie i rozdawanie kart Rozszerzona instrukcja for Przekazywanie tablic do metod Przekazywanie przez wartość kontra przekazywanie przez referencję Studium przypadku - klasa GradeBook wykorzystująca tablicę z ocenami Tablice wielowymiarowe Tablice tablic jednowymiarowych Dwuwymiarowe tablice z wierszami o różnych długościach Tworzenie tablic dwuwymiarowych za pomocą wyrażenia tworzenia tablic Przykład tablicy dwuwymiarowej - wyświetlanie wartości elementów Typowe operacje na tablicach wielowymiarowych wykonywane pętlami for Studium przypadku - klasa GradeBook używająca tablicy dwuwymiarowej Lista argumentów o zmiennej długości Użycie argumentów wiersza poleceń Klasa Arrays Wprowadzenie do kolekcji i klasy ArrayList (Opcjonalnie) Studium przypadku GUI i grafiki - rysowanie łuków Obiekty i klasy - dokładniejsze spojrzenie Studium przypadku - klasa Time Sterowanie dostępem do składowych Odnoszenie się do składowych aktualnego obiektu referencją this Studium przypadku klasy Time - przeciążanie konstruktorów Konstruktory domyślne i bezargumentowe Uwagi dotyczące metod dostępowych Kompozycja Typ enum Mechanizm odśmiecania pamięci Składowe statyczne klasy Import statyczny Zmienne instancji typu final Dostęp na poziomie pakietu Użycie klasy BigDecimal do precyzyjnych obliczeń pieniężnych (Opcjonalnie) Studium przypadku GUI i grafiki - użycie obiektów z grafiką Programowanie obiektowe - dziedziczenie Klasy nadrzędne i podklasy Składowe chronione Związek między klasami nadrzędnymi i podklasami Tworzenie i wykorzystywanie klasy CommissionEmployee Tworzenie i użycie klasy BasePlusCommissionEmployee Tworzenie hierarchii dziedziczenia CommissionEmployee przez BasePlusCommissionEmployee Tworzenie hierarchii dziedziczenia CommissionEmployee przez BasePlusCommissionEmployee używającej zmiennych chronionych Tworzenie hierarchii dziedziczenia CommissionEmployee przez BasePlusCommissionEmployee używającej zmiennych prywatnych Konstruktory w podklasach Klasa Object Projektowanie klas - kompozycja kontra dziedziczenie Programowanie obiektowe - polimorfizm i interfejsy Przykłady polimorfizmu Przykład zachowania polimorficznego Metody i klasy abstrakcyjne Studium przypadku - system płac wykorzystujący polimorfizm Abstrakcyjna klasa nadrzędna Employee Konkretna podklasa SalariedEmployee Konkretna podklasa HourlyEmployee Konkretna podklasa CommissionEmployee Pośrednia konkretna podklasa BasePlusCommissionEmployee Przetwarzanie polimorficzne, operator instanceof i rzutowanie w dół Umożliwienie przypisywania między zmiennymi klas nadrzędnych i podklas Metody i klasy finalne Dokładniejszy opis problemów z wywoływaniem metod z konstruktorów Tworzenie i stosowanie interfejsów Tworzenie hierarchii Payable Interfejs Payable Klasa Invoice Modyfikacja klasy Employee w celu implementacji interfejsu Payable Użycie interfejsu Payable do polimorficznego przetwarzania klas Invoice i Employee Wspólne interfejsy API Javy Rozszerzenia interfejsów w Javie SE 8 Domyślne metody interfejsu Statyczne metody interfejsu Interfejsy funkcyjne Prywatne metody interfejsów w Javie SE 9 Konstruktory prywatne Programowanie do interfejsu, a nie do implementacji Dziedziczenie implementacji działa najlepiej dla niewielkiej liczby ściśle powiązanych klas Dziedziczenie interfejsów jest najlepsze dla elastyczności Modyfikacja hierarchii Employee Studium przypadku GUI i grafiki - rysowanie z użyciem polimorfizmu Obsługa wyjątków - dokładniejsze spojrzenie Przykład - dzielenie przez 0 bez obsługi wyjątków Przykład - obsługa wyjątków ArithmeticException i InputMismatchException Kiedy używać obsługi wyjątków Hierarchia wyjątków Javy Blok finally Rozwijanie stosu i uzyskiwanie informacji z wyjątku Wyjątki łańcuchowe Deklarowanie nowych rodzajów wyjątków Warunki wstępne i warunki końcowe Asercje Instrukcja try z zasobami - automatyczne zwalnianie zasobów Graficzny interfejs użytkownika JavaFX, część 1. Narzędzie Scene Builder dla JavaFX Struktura okna aplikacji JavaFX Aplikacja powitalna - wyświetlenie tekstu i obrazka Uruchomienie narzędzia Scene Builder i utworzenie pliku Welcome.fxml Dodanie obrazu do folderu zawierającego plik Welcome.fxml Tworzenie kontenera układu VBox Konfiguracja kontenera układu VBox Dodanie i konfiguracja etykiety Dodanie i konfiguracja Image View Podgląd wynikowego interfejsu aplikacji Aplikacja do wyliczania napiwków - wprowadzenie do obsługi zdarzeń Testowanie kalkulatora napiwków Przedstawienie technologii Budowanie GUI aplikacji Klasa TipCalculator Klasa TipCalculatorController Funkcjonalności opisywane w pozostałych rozdziałach dotyczących JavaFX Graficzny interfejs użytkownika JavaFX, część 2. Układanie węzłów w grafie Aplikacja Painter - przyciski opcji, zdarzenia myszy i kształty Omówienie technologii Utworzenie pliku Painter.fxml Tworzenie GUI Podklasa Painter klasy Application Klasa PainterController Aplikacja do wybierania kolorów Omówienie technologii Tworzenie GUI Podklasa ColorChooser klasy Application Klasa ColorChooserControlłer Aplikacja do przeglądania okładek Omówienie technologii Dodanie obrazków do folderu aplikacji Budowanie interfejsu graficznego aplikacji Podklasa CoverViewer klasy Application Klasa CoverViewerController Aplikacja do przeglądania okładek - dostosowanie komórek List View Omówienie technologii Kopiowanie przeglądarki okładek Klasa własnej fabryki komórek - ImageTextCell Klasa CoverViewerController Dodatkowe możliwości JavaFX JavaFX 9 - aktualizacja JavaFX w Javie SE 9
Tekst, znaki i wyrażenia regularne Podstawy znaków i tekstów Klasa String Konstruktory klasy String Metody length, charAt i getChars Porównywanie tekstów Znajdowanie położenia znaków i fragmentów w tekstach Wydobywanie fragmentu tekstu Łączenie tekstów Inne metody klasy String Metoda valueOf klasy String Klasa StringBuilder Konstruktory StringBuilder Metody length, capacity, setLength i ensureCapacity klasy StringBuilder Metody charAt, setCharAt, getChars i reverse klasy StringBuilder Metody append klasy StringBuilder Metody wstawiania i usuwania klasy StringBuilder Klasa Character Tokenizacja tekstów Wyrażenia regularne, klasy Pattern i Matcher Zastępowanie fragmentów tekstu i podział tekstu Klasy Pattern i Matcher Pliki, strumienie wejścia - wyjścia, NIO i serializacja XML Pliki i strumienie Użycie klas i interfejsów NIO do pobrania informacji o pliku lub folderze Sekwencyjne pliki tekstowe Tworzenie sekwencyjnego pliku tekstowego Odczyt danych z sekwencyjnego pliku tekstowego Studium przypadku — program sprawdzający salda płatności klientów Aktualizacja plików sekwencyjnych Serializacja XML Tworzenie sekwencyjnego pliku używającego serializacji XML Odczyt i deserializacja danych z pliku sekwencyjnego Okna dialogowe FileChooser i DirectoryChooser (Opcjonalnie) Dodatkowe klasy java.io Interfejsy i klasy dotyczące wejścia - wyjścia danych bajtowych Interfejsy i klasy dla znakowych operacji wejścia - wyjścia Ogólne kolekcje Omówienie kolekcji Klasy otoczkowe Automatyczne pakowanie i rozpakowywanie Interfejs Collection i klasa Collections Listy ArrayList i Iterator Klasa LinkedList Metody klasy Collections Metoda sort Metoda shuffle Metody reverse, fill, copy, max i min Metoda binarySearch Metody addAll, frequency i disjoint Klasa PriorityQueue i interfejs Queue Zbiory Odwzorowania Synchronizowane kolekcje Kolekcje niezmienne Implementacje abstrakcyjne Java SE 9 — wygodne metody fabryczne dla niezmiennych kolekcji Lambdy i strumienie Strumienie i redukcja Sumowanie liczb od 1 do 10 pętlą for Iteracja zewnętrzna za pomocą pętli for jest narażona na błędy Sumowanie za pomocą strumienia i redukcji Iteracja wewnętrzna Odwzorowania i lambdy Wyrażenia lambda Składnia lambd Operacje pośrednie i operacje kończące Filtrowanie Jak elementy poruszają się po potoku strumienia? Referencje do metod Tworzenie strumienia IntStream liczb losowych Wykonywanie zadań dla każdego elementu strumienia za pomocą metody forEach i referencji do metody Odwzorowanie liczb całkowitych na obiekty String za pomocą metody mapToObj Łączenie tekstów metodą collect Operacje IntStream Tworzenie obiektu IntStream i wyświetlanie jego wartości Operacje kończące count, min, max, sum i average Operacja kończąca reduce Sortowanie wartości IntStream Interfejsy funkcyjne Lambdy — dokładniejsze spojrzenie Obsługa StreamInteger Tworzenie StreamInteger Sortowanie strumienia i zbieranie wyników Filtrowanie strumienia i przechowywanie wyników w celu ich późniejszego użycia Filtrowanie i sortowanie strumienia i zbieranie wyników Sortowanie zebranych wyników Obsługa StreamString Mapowanie tekstów na duże litery Filtrowanie tekstów i sortowanie ich rosnąco bez uwzględniania wielkości liter Filtrowanie tekstów i sortowanie ich malejąco bez uwzględniania wielkości liter Obsługa StreamEmployee Tworzenie i wyświetlenie ListEmployee Odfiltrowywanie pracowników z wynagrodzeniem mieszczącym się w określonym przedziale Sortowanie pracowników na podstawie wielu pól Odwzorowanie pracowników na unikatowe nazwiska Grupowanie pracowników według działów Zliczenie pracowników poszczególnych działów Suma i średnia zarobków pracowników Utworzenie StreamString na podstawie pliku Strumienie wartości losowych Strumienie nieskończone Obsługa zdarzeń za pomocą lambd Dodatkowe uwagi na temat interfejsów Javy SE 8 Rekurencja Pojęcie rekurencji Przykład użycia rekurencji — silnia Implementacja FactorialCalculator z użyciem klasy BigInteger Przykład użycia rekurencji — ciąg Fibonacciego Rekurencja i stos wywołań metod Rekurencja kontra iteracja Wieże Hanoi Fraktale Krzywa Kocha (Opcjonalnie) Studium przypadku — pióro Lo (Opcjonalnie) Interfejs graficzny rysujący fraktal (Opcjonalnie) Klasa FractalController Rekurencyjne nawracanie Wyszukiwanie, sortowanie i notacja dużego O Wyszukiwanie liniowe Notacja dużego O Algorytmy O(1) Algorytmy O(n) Algorytmy O(n2) Duże O dla wyszukiwania liniowego Wyszukiwanie binarne Implementacja wyszukiwania binarnego Wydajność wyszukiwania binarnego Algorytmy sortujące Sortowanie przez wybieranie Implementacja sortowania przez wybieranie Wydajność sortowania przez wybieranie Sortowanie przez wstawianie Implementacja sortowania przez wstawianie Wydajność sortowania przez wstawianie Sortowanie przez scalanie Implementacja algorytmu sortowania przez scalanie Wydajność sortowania przez scalanie Duże zrównoleglenie i algorytmy równoległe Uogólnione klasy i metody — dokładniejsze spojrzenie Po co nam metody uogólnione? Metody uogólnione — implementacja i przekształcenia na etapie kompilacji Dodatkowy problem przekształcenia w trakcie kompilacji Przeciążanie metod uogólnionych Klasy uogólnione Wieloznaczność w metodach akceptujących parametry typu Własne uogólnione struktury danych Klasy odnoszące się do samych siebie Dynamiczna alokacja pamięci Listy jednokierunkowe Lista jednokierunkowa Implementacja uogólnionej klasy List Klasy uogólnione ListNode i List Klasa ListTest Metoda insertAtFront klasy List Metoda insertAtBack klasy List Metoda removeFromFront klasy List Metoda removeFromBack klasy List Metoda print klasy List Tworzenie własnych pakietów Stosy960 Kolejki Drzewa Podrozdział specjalny — tworzenie własnego kompilatora Grafika, animacje i wideo w JavaFX Sterowanie czcionkami poprzez kaskadowe arkusze stylów CSS, który określa styl GUI FXML, który definiuje GUI — wprowadzenie do XML Referencja do pliku CSS w dokumencie FXML Określenie klasy dla stylów w VBox Programowe wczytywanie CSS Wyświetlanie kształtów dwuwymiarowych Definiowanie dwuwymiarowych kształtów za pomocą FXML CSS, który zapewnia stylowanie dwuwymiarowych kształtów Klasy Polyline, Polygon i Path GUI i CSS Klasa PolyShapesController Przekształcenia Odtwarzanie materiału wideo Interfejs graficzny aplikacji Klasa VideoPlayerController Animacje Transition Plik TransitionAnimations.fxml Klasa TransitionAnimationsController Animacje Timeline Animacja klatka po klatce za pomocą klasy AnimationTimer Rysowanie na kanwie Kształty trójwymiarowe Współbieżność Stany i cykl życia wątku Stan nowy i stan działający Stan oczekujący Stan oczekujący czasowo Stan zablokowany Stan zakończony Stan działający z punktu widzenia systemu operacyjnego Priorytety i harmonogramowanie wątków Odsuwanie wykonania w nieskończoność i blokady wzajemne Tworzenie i wykonywanie wątków za pomocą frameworku Executor Synchronizacja wątków Dane niezmienne Monitory Współdzielenie modyfikowalnych danych bez synchronizacji Synchronizowany dostęp do współdzielonych i modyfikowanych danych — operacje niepodzielne Związek typu producent - konsument bez synchronizacji Związek typu producent - konsument — klasa ArrayBlockingQueue Związek typu producent - konsument Związek typu producent - konsument — bufory o określonym rozmiarze Związek typu producent - konsument — interfejsy Lock i Condition Kolekcje współbieżne Wielowątkowość w JavaFX Wykonywanie obliczeń w wątku roboczym — ciąg Fibonacciego Przetwarzanie wyników pośrednich — sito Eratostenesa Pomiar czasu działania metod sort i parallelSort Java SE 8 — strumienie szeregowe i zrównoleglone (Dla zaawansowanych) Interfejsy Callable i Future (Dla zaawansowanych) Framework Fork/Join Dostęp do baz danych poprzez JDBC Relacyjne bazy danych Baza danych books Język SQL Podstawowe zapytanie SELECT Klauzula WHERE Klauzula ORDER BY Łączenie danych z wielu tabel — operator INNER JOIN Instrukcja INSERT Instrukcja UPDATE Instrukcja DELETE Konfiguracja bazy danych Java DB Tworzenie baz danych dla rozdziału w systemie Windows Tworzenie baz danych dla rozdziału w systemie macOS Tworzenie baz danych dla rozdziału w systemie Linux Połączenie się z bazą danych i wykonanie zapytania Automatyczne odnajdowanie sterowników Połączenie z bazą danych Utworzenie obiektu Statement do wykonywania poleceń SQL Wykonanie zapytania Przetwarzanie wyników zapytania Odpytywanie bazy danych books Klasa ResultSetTableModel Wyświetlenie interfejsu graficznego aplikacji Klasa DisplayQueryResultsController Interfejs RowSet Klasa PreparedStatement Aplikacja do przechowywania kontaktów używająca obiektów PreparedStatement Klasa Person Klasa PersonQueries Interfejs graficzny książki adresowej Klasa AddressBookController Procedury składowane Przetwarzanie transakcyjne Wprowadzenie do JShell — interaktywnej konsoli Javy 9 Instalacja JDK 9 Wprowadzenie do JShell Uruchamianie sesji JShell Wykonywanie poleceń Jawne deklarowanie zmiennych Wylistowanie i wykonanie wcześniejszych fragmentów Wyliczanie wyrażeń i niejawne deklarowanie zmiennych Wykorzystywanie niejawnie zadeklarowanych zmiennych Sprawdzanie zawartości zmiennej Czyszczenie sesji JShell Instrukcje wielowierszowe Edycja fragmentów kodu Wyjście z JShell Wejście danych z konsoli w JShell Deklarowanie i stosowanie klas Tworzenie klasy w JShell Jawne deklarowanie zmiennych będących referencjami Tworzenie obiektów Modyfikowanie obiektów Tworzenie własnej nazwy zmiennej dla wyrażenia Zapisywanie i otwieranie plików z fragmentami kodu Automatyczne uzupełnianie Automatyczne uzupełnianie identyfikatorów Automatyczne uzupełnianie poleceń JShell Przeglądanie składowych klas i dokumentacji Wyświetlanie składowych statycznych klasy Math Przeglądanie parametrów metod Przeglądanie dokumentacji metody Przeglądanie dokumentacji pól publicznych Przeglądanie dokumentacji klasy Przeglądanie przeciążeń metod Odkrywanie składowych konkretnego obiektu Deklarowanie metod Użycie w przód niezadeklarowanej metody — deklaracja metody displayCubes Deklarowanie wcześniej niezadeklarowanej metody Testowanie metody cube i zmiana jej deklaracji Testowanie uaktualnionej metody cube i metody displayCubes Wyjątki Import klas i dodawanie pakietów do CLASSPATH Korzystanie z zewnętrznego edytora Podsumowanie poleceń JShell Uzyskiwanie pomocy Polecenie /edit — dodatkowe funkcjonalności pomocy Polecenie /reload Polecenie /drop Tryby informacji zwrotnej Inne opcje JShell konfigurowalne za pomocą /set Skróty-klawiaturowe w edycji fragmentów W jaki sposób JShell modyfikuje Jave w celu jej interaktywnego użycia? Obsługa JShell w IDE Sieć (online) Odczyt pliku z serwera WWW Wykonanie prostego serwera przy użyciu gniazd strumieniowych Wykonanie prostego klienta przy użyciu gniazd strumieniowych Interakcja klienta i serwera wykorzystująca gniazda strumieniowe Datagramy — bezpołączeniowa interakcja między klientem i serwerem Kółko i krzyżyk w wersji klient - serwer z serwerem wielowątkowym Opcjonalne studium przypadku — aplikacja DeitelMessenger System modułów platformy Java (online) Deklaracja modułu Dyrektywa requires Dyrektywa requires transitive — niejawne czytanie Dyrektywy exports i exports...to Dyrektywa uses Dyrektywa provides...with Modyfikator open oraz dyrektywy opens i opens...to Ograniczone słowa kluczowe Modułowa wersja aplikacji powitalnej Struktura aplikacji Klasa Welcome Plik module-info.java Graf zależności modułu Kompilacja modułu Uruchamianie aplikacji z poziomu rozbitego folderu aplikacji Spakowanie modułu do pliku JAR Uruchamianie aplikacji z modułowego pliku JAR Dodatkowa uwaga — ścieżka klas a ścieżka modułów Tworzenie i użycie własnych modułów Eksport pakietu w celu użycia w innych modułach Wykorzystanie klasy pakietu w innym module Kompilacja i uruchomienie przykładu Zapakowanie aplikacji do modułowych plików JAR Silna enkapsulacja i dostępność Graf zależności modułu — dokładniejsze spojrzenie Modul java.sql Moduł java.se Wyświetlenie grafu zależności modułów JDK Błąd — graf modułu z cyklem Migracja kodu do Javy 9 Moduł nienazwany Moduły automatyczne Narzędzie jdeps — analiza zależności Zasoby w modułach — wykorzystanie modułu automatycznego Moduly automatyczne Wymaganie kilku modułów Otwarcie modułu na potrzeby mechanizmu refleksji Graf zależności modułu Kompilacja modułu Uruchomienie aplikacji po modularyzacji Tworzenie własnych systemów wykonawczych narzędziem jlink Wyświetlenie listy modułów JRE Własny system wykonawczy zawierający tylko moduł java.base Tworzenie własnego systemu wykonawczego dla aplikacji powitalnej Wykonywanie aplikacji powitalnej we własnym systemie wykonawczym Użycie mechanizmu rozwiązywania modułów z własnym systemem wykonawczym Usługi i klasa ServiceLoader Interfejs dostawcy usług Wczytywanie i użycie dostawców usług Dyrektywa uses modułu i konsumpcja usług Uruchomienie aplikacji bez dostawców usług Implementacja dostawcy usług Dyrektywa provides...with modułu i deklaracja dostawcy usług Uruchomienie aplikacji z jednym dostawcą usług Implementacja drugiego dostawcy usług Uruchomienie aplikacji z dwoma dostawcami usług Pozostałe tematy związane z Javą 9 (online) Przypomnienie — funkcjonalności Javy 9 omówione w poprzednich rozdziałach Nowa wersja formatu tekstowego Wyrażenia regularne — nowe metody klasy Matcher Metody appendReplacement i appendTail Metody replaceFirst i replaceAll Metoda results Nowe metody interfejsu Stream Metody take While i drop While strumienia Metoda iterate interfejsu Stream Metoda ofNullable interfejsu Stream Moduły w JShell API skórek dostępne w JavaFX 9 Inne usprawnienia związane z interfejsem graficznym i grafiką Obrazy o wielu rozdzielczościach Obsługa obrazów TIFF Funkcjonalności pulpitu zależne od platformy Tematy związane z bezpieczeństwem Javy 9 Filtrowanie nadchodzących danych serializowanych Domyślne tworzenie magazynów kluczy PKCS12 Obsługa protokołu DTLS (Datagram Transport Layer Security) Obsługa walidacji OCSP dla TLS Rozszerzenie umożliwiające negocjację protokołu warstwy aplikacyjnej w TLS Inne tematy związane z Javą 9 Usprawnienie łączenia tekstów Obsługa usług i API logów na poziomie platformy Aktualizacja API procesów Podpowiedzi dotyczące oczekiwania Obsługa paczek zasobów z kodowaniem UTF-8 Domyślne korzystanie z danych CLDR Usunięcie ostrzeżeń o wycofaniu z instrukcji importu Wielowydaniowe pliki JAR Unicode Rozbudowa obsługi współbieżności Elementy usunięte z JDK i Javy 9 Elementy zaproponowane do usunięcia w przyszłych wersjach Javy Ulepszone wycofywanie Elementy, które prawdopodobnie zostaną usunięte w przyszłych wydaniach Javy Znajdowanie wycofywanych funkcjonalności Aplety Javy Tabela kolejności wykonywania operatorów Zbiór znaków ASCII Korzystanie z debuggera Punkty wstrzymania oraz polecenia run, stop, cont i print Polecenia print i set Sterowanie wykonywaniem za pomocą poleceń step, step up i next Polecenie watch Polecenie elear
Sygnatura czytelni BWEAiI:
XII N 116
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.