Facebook - konwersja

Java. Kompendium programisty - ebook

Wydawnictwo:
Format:
EPUB
Data wydania:
6 czerwca 2023
199,00
19900 pkt
punktów Virtualo

Java. Kompendium programisty - ebook

Java od wielu lat utrzymuje swoją wyjątkową pozycję. To język programowania, który łączy w sobie technologiczną dojrzałość i nowoczesność. Jego twórcy od pierwszego wydania kładą nacisk na programowanie rozwiązań internetowych, a także na elastyczność i szybkość. W efekcie obecnie Java często jest pierwszym i najlepszym wyborem programistów, którzy chcą tworzyć szerokie spektrum oprogramowania. Wszędzie tam, gdzie wymaga się niezawodności, można znaleźć kod Javy.

Oto dwunaste wydanie wyczerpującego kompendium, w pełni zaktualizowane, uzupełnione o nowości wprowadzone w Java SE 17. Opisano w nim cały język Java: jego składnię, słowa kluczowe i najistotniejsze zasady programowania. Znalazły się tu także informacje dotyczące biblioteki Java API, takie jak operacje wejście-wyjścia, biblioteka strumieni i techniki programowania współbieżnego. Nie zabrakło opisu biblioteki Swing, JavaBeans i serwletów, jak również licznych przykładów praktycznego zastosowania Javy. Wyczerpująco omówiono najnowsze możliwości języka, takie jak rekordy, klasy zapieczętowane czy też wyrażenia switch. Podręcznik został napisany w sposób przejrzysty, jasnym i zrozumiałym językiem, co znakomicie ułatwia naukę, a poszczególne zagadnienia zilustrowano licznymi przykładowymi fragmentami kodu źródłowego. To sprawia, że z kompendium skorzystają wszyscy programiści Javy, zarówno początkujący, jak i profesjonalni deweloperzy.

W książce między innymi:

  • zasady programowania obiektowego
  • obsługa zdarzeń, moduły i wyrażenia lambda
  • klasy i interfejsy zapieczętowane
  • rozszerzenia instrukcji switch, rekordy, bloki tekstu
  • Collections, AWT, Swing, JavaBean i serwlety

Java: wszystko, co musisz wiedzieć, w jednym kompendium!

Spis treści

O autorze

O redaktorze merytorycznym

Przedmowa

CZĘŚĆ I. Język Java

  • 1. Historia i ewolucja języka Java
    • Rodowód Javy
      • Narodziny nowoczesnego języka - C
      • Język C++ - następny krok
      • Podwaliny języka Java
    • Powstanie języka Java
      • Powiązanie z językiem C#
    • Jak Java wywarła wpływ na internet
      • Aplety Javy
      • Bezpieczeństwo
      • Przenośność
    • Magia języka Java - kod bajtowy
    • Wychodząc poza aplety
    • Szybszy harmonogram udostępniania
    • Serwlety - Java po stronie serwera
    • Hasła języka Java
      • Prostota
      • Obiektowość
      • Niezawodność
      • Wielowątkowość
      • Neutralność architektury
      • Interpretowalność i wysoka wydajność
      • Rozproszenie
      • Dynamika
    • Ewolucja Javy
    • Kultura innowacji
  • 2. Podstawy języka Java
    • Programowanie obiektowe
      • Dwa paradygmaty
      • Abstrakcja
      • Trzy zasady programowania obiektowego
    • Pierwszy przykładowy program
      • Wpisanie kodu programu
      • Kompilacja programów
      • Bliższe spojrzenie na pierwszy przykładowy program
    • Drugi prosty program
    • Dwie instrukcje sterujące
      • Instrukcja if
      • Pętla for
    • Bloki kodu
    • Kwestie składniowe
      • Znaki białe
      • Identyfikatory
      • Stałe
      • Komentarze
      • Separatory
      • Słowa kluczowe języka Java
    • Biblioteki klas Javy
  • 3. Typy danych, zmienne i tablice
    • Java to język ze ścisłą kontrolą typów
    • Typy proste
    • Typy całkowitoliczbowe
      • Typ byte
      • Typ short
      • Typ int
      • Typ long
    • Typy zmiennoprzecinkowe
      • Typ float
      • Typ double
    • Typ znakowy
    • Typ logiczny
    • Bliższe spojrzenie na stałe
      • Stałe całkowitoliczbowe
      • Stałe zmiennoprzecinkowe
      • Stałe logiczne
      • Stałe znakowe
      • Stałe łańcuchowe
    • Zmienne
      • Deklaracja zmiennej
      • Inicjalizacja dynamiczna
      • Zasięg i czas życia zmiennych
    • Konwersja typów i rzutowanie
      • Automatyczna konwersja typów
      • Rzutowanie niezgodnych typów
    • Automatyczne rozszerzanie typów w wyrażeniach
      • Zasady rozszerzania typu
    • Tablice
      • Tablice jednowymiarowe
      • Tablice wielowymiarowe
      • Alternatywna składnia deklaracji tablicy
    • Wnioskowanie typów zmiennych lokalnych
      • Ograniczenia var
    • Kilka słów o łańcuchach
  • 4. Operatory
    • Operatory arytmetyczne
      • Podstawowe operatory arytmetyczne
      • Operator reszty z dzielenia
      • Operatory arytmetyczne z przypisaniem
      • Inkrementacja i dekrementacja
    • Operatory bitowe
      • Logiczne operatory bitowe
      • Przesunięcie w lewo
      • Przesunięcie w prawo
      • Przesunięcie w prawo bez znaku
      • Operatory bitowe z przypisaniem
    • Operatory relacji
    • Operatory logiczne
      • Operatory logiczne ze skracaniem
    • Operator przypisania
    • Operator ?
    • Kolejność wykonywania operatorów
    • Stosowanie nawiasów okrągłych
  • 5. Instrukcje sterujące
    • Instrukcje wyboru
      • Instrukcja if
      • Tradycyjna instrukcja switch
    • Instrukcje iteracyjne
      • Pętla while
      • Pętla do-while
      • Pętla for
      • Wersja for-each pętli for
      • Wnioskowanie typów zmiennych lokalnych w pętlach for
      • Pętle zagnieżdżone
    • Instrukcje skoku
      • Instrukcja break
      • Instrukcja continue
      • Instrukcja return
  • 6. Wprowadzenie do klas
    • Klasy
      • Ogólna postać klasy
      • Prosta klasa
    • Deklarowanie obiektów
      • Bliższe spojrzenie na operator new
    • Przypisywanie zmiennych referencyjnych do obiektów
    • Wprowadzenie do metod
      • Dodanie metody do klasy Box
      • Zwracanie wartości
      • Dodanie metody przyjmującej parametry
    • Konstruktor
      • Konstruktor sparametryzowany
    • Słowo kluczowe this
      • Ukrywanie zmiennych składowych
    • Mechanizm odzyskiwania pamięci
    • Klasa stosu
  • 7. Dokładniejsze omówienie metod i klas
    • Przeciążanie metod
      • Przeciążanie konstruktorów
    • Obiekty jako parametry
    • Dokładniejsze omówienie przekazywania argumentów
    • Zwracanie obiektów
    • Rekurencja
    • Składowe statyczne
    • Słowo kluczowe final
    • Powtórka z tablic
    • Klasy zagnieżdżone i klasy wewnętrzne
    • Omówienie klasy String
    • Wykorzystanie argumentów wiersza poleceń
    • Zmienna liczba argumentów
      • Przeciążanie metod o zmiennej liczbie argumentów
      • Zmienna liczba argumentów i niejednoznaczności
    • Stosowanie wnioskowania typów zmiennych lokalnych z typami referencyjnymi
  • 8. Dziedziczenie
    • Podstawy dziedziczenia
      • Dostęp do składowych a dziedziczenie
      • Bardziej praktyczny przykład
      • Zmienna klasy bazowej może zawierać referencję do obiektu klasy pochodnej
    • Słowo kluczowe super
      • Wykorzystanie słowa kluczowego super do wywołania konstruktora klasy bazowej
      • Drugie zastosowanie słowa kluczowego super
    • Tworzenie hierarchii wielopoziomowej
    • Kiedy są wykonywane konstruktory?
    • Przesłanianie metod
    • Dynamiczne przydzielanie metod
      • Dlaczego warto przesłaniać metody?
      • Zastosowanie przesłaniania metod
    • Klasy abstrakcyjne
    • Słowo kluczowe final i dziedziczenie
      • Słowo kluczowe final zapobiega przesłanianiu
      • Słowo kluczowe final zapobiega dziedziczeniu
    • Wnioskowanie typów zmiennych lokalnych a dziedziczenie
    • Klasa Object
  • 9. Pakiety i interfejsy
    • Pakiety
      • Definiowanie pakietu
      • Znajdowanie pakietów i ścieżka CLASSPATH
      • Prosty przykład pakietu
    • Dostęp do pakietów i składowych
      • Przykład dostępu
    • Import pakietów
    • Interfejsy
      • Definiowanie interfejsu
      • Implementacja interfejsu
      • Interfejsy zagnieżdżone
      • Stosowanie interfejsów
      • Zmienne w interfejsach
      • Interfejsy można rozszerzać
    • Metody domyślne
      • Podstawy metod domyślnych
      • Bardziej praktyczny przykład
      • Problemy wielokrotnego dziedziczenia
    • Metody statyczne w interfejsach
    • Stosowanie metod prywatnych w interfejsach
    • Ostatnie uwagi dotyczące pakietów i interfejsów
  • 10. Obsługa wyjątków
    • Podstawy obsługi wyjątków
    • Typy wyjątków
    • Nieprzechwycone wyjątki
    • Stosowanie instrukcji try i catch
      • Wyświetlenie opisu wyjątku
    • Wiele klauzul catch
    • Zagnieżdżone instrukcje try
    • Instrukcja throw
    • Klauzula throws
    • Słowo kluczowe finally
    • Wyjątki wbudowane w język Java
    • Tworzenie własnej klasy pochodnej wyjątków
    • Łańcuch wyjątków
    • Trzy dodatkowe cechy wyjątków
    • Wykorzystanie wyjątków
  • 11. Programowanie wielowątkowe
    • Model wątków języka Java
      • Priorytety wątków
      • Synchronizacja
      • Przekazywanie komunikatów
      • Klasa Thread i interfejs Runnable
    • Wątek główny
    • Tworzenie wątku
      • Implementacja interfejsu Runnable
      • Rozszerzanie klasy Thread
      • Wybór odpowiedniego podejścia
    • Tworzenie wielu wątków
    • Stosowanie metod isAlive() i join()
    • Priorytety wątków
    • Synchronizacja
      • Synchronizacja metod
      • Instrukcja synchronized
    • Komunikacja międzywątkowa
      • Zakleszczenie
    • Zawieszanie, wznawianie i zatrzymywanie wątków
    • Uzyskiwanie stanu wątku
    • Stosowanie metody wytwórczej do tworzenia i uruchamiania wątku
    • Korzystanie z wielowątkowości
  • 12. Wyliczenia, automatyczne opakowywanie typów prostych i adnotacje
    • Typy wyliczeniowe
      • Podstawy wyliczeń
      • Metody values() i valueOf()
      • Wyliczenia Javy jako typy klasowe
      • Wyliczenia dziedziczą po klasie Enum
      • Inny przykład wyliczenia
    • Opakowania typów
      • Klasa Character
      • Klasa Boolean
      • Opakowania typów numerycznych
    • Automatyczne opakowywanie typów prostych
      • Automatyczne opakowywanie i metody
      • Automatyczne opakowywanie i rozpakowywanie w wyrażeniach
      • Automatyczne opakowywanie typów znakowych i logicznych
      • Automatyczne opakowywanie pomaga zapobiegać błędom
      • Słowo ostrzeżenia
    • Adnotacje
      • Podstawy tworzenia adnotacji
      • Określanie strategii zachowywania adnotacji
      • Odczytywanie adnotacji w trakcie działania programu za pomocą refleksji
      • Interfejs AnnotatedElement
      • Wartości domyślne
      • Adnotacje znacznikowe
      • Adnotacje jednoelementowe
      • Wbudowane adnotacje
    • Adnotacje typów
    • Adnotacje powtarzalne
    • Ograniczenia
  • 13. Wejście-wyjście, instrukcja try z zasobami i inne tematy
    • Podstawowa obsługa wejścia i wyjścia
      • Strumienie
      • Strumienie znakowe i bajtowe
      • Predefiniowane strumienie
    • Odczyt danych z konsoli
      • Odczyt znaków
      • Odczyt łańcuchów
    • Wyświetlanie informacji na konsoli
    • Klasa PrintWriter
    • Odczyt i zapis plików
    • Automatyczne zamykanie pliku
    • Modyfikatory transient i volatile
    • Prezentacja operatora instanceof
    • Modyfikator strictfp
    • Metody napisane w kodzie rdzennym
    • Stosowanie asercji
      • Opcje włączania i wyłączania asercji
    • Import statyczny
    • Wywoływanie przeciążonych konstruktorów za pomocą this()
    • Kilka słów o klasach wartościowych
  • 14. Typy sparametryzowane
    • Czym są typy sparametryzowane?
    • Prosty przykład zastosowania typów sparametryzowanych
      • Typy sparametryzowane działają tylko dla typów referencyjnych
      • Typy sparametryzowane różnią się, jeśli mają inny argument typu
      • W jaki sposób typy sparametryzowane zwiększają bezpieczeństwo?
    • Klasa sparametryzowana z dwoma parametrami typu
    • Ogólna postać klasy sparametryzowanej
    • Typy ograniczone
    • Zastosowanie argumentów wieloznacznych
      • Ograniczony argument wieloznaczny
    • Tworzenie metody sparametryzowanej
      • Konstruktory sparametryzowane
    • Interfejsy sparametryzowane
    • Typy surowe i starszy kod
    • Hierarchia klas sparametryzowanych
      • Zastosowanie sparametryzowanej klasy bazowej
      • Podklasa sparametryzowana
      • Porównywanie typów w hierarchii klas
      • sparametryzowanych w czasie wykonywania
      • Rzutowanie
      • Przesłanianie metod w klasach sparametryzowanych
    • Wnioskowanie typów a typy sparametryzowane
    • Wnioskowanie typów zmiennych lokalnych a typy sparametryzowane
    • Znoszenie
      • Metody mostu
    • Błędy niejednoznaczności
    • Pewne ograniczenia typów sparametryzowanych
      • Nie można tworzyć obiektu parametru typu
      • Ograniczenia dla składowych statycznych
      • Ograniczenia tablic typów sparametryzowanych
      • Ograniczenia wyjątków typów sparametryzowanych
  • 15. Wyrażenia lambda
    • Wprowadzenie do wyrażeń lambda
      • Podstawowe informacje o wyrażeniach lambda
      • Interfejsy funkcyjne
      • Kilka przykładów wyrażeń lambda
    • Blokowe wyrażenia lambda
    • Sparametryzowane interfejsy funkcyjne
    • Przekazywanie wyrażeń lambda jako argumentów
    • Wyrażenia lambda i wyjątki
    • Wyrażenia lambda i przechwytywanie zmiennych
    • Referencje do metod
      • Referencje do metod statycznych
      • Referencje do metod instancyjnych
      • Referencje do metod a typy sparametryzowane
    • Referencje do konstruktorów
    • Predefiniowane interfejsy funkcyjne
  • 16. Moduły
    • Podstawowe informacje o modułach
      • Przykład prostego modułu
      • Kompilowanie i uruchamianie przykładowej aplikacji
      • Dokładniejsze informacje o instrukcjach requires i exports
    • java.base i moduły platformy
    • Stary kod i moduł nienazwany
    • Eksportowanie do konkretnego modułu
    • Wymagania przechodnie
    • Stosowanie usług
      • Podstawowe informacje o usługach i dostawcach usług
      • Słowa kluczowe związane z usługami
      • Przykład stosowania usług i modułów
    • Grafy modułów
    • Trzy wyspecjalizowane cechy modułów
      • Moduły otwarte
      • Instrukcja opens
      • Instrukcja requires static
    • Wprowadzenie do jlink i plików JAR modułów
      • Dołączanie plików dostarczonych jako struktura katalogów
      • Konsolidacja modularnych plików JAR
      • Pliki JMOD
    • Kilka słów o warstwach i modułach automatycznych
    • Końcowe uwagi dotyczące modułów
  • 17. Wyrażenia switch, rekordy oraz inne najnowsze możliwości języka
    • Rozszerzenia switch
      • Listy stałych
      • Wprowadzanie wyrażenia switch i instrukcji yield
      • Wprowadzenie strzałek do klauzul case
      • Dokładniejsza prezentacja zapisu ze strzałką
      • Inny przykład wyrażenia switch
    • Bloki tekstu
      • Podstawowe informacje o blokach tekstu
      • Traktowanie początkowych białych znaków
      • Użycie cudzysłowów w blokach tekstu
      • Sekwencje specjalne w blokach tekstu
    • Rekordy
      • Podstawowe informacje o rekordach
      • Tworzenie konstruktorów rekordów
      • Inny przykład konstruktora rekordu
      • Tworzenie metod pobierających w rekordach
    • Dopasowywanie wzorców z użyciem operatora instanceof
      • Zmienne wzorców i logiczne wyrażenia AND
      • Dopasowywanie wzorców w innych wyrażeniach
    • Klasy i interfejsy "zapieczętowane"
      • Klasy zapieczętowane
      • Interfejsy zapieczętowane
    • Kierunki rozwoju

CZĘŚĆ II. Biblioteka języka Java

  • 18. Obsługa łańcuchów
    • Konstruktory klasy String
    • Długość łańcucha
    • Specjalne operacje na łańcuchach
      • Literały tekstowe
      • Konkatenacja łańcuchów
      • Konkatenacja łańcuchów z innymi typami danych
      • Konwersja łańcuchów i metoda toString()
    • Wyodrębnianie znaków
      • Metoda charAt()
      • Metoda getChars()
      • Metoda getBytes()
      • Metoda toCharArray()
    • Porównywanie łańcuchów
      • Metody equals() i equalsIgnoreCase()
      • Metoda regionMatches()
      • Metody startsWith() i endsWith()
      • Metoda equals() kontra operator ==
      • Metoda compareTo()
    • Przeszukiwanie łańcuchów
    • Modyfikowanie łańcucha
      • Metoda substring()
      • Metoda concat()
      • Metoda replace()
      • Metody trim() i strip()
    • Konwersja danych za pomocą metody valueOf()
    • Zmiana wielkości liter w łańcuchu
    • Łączenie łańcuchów
    • Dodatkowe metody klasy String
    • Klasa StringBuffer
      • Konstruktory klasy StringBuffer
      • Metody length() i capacity()
      • Metoda ensureCapacity()
      • Metoda setLength()
      • Metody charAt() i setCharAt()
      • Metoda getChars()
      • Metoda append()
      • Metoda insert()
      • Metoda reverse()
      • Metody delete() i deleteCharAt()
      • Metoda replace()
      • Metoda substring()
      • Dodatkowe metody klasy StringBuffer
    • Klasa StringBuilder
  • 19. Pakiet java.lang
    • Opakowania typów prostych
      • Klasa Number
      • Klasy Double i Float
      • Metody isInfinite() i isNan()
      • Klasy Byte, Short, Integer i Long
      • Klasa Character
      • Dodatki wprowadzone w celu obsługi punktów kodowych Unicode
      • Klasa Boolean
    • Klasa Void
    • Klasa Process
    • Klasa Runtime
      • Wykonywanie innych programów
    • Runtime.Version
    • Klasa ProcessBuilder
    • Klasa System
      • Wykorzystanie metody currentTimeMillis() do obliczania czasu wykonywania programu
      • Użycie metody arraycopy()
      • Właściwości środowiska
    • Interfejs System.Logger i klasa System.LoggerFinder
    • Klasa Object
    • Wykorzystanie metody clone() i interfejsu Cloneable
    • Klasa Class
    • Klasa ClassLoader
    • Klasa Math
      • Funkcje trygonometryczne
      • Funkcje wykładnicze
      • Funkcje zaokrągleń
      • Inne metody klasy Math
    • Klasa StrictMath
    • Klasa Compiler
    • Klasy Thread i ThreadGroup oraz interfejs Runnable
      • Interfejs Runnable
      • Klasa Thread
      • Klasa ThreadGroup
    • Klasy ThreadLocal i InheritableThreadLocal
    • Klasa Package
    • Klasa Module
    • Klasa ModuleLayer
    • Klasa RuntimePermission
    • Klasa Throwable
    • Klasa SecurityManager
    • Klasa StackTraceElement
    • Klasa StackWalker i interfejs StackWalker.StackFrame
    • Klasa Enum
    • Klasa Record
    • Klasa ClassValue
    • Interfejs CharSequence
    • Interfejs Comparable
    • Interfejs Appendable
    • Interfejs Iterable
    • Interfejs Readable
    • Interfejs AutoCloseable
    • Interfejs Thread.UncaughtExceptionHandler
    • Podpakiety pakietu java.lang
      • Podpakiet java.lang.annotation
      • Podpakiet java.lang.constant
      • Podpakiet java.lang.instrument
      • Podpakiet java.lang.invoke
      • Podpakiet java.lang.management
      • Podpakiet java.lang.module
      • Podpakiet java.lang.ref
      • Podpakiet java.lang.reflect
  • 20. Pakiet java.util, część 1. - kolekcje
    • Wprowadzenie do kolekcji
    • Interfejsy kolekcji
      • Interfejs Collection
      • Interfejs List
      • Interfejs Set
      • Interfejs SortedSet
      • Interfejs NavigableSet
      • Interfejs Queue
      • Interfejs Deque
    • Klasy kolekcji
      • Klasa ArrayList
      • Klasa LinkedList
      • Klasa HashSet
      • Klasa LinkedHashSet
      • Klasa TreeSet
      • Klasa PriorityQueue
      • Klasa ArrayDeque
      • Klasa EnumSet
    • Dostęp do kolekcji za pomocą iteratora
      • Korzystanie z iteratora Iterator
      • Pętla typu for-each jako alternatywa dla iteratora
    • Spliteratory
    • Przechowywanie w kolekcjach własnych klas
    • Interfejs RandomAccess
    • Korzystanie z map
      • Interfejsy map
      • Klasy map
    • Komparatory
      • Stosowanie komparatora
    • Algorytmy kolekcji
    • Klasa Arrays
    • Starsze klasy i interfejsy
      • Interfejs Enumeration
      • Klasa Vector
      • Klasa Stack
      • Klasa Dictionary
      • Klasa Hashtable
      • Klasa Properties
      • Wykorzystanie metod store() i load()
    • Ostatnie uwagi na temat kolekcji
  • 21. Pakiet java.util, część 2. - pozostałe klasy użytkowe
    • Klasa StringTokenizer
    • Klasa BitSet
    • Klasy Optional, OptionalDouble, OptionalInt oraz OptionalLong
    • Klasa Date
    • Klasa Calendar
    • Klasa GregorianCalendar
    • Klasa TimeZone
    • Klasa SimpleTimeZone
    • Klasa Locale
    • Klasa Random
    • Klasy Timer i TimerTask
    • Klasa Currency
    • Klasa Formatter
      • Konstruktory klasy Formatter
      • Metody klasy Formatter
      • Podstawy formatowania
      • Formatowanie łańcuchów i znaków
      • Formatowanie liczb
      • Formatowanie daty i godziny
      • Specyfikatory %n i %%
      • Określanie minimalnej szerokości pola
      • Określanie precyzji
      • Używanie znaczników (flag) formatów
      • Wyrównywanie danych wyjściowych
      • Znaczniki spacji, plusa, zera i nawiasów
      • Znacznik przecinka
      • Znacznik #
      • Opcja wielkich liter
      • Stosowanie indeksu argumentu
      • Zamykanie obiektu klasy Formatter
      • Metoda printf() w Javie
    • Klasa Scanner
      • Konstruktory klasy Scanner
      • Podstawy skanowania
      • Kilka przykładów użycia klasy Scanner
      • Ustawianie separatorów
      • Pozostałe elementy klasy Scanner
    • Klasy ResourceBundle, ListResourceBundle i PropertyResourceBundle
    • Dodatkowe klasy i interfejsy użytkowe
    • Podpakiety pakietu java.util
      • java.util.concurrent, java.util.concurrent.atomic oraz java.util.concurrent.locks
      • java.util.function
      • java.util.jar
      • java.util.logging
      • java.util.prefs
      • java.util.random
      • java.util.regex
      • java.util.spi
      • java.util.stream
      • java.util.zip
  • 22. Operacje wejścia-wyjścia: analiza pakietu java.io
    • Klasy i interfejsy obsługujące operacje wejścia-wyjścia
    • Klasa File
      • Katalogi
      • Stosowanie interfejsu FilenameFilter
      • Alternatywna metoda listFiles()
      • Tworzenie katalogów
    • Interfejsy AutoCloseable, Closeable i Flushable
    • Wyjątki operacji wejścia-wyjścia
    • Dwa sposoby zamykania strumieni
    • Klasy strumieni
    • Strumienie bajtów
      • Klasa InputStream
      • Klasa OutputStream
      • Klasa FileInputStream
      • Klasa FileOutputStream
      • Klasa ByteArrayInputStream
      • Klasa ByteArrayOutputStream
      • Filtrowane strumienie bajtów
      • Buforowane strumienie bajtów
      • Klasa SequenceInputStream
      • Klasa PrintStream
      • Klasy DataOutputStream i DataInputStream
      • Klasa RandomAccessFile
    • Strumienie znaków
      • Klasa Reader
      • Klasa Writer
      • Klasa FileReader
      • Klasa FileWriter
      • Klasa CharArrayReader
      • Klasa CharArrayWriter
      • Klasa BufferedReader
      • Klasa BufferedWriter
      • Klasa PushbackReader
      • Klasa PrintWriter
    • Klasa Console
    • Serializacja
      • Interfejs Serializable
      • Interfejs Externalizable
      • Interfejs ObjectOutput
      • Klasa ObjectOutputStream
      • Interfejs ObjectInput
      • Klasa ObjectInputStream
      • Przykład serializacji
    • Korzyści wynikające ze stosowania strumieni
  • 23. System NIO
    • Klasy systemu NIO
    • Podstawy systemu NIO
      • Bufory
      • Kanały
      • Zestawy znaków i selektory
    • Udoskonalenia dodane w systemie NIO.2
      • Interfejs Path
      • Klasa Files
      • Klasa Paths
      • Interfejsy atrybutów plików
      • Klasy FileSystem, FileSystems i FileStore
    • Stosowanie systemu NIO
      • Stosowanie systemu NIO dla operacji wejścia-wyjścia na kanałach
      • Stosowanie systemu NIO dla operacji wejścia-wyjścia na strumieniach
      • Stosowanie systemu NIO dla operacji na ścieżkach i systemie plików
  • 24. Obsługa sieci
    • Podstawy działania sieci
    • Klasy i interfejsy pakietu java.net obsługujące komunikację sieciową
    • Klasa InetAddress
      • Metody wytwórcze
      • Metody klasy
    • Klasy Inet4Address oraz Inet6Address
    • Gniazda klientów TCP/IP
    • URL
    • Klasa URLConnection
    • Klasa HttpURLConnection
    • Klasa URI
    • Pliki cookie
    • Gniazda serwerów TCP/IP
    • Datagramy
      • Klasa DatagramSocket
      • Klasa DatagramPacket
      • Przykład użycia datagramów
    • Prezentacja pakietu java.net.http
      • Trzy kluczowe elementy
      • Prosty przykład użycia API klienta HTTP
      • Czego jeszcze warto dowiedzieć się o pakiecie java.net.http?
  • 25. Obsługa zdarzeń
    • Dwa mechanizmy obsługi zdarzeń
    • Model obsługi zdarzeń oparty na ich delegowaniu
      • Zdarzenia
      • Źródła zdarzeń
      • Obiekty nasłuchujące zdarzeń
    • Klasy zdarzeń
      • Klasa ActionEvent
      • Klasa AdjustmentEvent
      • Klasa ComponentEvent
      • Klasa ContainerEvent
      • Klasa FocusEvent
      • Klasa InputEvent
      • Klasa ItemEvent
    • Klasa KeyEvent
      • Klasa MouseEvent
      • Klasa MouseWheelEvent
      • Klasa TextEvent
      • Klasa WindowEvent
    • Źródła zdarzeń
    • Interfejsy nasłuchujące zdarzeń
      • Interfejs ActionListener
      • Interfejs AdjustmentListener
      • Interfejs ComponentListener
      • Interfejs ContainerListener
      • Interfejs FocusListener
      • Interfejs ItemListener
      • Interfejs KeyListener
      • Interfejs MouseListener
      • Interfejs MouseMotionListener
      • Interfejs MouseWheelListener
      • Interfejs TextListener
      • Interfejs WindowFocusListener
      • Interfejs WindowListener
    • Stosowanie modelu delegowania zdarzeń
      • Kluczowe zagadnienia tworzenia aplikacji graficznych z użyciem AWT
      • Obsługa zdarzeń generowanych przez mysz
      • Obsługa zdarzeń generowanych przez klawiaturę
    • Klasy adapterów
    • Klasy wewnętrzne
      • Anonimowa klasa wewnętrzna
  • 26. Wprowadzenie do AWT: praca z oknami, grafiką i tekstem
    • Klasy AWT
    • Podstawy okien
      • Klasa Component
      • Klasa Container
      • Klasa Panel
      • Klasa Window
      • Klasa Frame
      • Klasa Canvas
    • Praca z oknami typu Frame
      • Ustawianie wymiarów okna
      • Ukrywanie i wyświetlanie okna
      • Ustawianie tytułu okna
      • Zamykanie okna typu Frame
      • Metoda paint()
      • Wyświetlanie łańcuchów znaków
      • Określanie koloru tekstu i tła
      • Żądanie ponownego wyświetlenia zawartości okna
      • Tworzenie aplikacji korzystających z klasy Frame
    • Wprowadzenie do stosowania grafiki
      • Rysowanie odcinków
      • Rysowanie prostokątów
      • Rysowanie elips, kół i okręgów
      • Rysowanie łuków
      • Rysowanie wielokątów
      • Prezentacja metod rysujących
      • Dostosowywanie...
Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-8322-157-1
Rozmiar pliku: 7,0 MB

BESTSELLERY

Menu

Zamknij