Szczepaniak Mikołaj
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(42)
Forma i typ
Książki
(42)
Publikacje fachowe
(13)
Publikacje dydaktyczne
(4)
Dostępność
tylko na miejscu
(27)
dostępne
(17)
wypożyczone
(1)
Placówka
Wypożyczalnia
(18)
Biblioteka Międzywydziałowa
(1)
Biblioteka WEAiI
(26)
Autor
Berłowski Paweł
(189)
Kotowski Włodzimierz
(179)
Praca zbiorowa
(157)
Skoczylas Zbigniew
(152)
Stiasny Grzegorz
(143)
Szczepaniak Mikołaj
(-)
Sadlik Ryszard
(142)
Blum Maciej
(140)
Michalski Dariusz
(134)
Lewandowski Maciej
(131)
Majewski Jerzy S
(131)
Etzold Hans-Rüdiger
(120)
Leśniewski Mariusz
(116)
Gewert Marian
(108)
Maruchin Wojciech
(107)
Guryn Halina
(105)
Traczyk Wojciech
(101)
Chalastra Michał
(99)
Kardyś Marta
(97)
Marx Karl (1818-1883)
(94)
Nazwisko Imię
(94)
Berkieta Mateusz
(93)
Tomczak Małgorzata
(93)
Polkowski Sławomir
(92)
Engels Friedrich (1820-1895)
(91)
Jakubiec Izabela
(90)
Kotapski Roman
(90)
Rybicki Piotr
(90)
Krysicki Włodzimierz (1905-2001)
(88)
Teleguj Kazimierz
(88)
Kapołka Maciej
(86)
Mikołajewska Emilia
(84)
Zaborowska Joanna
(81)
Starosolski Włodzimierz (1933- )
(80)
Piątek Grzegorz
(79)
Rudnicki Bogdan
(79)
Górczyński Robert
(78)
Meryk Radosław
(78)
Polit Ryszard
(77)
Mroczek Wojciech
(76)
Kulawik Marta
(74)
Mycielski Krzysztof
(74)
Myszkorowski Jakub
(73)
Konopka Eduard
(71)
Jabłoński Marek
(70)
Bielecki Jan (1942-2001)
(69)
Knosala Ryszard (1949- )
(68)
Rajca Piotr (1970- )
(68)
Rymarz Małgorzata
(68)
Walczak Krzysztof
(68)
Walkiewicz Łukasz
(68)
Wiecheć Marek
(68)
Jabłoński Adam
(67)
Laszczak Mirosław
(66)
Piwko Łukasz
(66)
Wodziczko Piotr
(65)
Dziedzic Zbigniew
(64)
Sidor-Rządkowska Małgorzata
(64)
Żakowski Wojciech (1929-1993)
(64)
Pasko Marian
(62)
Włodarski Lech (1916-1997)
(62)
Czakon Wojciech
(61)
Leyko Jerzy (1918-1995)
(61)
Jankowski Mariusz
(60)
Kostecka Alicja
(60)
Lenin Włodzimierz (1870-1924)
(60)
Paszkowska Małgorzata
(60)
Wróblewski Piotr
(60)
Karpińska Marta
(59)
Próchnicki Wojciech
(59)
Rogala Elżbieta
(59)
Bielecki Maciej
(57)
Jelonek Jakub
(57)
Malkowski Tomasz
(57)
Pilch Piotr
(57)
Rauziński Robert (1933- )
(57)
Gawrońska Joanna
(56)
Ajdukiewicz Andrzej (1939- )
(55)
Cieślak Piotr
(55)
Draniewicz Bartosz
(55)
Godek Piotr
(55)
Osiński Zbigniew (1926-2001)
(55)
Jasiński Filip
(54)
Kuliński Włodzisław
(54)
Suchodolski Bogdan (1903-1992)
(54)
Forowicz Krystyna
(53)
Klupiński Kamil
(53)
Szkutnik Leon Leszek
(52)
Zdanikowski Paweł
(52)
Wantuch-Matla Dorota
(51)
Barowicz Marek
(50)
Trammer Hubert
(50)
Walczak Tomasz
(50)
Watrak Andrzej
(50)
Zgółkowa Halina (1947- )
(50)
Barańska Katarzyna
(49)
Czajkowska-Matosiuk Katarzyna
(49)
Jurlewicz Teresa
(49)
Pikoń Andrzej
(49)
Szargut Jan (1923- )
(49)
Chojnacki Ireneusz
(48)
Rok wydania
2020 - 2024
(3)
2010 - 2019
(16)
2000 - 2009
(23)
Okres powstania dzieła
2001-
(15)
Kraj wydania
Polska
(42)
Język
polski
(42)
Odbiorca
Programiści
(5)
Temat
Java (język programowania)
(6)
Programowanie (informatyka)
(4)
Sieć komputerowa
(3)
Bazy danych
(2)
C++ (język programowania)
(2)
Informatyka
(2)
Programy komputerowe
(2)
Strony WWW
(2)
Wzorce projektowe (informatyka)
(2)
.NET
(1)
Ajax (informatyka)
(1)
Android (system operacyjny)
(1)
Arduino (mikrokontroler)
(1)
Borland Delphi
(1)
Budownictwo inteligentne
(1)
C# (język programowania)
(1)
Enterprise JavaBeans (technologia)
(1)
Gry komputerowe
(1)
Java Enterprise Edition
(1)
Java Server Pages (technologia)
(1)
Java Servlet
(1)
Linux (system operacyjny)
(1)
Microsoft Visual Basic .NET (język programowania)
(1)
Microsoft Windows (system operacyjny)
(1)
Microsoft Windows Server (system operacyjny)
(1)
Microsoft XNA (oprogramowanie)
(1)
OpenSocial (platforma)
(1)
PHP (język programowania)
(1)
PostgreSQL (baza danych)
(1)
Programowanie współbieżne
(1)
Programowanie zwinne
(1)
Projektowanie stron WWW
(1)
Przetwarzanie równoległe
(1)
Przetwarzanie równoległe (informatyka)
(1)
Ruby on Rails (platforma informatyczna)
(1)
SQL (język zapytań)
(1)
Społeczności internetowe
(1)
Systemy informatyczne
(1)
Systemy operacyjne
(1)
Urządzenia mobilne
(1)
Usługi elektroniczne
(1)
Wyszukiwarki internetowe
(1)
Zarządzanie projektami
(1)
Temat: czas
2001-
(2)
Gatunek
Podręcznik
(26)
Poradniki
(3)
Kompendia i repetytoria
(1)
Podręczniki
(1)
Poradnik
(1)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(14)
Edukacja i pedagogika
(1)
42 wyniki Filtruj
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 109370 N (1 egz.)
Brak okładki
Książka
W koszyku
Na stronie tytułowej i okładce: Wydanie V - dotyczy wydania oryginału.
Na stronie tytułowej i okładce logo wydawcy oryginału: QUE Publishing.
Na okładce: Poznaj zasady działania sieci komputerowych i naucz się nimi administrować. Projektowanie sieci komputerowych. Protokoły komunikacyjne i urządzenia. Przyłączanie komputerów do sieci. Zarządzanie siecią.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 115287 N (1 egz.)
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 109367 N (1 egz.)
Brak okładki
Książka
W koszyku
Tyt. oryg. : Design Patterns in Ruby.
U góry okł. : Zwiększ elestyczność swojego kodu dzięki wzorcom projektowym [...].
U góry s. tyt. i okł. nazwa wydawcy oryg. : Addison-Wesley.
Indeks.
Sygnatura czytelni BWEAiI: XII L 12
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 120809 N (1 egz.)
Książka
CD
W koszyku
(Vademecum Profesjonalisty)
U góry okł.: Wykorzystaj środowisko Delphi do tworzenia aplikacji dla platform .NET. Zainstaluj mechanizmy COM i Reflection. Utwórz komponenty Windows Forms i Web Forms. Poznaj kluczowe technologie platformy .NET.
Indeks.
Streszczenie: Przedstawiono możliwości tworzenia aplikacji .NET za pomocą narzędzia programistycznego firmy Borland, zamieszczono praktyczne przykłady, omówienie ciekawych technik oraz przydatne wskazówki na temat efektywnego korzystania z potencjału platformy .NET Framework. Zawiera dokładne omówienie języka programowania Delphi, zaawansowanych zagadnień związanych z programowaniem dla platformy .NET (w tym z zarządzaniem pamięcią), mechanizmów COM-Interop i Reflection, biblioteki GDI+, wytwarzania komponentów typu Windows Forms oraz Web Forms i wiele innych, a także solidną analizę kluczowych technologii platformy .NET, takich jak ADO.NET i ASP.NET, włącznie z mnóstwem przykładów demonstrujących ich możliwości.
Dla zaawansowanych programistów.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 111785 (1 egz.)
Książka
W koszyku
(Core)
Na s. tyt. i okł.: Doskonałe źródło wiedzy dla wszystkich programistów C# [...].
U góry okł. : C# 2.0.
Sygnatura czytelni BWEAiI: XII Ł 149
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 115300 N (1 egz.)
Książka
W koszyku
(Technologia i Rozwiązania)
Na stronie tytułowej i okładce.: Poznaj najlepsze przepisy na pracę z PostgreSQL!
U dołu strony tytułowej i okładki nazwa wydawcy oryg.: Packt Publishing.
Na okładce: Tu znajdziesz rozwiązania najczęściej spotykanych problemów! Jak zapewnić bezpieczeństwo bazom danych? Jak uruchomić kilka serwerów baz danych w ramach jednego systemu operacyjnego? Jak zarządzać użytkownikami i ich uprawnieniami?
Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 130142 N (1 egz.)
Książka
W koszyku
(Baza Programisty)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem internet. podanym na s. red.
Bibliogr. s. [281]. Indeks.
Sygnatura czytelni BMW: XI L 52 (nowy)
Ta pozycja znajduje się w zbiorach 2 placówek. Rozwiń listę, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 140951, 140952 (2 egz.)
Biblioteka Międzywydziałowa
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 136033 N (1 egz.)
Książka
W koszyku
(Kompendium Programisty)
U góry s. tyt., okł.: Kompletny przewodnik po najnowszej wersji języka programowania ery Internetu.
U dołu s. tyt., okł.: Elementy języka. Metodologie programowania. Biblioteki zewnętrzne. Tworzenie apletów i serwlerów.
Na s. tyt., okł. logo wydaw. oryg.: McGraw-Hill Companies.
Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 112839 (1 egz.)
Książka
W koszyku
(Oracle)
(Kompendium Programisty)
Tł. na podstawie "Java. Kompendium programisty" w tł. Rafała Jońca, Mikołaja Szczepaniaka, Jakuba Thiele-Wieczorka.
Na okł.: Zgodne z JDK 7. Najbardziej aktualne źróło wiedzy o Javie!
Na s. tyt., okł.: Wyd. 8 - odnosi się do wyd. oryg.
Na s. tyt., okł.: Original - Authentic Oracle Press only form Osborne
Indeks.
Sygnatura czytelni BWEAiI: XII N 33
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 132832 N (1 egz.)
Książka
W koszyku
(Kompendium Programisty)
Wydanie 10. odnosi się do oryginału.
Indeks.
CZĘŚĆ I Język Java Rozdział 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 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 Java SE 9 Kultura innowacji Rozdział 2. Podstawy języka Java Programowanie obiektowe Dwa paradygmaty Abstrakcja Trzy zasady programowania obiektowego Hermetyzacja Dziedziczenie Polimorfizm Połączenie polimorfizmu, hermetyzacji i dziedziczenia 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 Rozdział 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 Kilka słów o łańcuchach Rozdział 4. Operatory Operatory arytmetyczne Podstawowe operatory arytmetyczne Operator reszty z dzielenia Operatory arytmetyczne z przypisaniem Inkrementacja i dekrementacja Operatory bitowe Logiczne operatory bitowe Operator negacji bitowej Operator iloczynu bitowego Operator sumy bitowej Operator sumy bitowej modulo 2 Wykorzystanie operatorów bitowych 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 Rozdział 5. Instrukcje sterujące Instrukcje wyboru Instrukcja if Zagnieżdżanie instrukcji if Sekwencja if-else-if Instrukcja switch Zagnieżdżone instrukcje switch Instrukcje iteracyjne Pętla while Pętla do-while Pętla for Deklaracja zmiennej sterującej wewnątrz pętli for Wykorzystanie przecinka Odmiany pętli for Wersja for-each pętli for Przejście przez tablicę wielowymiarową Wykorzystanie rozszerzonej pętli for Pętle zagnieżdżone Instrukcje skoku Instrukcja break Wykorzystanie instrukcji break do opuszczenia pętli Wykorzystanie instrukcji break jako instrukcji goto Instrukcja continue Instrukcja return Rozdział 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 Rozdział 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 Wprowadzenie do kontroli dostępu 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 Rozdział 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 Klasa Object Rozdział 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 Dostęp do implementacji za pośrednictwem referencji do interfejsu Implementacja częściowa 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 Rozdział 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 Rozdział 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 Rozdział 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 Drugi przykład refleksji Odczytywanie wszystkich adnotacji Interfejs AnnotatedElement Wartości domyślne Adnotacje znacznikowe Adnotacje jednoelementowe Wbudowane adnotacje Adnotacja @Retention Adnotacja @Documented Adnotacja @Target Adnotacja @Inherited Adnotacja @Override Adnotacja @Deprecated Adnotacja @FunctionalInterface Adnotacja @SafeVarargs Adnotacja @SuppressWarnings Adnotacje typów Adnotacje powtarzalne Ograniczenia Rozdział 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 Klasy strumieni bajtów Klasy strumieni znaków 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 Operator 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 kompaktowych profilach API Rozdział 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 Znoszenie Metody mostu Błędy niejednoznaczności Pewne ograniczenia typów sparametryzowanych Nie można tworzyć egzemplarza parametru typu Ograniczenia dla składowych statycznych Ograniczenia tablic typów sparametryzowanych Ograniczenia wyjątków typów sparametryzowanych Rozdział 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 Rozdział 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 Interfejsy usługi Klasy implementacji Pliki definicji modułów Prezentacja użycia dostawców usługi w aplikacji MyModAppDemo Kompilacja i uruchamianie modularnej aplikacji korzystającej z usług 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 Część II Biblioteka języka Java Rozdział 17. 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() Metoda trim() 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 Rozdział 18. Pakiet java.lang Opakowania typów prostych Klasa Number Klasy Double i Float Metody isInfinite() i isNan() Klasy Byte, Short, Integer i Long Konwersja liczb z i do postaci tekstowej Klasa Character Dodatki wprowadzone w celu obsługi punktów kodowych Unicode Klasa Boolean Klasa Void Klasa Process Klasa Runtime Zarządzanie pamięcią 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 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.instrument Podpakiet java.lang.invoke Podpakiet java.lang.module Podpakiet java.lang.management Podpakiet java.lang.ref Podpakiet java.lang.reflect Rozdział 19. 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 Pobranie tablicy z obiektu 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 Interfejs Map Interfejs SortedMap Interfejs NavigableMap Interfejs Map.Entry Klasy map Klasa HashMap Klasa TreeMap Klasa LinkedHashMap Klasa IdentityHashMap Klasa EnumMap Komparatory Wykorzystanie 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 Rozdział 20. 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.regex java.util.spi java.util.stream java.util.zip Rozdział 21. 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 BufferedInputStream Klasa BufferedOutputStream Klasa PushbackInputStream 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 Rozdział 22. 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 Odczytywanie pliku za pośrednictwem kanału Zapisywanie pliku za pośrednictwem kanału Kopiowanie pliku za pomocą systemu NIO Stosowanie systemu NIO dla operacji wejścia-wyjścia na strumieniach Stosowanie systemu NIO dla operacji na ścieżkach i systemie plików Uzyskiwanie informacji o ścieżce i pliku Generowanie listy reprezentującej zawartość katalogu Przeszukiwanie drzewa katalogów za pomocą metody walkFileTree() Rozdział 23. Obsługa sieci Podstawy działania sieci Klasy i interfejsy 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 Rozdział 24. 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 Rozdział 25. 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 rozmiarów obiektów graficznych Praca z klasą Color Metody klasy Color Stosowanie barwy, nasycenia i jasności Metody getRed(), getGreen() i getBlue() Metoda getRGB() Ustawianie bieżącego koloru kontekstu graficznego Program demonstrujący zastosowanie klasy Color Ustawianie trybu rysowania Praca z czcionkami Określanie dostępnych czcionek Tworzenie i wybieranie czcionek Uzyskiwanie informacji o czcionkach Zarządzanie tekstowymi danymi wyjściowymi z wykorzystaniem klasy FontMetrics Rozdział 26. Stosowanie kontrolek AWT, menedżerów układu graficznego oraz menu Podstawy kontrolek AWT Dodawanie i usuwanie kontrolek Odpowiadanie na zdarzenia kontrolek Wyjątek HeadlessException Etykiety Stosowanie przycisków Obsługa zdarzeń przycisków Stosowanie pól wyboru Obsługa zdarzeń pól wyboru Klasa CheckboxGroup Kontrolki list rozwijanych Obsługa zdarzeń list rozwijanych Stosowanie list Obsługa zdarzeń generowanych przez listy Zarządzanie paskami przewijania Obsługa zdarzeń generowanych przez paski przewijania Stosowanie kontrolek typu TextField Obsługa zdarzeń generowanych przez kontrolkę TextField Stosowanie kontrolek typu TextArea Wprowadzenie do menedżerów układu graficznego komponentów FlowLayout BorderLayout Stosowanie obramowań GridLayout Klasa CardLayout Klasa GridBagLayout Menu i paski menu Okna dialogowe Przesłanianie metody paint() Rozdział 27. Obrazy Formaty plików Podstawy przetwarzania obrazów: tworzenie, wczytywanie i wyświetlanie Tworzenie obiektu obrazu Ładowanie obrazu Wyświetlanie obrazu Podwójne buforowanie Interfejs ImageProducer Klasa MemoryImageSource Interfejs ImageConsumer Klasa PixelGrabber Klasa ImageFilter Klasa CropImageFilter Klasa RGBImageFilter Klasa ImageFilterDemo.java Interfejs PlugInFilter.java Klasa LoadedImage.java Klasa Grayscale.java Klasa Invert.java Klasa Contrast.java Klasa Convolver.java Klasa Blur.java Klasa Sharpen.java Dodatkowe klasy obsługujące obrazy Rozdział 28. Narzędzia współbieżności Pakiety interfejsu Concurrent API Pakiet java.util.concurrent Pakiet java.util.concurrent.atomic Pakiet java.util.concurrent.locks Korzystanie z obiektów służących do synchronizacji Klasa Semaphore Klasa CountDownLatch CyclicBarrier Klasa Exchanger Klasa Phaser Korzystanie z egzekutorów Przykład prostego egzekutora Korzystanie z interfejsów Callable i Future Typ wyliczeniowy TimeUnit Kolekcje współbieżne Blokady Operacje atomowe Programowanie równoległe przy użyciu frameworku Fork/Join Najważniejsze klasy frameworku Fork/Join Klasa ForkJoinTask Klasa RecursiveAction Klasa RecursiveTask Klasa ForkJoinPool Strategia dziel i zwyciężaj Prosty przykład użycia frameworku Fork/Join Znaczenie poziomu równoległości Przykład użycia klasy RecursiveTask Asynchroniczne wykonywanie zadań Anulowanie zadania Określanie statusu wykonania zadania Ponowne uruchamianie zadania Pozostałe zagadnienia Wybrane elementy klasy ForkJoinTask Wybrane elementy klasy ForkJoinPool Wskazówki dotyczące stosowania frameworku Fork/Join Pakiet Concurrency Utilities a tradycyjne metody języka Java Rozdział 29. API strumieni Podstawowe informacje o strumieniach Interfejsy strumieni Jak można uzyskać strumień? Prosty przykład stosowania strumieni Operacje redukcji Stosowanie strumieni równoległych Odwzorowywanie Tworzenie kolekcji Iteratory i strumienie Stosowanie typu Iterator i strumieni Stosowanie spliteratorów Inne możliwości API strumieni Rozdział 30. Wyrażenia regularne i inne pakiety Przetwarzanie wyrażeń regularnych Klasa Pattern Klasa Matcher Składnia wyrażeń regularnych Przykład dopasowywania do wzorca Korzystanie ze znaków zastępczych i kwantyfikatorów Korzystanie z klas znaków Korzystanie z metody replaceAll() Korzystanie z metody split() Dwie opcje dopasowywania do wzorca Przegląd wyrażeń regularnych Refleksje Zdalne wywoływanie metod (RMI) Prosta aplikacja typu klient-serwer wykorzystująca RMI Krok pierwszy: napisanie i kompilacja kodu źródłowego Krok drugi: wygenerowanie procedury pośredniczącej Krok trzeci: instalacja plików na kliencie i serwerze Krok czwarty: uruchomienie rejestru RMI na serwerze Krok piąty: uruchomienie serwera Krok szósty: uruchomienie klienta Formatowanie dat i czasu przy użyciu pakietu java.text Klasa DateFormat Klasa SimpleDateFormat Interfejs API dat i czasu java.time Podstawowe klasy do obsługi dat i czasu Formatowanie dat i godzin Analiza łańcuchów zawierających daty i godziny Inne możliwości pakietu java.time Część III Wprowadzenie do programowania GUI przy użyciu pakietu Swing Rozdział 31. Wprowadzenie do pakietu Swing Geneza powstania biblioteki Swing Bibliotekę Swing zbudowano na bazie zestawu narzędzi AWT Podstawowe cechy biblioteki Swing Komponenty biblioteki Swing są lekkie Biblioteka Swing obsługuje dołączany wygląd i sposób obsługi Podobieństwo do architektury MVC Komponenty i kontenery Komponenty Kontenery Panele kontenerów najwyższego poziomu Pakiety biblioteki Swing Prosta aplikacja na bazie biblioteki Swing Obsługa zdarzeń Rysowanie w bibliotece Swing Podstawy rysowania Wyznaczanie obszaru rysowania Przykład rysowania Rozdział 32. Przewodnik po pakiecie Swing Klasy JLabel i ImageIcon Klasa JTextField Przyciski biblioteki Swing Klasa JButton Klasa JToggleButton Pola wyboru Przyciski opcji Klasa JTabbedPane Klasa JScrollPane Klasa JList Klasa JComboBox Drzewa Klasa JTable Rozdział 33. Wprowadzenie do systemu menu pakietu Swing Podstawy systemu menu Przegląd klas JMenuBar, JMenu oraz JMenuItem Klasa JMenuBar Klasa JMenu Klasa JMenuItem Tworzenie menu głównego Dodawanie mnemonik i kombinacji klawiszy do opcji menu Dodawanie obrazów i etykiet ekranowych do menu Stosowanie klas JRadioButtonMenuItem i JCheckBoxMenuItem Tworzenie menu podręcznych Tworzenie paska narzędzi Stosowanie akcji Finalna postać programu MenuDemo Dalsze poznawanie pakietu Swing Część IV Wprowadzenie do programowania GUI przy użyciu platformy JavaFX Rozdział 34. Wprowadzenie do tworzenia interfejsów graficznych z użyciem JavaFX Podstawowe pojęcia z zakresu JavaFX Pakiety JavaFX Klasy Stage i Scene Węzły i graf sceny Układy Klasa Application i metody cyklu życia Uruchamianie aplikacji JavaFX Szkielet aplikacji JavaFX Kompilacja i uruchamianie programów JavaFX Wątek aplikacji Prosta kontrolka JavaFX: Label Stosowanie przycisków i zdarzeń Podstawowe informacje o zdarzeniach Prezentacja kontrolki Button Przedstawienie obsługi zdarzeń i kontrolki Button Bezpośrednie rysowanie na płótnie Rozdział 35. Prezentacja kontrolek JavaFX Stosowanie klas Image i ImageView Dodawanie obrazów do etykiet Stosowanie obrazów w przyciskach Kontrolka ToggleButton Kontrolka RadioButton Obsługa zdarzeń w grupie Alternatywne sposoby obsługi przycisków opcji Kontrolka CheckBox Kontrolka ListView Paski przewijania w kontrolkach ListView Włączanie możliwości wielokrotnego wyboru Kontrolka ComboBox Kontrolka TextField Kontrolka ScrollPane Kontrolka TreeView Prezentacja efektów i transformacji Efekty Transformacje Prezentacja zastosowania efektów i transformacji Dodawanie etykiet ekranowych Dezaktywacja kontrolek Rozdział 36. Prezentacja systemu menu platformy JavaFX Podstawowe informacje o menu Prezentacja klas MenuBar, Menu oraz MenuItem Klasa MenuBar Klasa Menu Klasa MenuItem Tworzenie menu głównego Dodawanie mnemonik i akceleratorów do elementów menu Dodawanie obrazów do elementów menu Stosowanie klas RadioMenuItem i CheckMenuItem Tworzenie menu podręcznego Tworzenie paska narzędzi Kompletna nowa wersja programu demonstracyjnego Dalsze poznawanie platformy JavaFX CZĘŚĆ V Stosowanie Javy w praktyce Rozdział 37. Java Beans Czym jest komponent typu Java Bean? Zalety komponentów Java Beans Introspekcja Wzorce właściwości Właściwości proste Właściwości indeksowane Wzorce projektowe dla zdarzeń Metody i wzorce projektowe Korzystanie z interfejsu BeanInfo Właściwości ograniczone Trwałość Interfejs Customizer Interfejs Java Beans API Klasa Introspector Klasa PropertyDescriptor Klasa EventSetDescriptor Klasa MethodDescriptor Przykład komponentu Java Bean Rozdział 38 Serwlety Podstawy Cykl życia serwletu Sposoby tworzenia serwletów Korzystanie z serwera Tomcat Przykład prostego serwletu Tworzenie i kompilacja kodu źródłowego serwletu Uruchamianie serwera Tomcat Uruchamianie przeglądarki i generowanie żądania Interfejs Servlet API Pakiet javax.servlet Interfejs Servlet Interfejs ServletConfig Interfejs ServletContext Interfejs ServletRequest Interfejs ServletResponse Klasa GenericServlet Klasa ServletInputStream Klasa ServletOutputStream Klasy wyjątków związanych z serwletami Odczytywanie parametrów serwletu Pakiet javax.servlet.http Interfejs HttpServletRequest Interfejs HttpServletResponse Interfejs HttpSession Klasa Cookie Klasa HttpServlet Obsługa żądań i odpowiedzi HTTP Obsługa żądań GET protokołu HTTP Obsługa żądań POST protokołu HTTP Korzystanie ze znaczników kontekstu użytkownika Śledzenie sesji Dodatki Dodatek A Komentarze dokumentujące Znaczniki narzędzia javadoc Znacznik @author Znacznik {@code} Znacznik @deprecated Znacznik {@docRoot} Znacznik @exception Znacznik @hidden Znacznik {@index} Znacznik {@inheritDoc} Znacznik {@link} Znacznik {@linkplain} Znacznik {@literal} Znacznik @param Znacznik @provides Znacznik @return Znacznik @see Znacznik @serial Znacznik @serialData Znacznik @serialField Znacznik @since Znacznik @throws Znacznik @uses Znacznik {@value} Znacznik @version Ogólna postać komentarzy dokumentacyjnych Wynik działania narzędzia javadoc Przykład korzystający z komentarzy dokumentacyjnych Dodatek B Przegląd technologii Java Web Start Czym jest Java Web Start? Cztery kluczowe aspekty Java Web Start Aplikacje Java Web Start wymagają pliku JAR Aplikacje Java Web Start są podpisywane cyfrowo Java Web Start bazuje na JNLP Tworzenie odnośnika do pliku JNLP Eksperymenty z Java Web Start z wykorzystaniem lokalnego systemu plików Utworzenie pliku JAR aplikacji ToggleButtonDemo Utworzenie magazynu kluczy i podpisanie pliku ButtonDemo.jar Utworzenie pliku JNLP dla aplikacji ToggleButtonDemo Utworzenie pliku HTML o nazwie StartTBD.html Dodanie pliku ToggleButtonDemo.jnlp do listy wyjątków w aplikacji Java Control Panel Wykonanie aplikacji ButtonDemo z poziomu przeglądarki Uruchamianie aplikacji Java Web Start przy użyciu programu javaws Stosowanie technologii Java Web Start z apletami Dodatek C Wprowadzenie do JShell Podstawy JShell Wyświetlanie, edytowanie i ponowne wykonywanie kodu Dodanie metody Utworzenie klasy Stosowanie interfejsu Przetwarzanie wyrażeń i wbudowane zmienne Importowanie pakietów Wyjątki Inne polecenia JShell Dalsze poznawanie możliwości JShell Dodatek D Podstawy apletów Dwa rodzaje apletów Podstawy apletów Klasa Applet Architektura apletów Szkielet apletu Inicjalizacja i zakończenie działania apletu Metoda init() Metoda start() Metoda paint() Metoda stop() Metoda destroy() Aplety Swinga
Sygnatura czytelni BWEAiI: XII N 128
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 147028 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Java : the complete reference
Wydanie 11. odnosi się do oryginału.
CZĘŚĆ I. JĘZYK JAVA 1. Historia i ewolucja języka Java 31 Rodowód Javy 31 Narodziny nowoczesnego języka - C 31 Język C++ - następny krok 33 Podwaliny języka Java 33 Powstanie języka Java 33 Powiązanie z językiem C# 35 Jak Java wywarła wpływ na internet 35 Aplety Javy 35 Bezpieczeństwo 36 Przenośność 36 Magia języka Java - kod bajtowy 37 Wychodząc poza aplety 38 Szybszy harmonogram udostępniania 38 Serwlety - Java po stronie serwera 39 Hasła języka Java 39 Prostota 40 Obiektowość 40 Niezawodność 40 Wielowątkowość 40 Neutralność architektury 41 Interpretowalność i wysoka wydajność 41 Rozproszenie 41 Dynamika 41 Ewolucja Javy 41 Kultura innowacji 46 2. Podstawy języka Java 47 Programowanie obiektowe 47 Dwa paradygmaty 47 Abstrakcja 48 Trzy zasady programowania obiektowego 48 Pierwszy przykładowy program 52 Wpisanie kodu programu 52 Kompilacja programów 53 Bliższe spojrzenie na pierwszy przykładowy program 53 Drugi prosty program 55 Dwie instrukcje sterujące 56 Instrukcja if 57 Pętla for 58 Bloki kodu 59 Kwestie składniowe 60 Znaki białe 60 Identyfikatory 60 Stałe 60 Komentarze 61 Separatory 61 Słowa kluczowe języka Java 61 Biblioteki klas Javy 62 3. Typy danych, zmienne i tablice 63 Java to język ze ścisłą kontrolą typów 63 Typy proste 63 Typy całkowitoliczbowe 64 Typ byte 64 Typ short 65 Typ int 65 Typ long 65 Typy zmiennoprzecinkowe 65 Typ float 66 Typ double 66 Typ znakowy 66 Typ logiczny 68 Bliższe spojrzenie na stałe 68 Stałe całkowitoliczbowe 68 Stałe zmiennoprzecinkowe 69 Stałe logiczne 70 Stałe znakowe 70 Stałe łańcuchowe 71 Zmienne 71 Deklaracja zmiennej 71 Inicjalizacja dynamiczna 72 Zasięg i czas życia zmiennych 72 Konwersja typów i rzutowanie 74 Automatyczna konwersja typów 74 Rzutowanie niezgodnych typów 75 Automatyczne rozszerzanie typów w wyrażeniach 76 Zasady rozszerzania typu 76 Tablice 77 Tablice jednowymiarowe 77 Tablice wielowymiarowe 79 Alternatywna składnia deklaracji tablicy 82 Wnioskowanie typów zmiennych lokalnych 83 Ograniczenia var 85 Kilka słów o łańcuchach 85 4. Operatory 87 Operatory arytmetyczne 87 Podstawowe operatory arytmetyczne 88 Operator reszty z dzielenia 88 Operatory arytmetyczne z przypisaniem 89 Inkrementacja i dekrementacja 90 Operatory bitowe 91 Logiczne operatory bitowe 92 Przesunięcie w lewo 94 Przesunięcie w prawo 95 Przesunięcie w prawo bez znaku 96 Operatory bitowe z przypisaniem 97 Operatory relacji 98 Operatory logiczne 99 Operatory logiczne ze skracaniem 100 Operator przypisania 101 Operator ? 101 Kolejność wykonywania operatorów 102 Stosowanie nawiasów okrągłych 102 5. Instrukcje sterujące 105 Instrukcje wyboru 105 Instrukcja if 105 Instrukcja switch 108 Instrukcje iteracyjne 111 Pętla while 112 Pętla do-while 113 Pętla for 115 Wersja for-each pętli for 118 Wnioskowanie typów zmiennych lokalnych w pętlach 122 Pętle zagnieżdżone 123 Instrukcje skoku 123 Instrukcja break 124 Instrukcja continue 127 Instrukcja return 128 6. Wprowadzenie do klas 129 Klasy 129 Ogólna postać klasy 129 Prosta klasa 130 Deklarowanie obiektów 132 Bliższe spojrzenie na operator new 133 Przypisywanie zmiennych referencyjnych do obiektów 133 Wprowadzenie do metod 134 Dodanie metody do klasy Box 134 Zwracanie wartości 136 Dodanie metody przyjmującej parametry 137 Konstruktor 139 Konstruktor sparametryzowany 140 Słowo kluczowe this 141 Ukrywanie zmiennych składowych 141 Mechanizm odzyskiwania pamięci 142 Klasa stosu 142 7. Dokładniejsze omówienie metod i klas 145 Przeciążanie metod 145 Przeciążanie konstruktorów 147 Obiekty jako parametry 149 Dokładniejsze omówienie przekazywania argumentów 151 Zwracanie obiektów 152 Rekurencja 153 Wprowadzenie do kontroli dostępu 155 Składowe statyczne 158 Słowo kluczowe final 159 Powtórka z tablic 160 Klasy zagnieżdżone i klasy wewnętrzne 161 Omówienie klasy String 164 Wykorzystanie argumentów wiersza poleceń 165 Zmienna liczba argumentów 166 Przeciążanie metod o zmiennej liczbie argumentów 169 Zmienna liczba argumentów i niejednoznaczności 170 Stosowanie wnioskowania typów zmiennych lokalnych z typami referencyjnymi 171 8. Dziedziczenie 173 Podstawy dziedziczenia 173 Dostęp do składowych a dziedziczenie 174 Bardziej praktyczny przykład 175 Zmienna klasy bazowej może zawierać referencję do obiektu klasy pochodnej 177 Słowo kluczowe super 178 Wykorzystanie słowa kluczowego super do wywołania konstruktora klasy bazowej 178 Drugie zastosowanie słowa kluczowego super 181 Tworzenie hierarchii wielopoziomowej 182 Kiedy są wykonywane konstruktory? 184 Przesłanianie metod 185 Dynamiczne przydzielanie metod 187 Dlaczego warto przesłaniać metody? 188 Zastosowanie przesłaniania metod 188 Klasy abstrakcyjne 190 Słowo kluczowe final i dziedziczenie 192 Słowo kluczowe final zapobiega przesłanianiu 192 Słowo kluczowe final zapobiega dziedziczeniu 193 Wnioskowanie typów zmiennych lokalnych a dziedziczenie 193 Klasa Object 195 9. Pakiety i interfejsy 197 Pakiety 197 Definiowanie pakietu 197 Znajdowanie pakietów i ścieżka CLASSPATH 198 Prosty przykład pakietu 199 Dostęp do pakietów i składowych 199 Przykład dostępu 200 Import pakietów 203 Interfejsy 204 Definiowanie interfejsu 205 Implementacja interfejsu 206 Interfejsy zagnieżdżone 208 Stosowanie interfejsów 209 Zmienne w interfejsach 211 Interfejsy można rozszerzać 213 Metody domyślne 214 Podstawy metod domyślnych 215 Bardziej praktyczny przykład 216 Problemy wielokrotnego dziedziczenia 217 Metody statyczne w interfejsach 217 Stosowanie metod prywatnych w interfejsach 218 Ostatnie uwagi dotyczące pakietów i interfejsów 219 10. Obsługa wyjątków 221 Podstawy obsługi wyjątków 221 Typy wyjątków 222 Nieprzechwycone wyjątki 222 Stosowanie instrukcji try i catch 223 Wyświetlenie opisu wyjątku 224 Wiele klauzul catch 225 Zagnieżdżone instrukcje try 226 Instrukcja throw 228 Klauzula throws 229 Słowo kluczowe finally 229 Wyjątki wbudowane w język Java 231 Tworzenie własnej klasy pochodnej wyjątków 231 Łańcuch wyjątków 234 Trzy dodatkowe cechy wyjątków 235 Wykorzystanie wyjątków 236 11. Programowanie wielowątkowe 237 Model wątków języka Java 238 Priorytety wątków 239 Synchronizacja 239 Przekazywanie komunikatów 240 Klasa Thread i interfejs Runnable 240 Wątek główny 240 Tworzenie wątku 242 Implementacja interfejsu Runnable 242 Rozszerzanie klasy Thread 244 Wybór odpowiedniego podejścia 244 Tworzenie wielu wątków 245 Stosowanie metod isAlive() i join() 246 Priorytety wątków 248 Synchronizacja 249 Synchronizacja metod 249 Instrukcja synchronized 251 Komunikacja międzywątkowa 252 Zakleszczenie 256 Zawieszanie, wznawianie i zatrzymywanie wątków 258 Uzyskiwanie stanu wątku 260 Stosowanie metody wytwórczej do tworzenia i uruchamiania wątku 261 Korzystanie z wielowątkowości 262 12. Wyliczenia, automatyczne opakowywanie typów prostych i adnotacje 263 Typy wyliczeniowe 263 Podstawy wyliczeń 263 Metody values() i valueOf() 265 Wyliczenia Javy jako typy klasowe 266 Wyliczenia dziedziczą po klasie Enum 268 Inny przykład wyliczenia 269 Opakowania typów 271 Klasa Character 271 Klasa Boolean 271 Opakowania typów numerycznych 272 Automatyczne opakowywanie typów prostych 273 Automatyczne opakowywanie i metody 274 Automatyczne opakowywanie i rozpakowywanie w wyrażeniach 274 Automatyczne opakowywanie typów znakowych i logicznych 276 Automatyczne opakowywanie pomaga zapobiegać błędom 276 Słowo ostrzeżenia 277 Adnotacje 277 Podstawy tworzenia adnotacji 278 Określanie strategii zachowywania adnotacji 278 Odczytywanie adnotacji w trakcie działania programu za pomocą refleksji 279 Interfejs AnnotatedElement 283 Wartości domyślne 283 Adnotacje znacznikowe 285 Adnotacje jednoelementowe 285 Wbudowane adnotacje 287 Adnotacje typów 288 Adnotacje powtarzalne 292 Ograniczenia 294 13. Wejście-wyjście, instrukcja try z zasobami i inne tematy 295 Podstawowa obsługa wejścia i wyjścia 295 Strumienie 296 Strumienie znakowe i bajtowe 296 Predefiniowane strumienie 298 Odczyt danych z konsoli 298 Odczyt znaków 298 Odczyt łańcuchów 299 Wyświetlanie informacji na konsoli 301 Klasa PrintWriter 301 Odczyt i zapis plików 302 Automatyczne zamykanie pliku 307 Modyfikatory transient i volatile 310 Operator instanceof 311 Modyfikator strictfp 313 Metody napisane w kodzie rdzennym 313 Stosowanie asercji 313 Opcje włączania i wyłączania asercji 315 Import statyczny 316 Wywoływanie przeciążonych konstruktorów za pomocą this() 318 Kilka słów o kompaktowych profilach API 320 14. Typy sparametryzowane 321 Czym są typy sparametryzowane? 321 Prosty przykład zastosowania typów sparametryzowanych 322 Typy sparametryzowane działają tylko dla typów referencyjnych 325 Typy sparametryzowane różnią się, jeśli mają inny argument typu 325 W jaki sposób typy sparametryzowane zwiększają bezpieczeństwo? 325 Klasa sparametryzowana z dwoma parametrami typu 327 Ogólna postać klasy sparametryzowanej 328 Typy ograniczone 328 Zastosowanie argumentów wieloznacznych 330 Ograniczony argument wieloznaczny 333 Tworzenie metody sparametryzowanej 337 Konstruktory sparametryzowane 338 Interfejsy sparametryzowane 339 Typy surowe i starszy kod 341 Hierarchia klas sparametryzowanych 343 Zastosowanie sparametryzowanej klasy bazowej 343 Podklasa sparametryzowana 345 Porównywanie typów w hierarchii klas sparametryzowanych w czasie wykonywania 346 Rzutowanie 348 Przesłanianie metod w klasach sparametryzowanych 348 Wnioskowanie typów a typy sparametryzowane 349 Wnioskowanie typów zmiennych lokalnych a typy sparametryzowane 350 Znoszenie 350 Metody mostu 351 Błędy niejednoznaczności 352 Pewne ograniczenia typów sparametryzowanych 353 Nie można tworzyć egzemplarza parametru typu 353 Ograniczenia dla składowych statycznych 354 Ograniczenia tablic typów sparametryzowanych 354 Ograniczenia wyjątków typów sparametryzowanych 355
15. Wyrażenia lambda 357 Wprowadzenie do wyrażeń lambda 357 Podstawowe informacje o wyrażeniach lambda 358 Interfejsy funkcyjne 358 Kilka przykładów wyrażeń lambda 359 Blokowe wyrażenia lambda 362 Sparametryzowane interfejsy funkcyjne 364 Przekazywanie wyrażeń lambda jako argumentów 365 Wyrażenia lambda i wyjątki 368 Wyrażenia lambda i przechwytywanie zmiennych 369 Referencje do metod 370 Referencje do metod statycznych 370 Referencje do metod instancyjnych 371 Referencje do metod a typy sparametryzowane 374 Referencje do konstruktorów 376 Predefiniowane interfejsy funkcyjne 380 16. Moduły 383 Podstawowe informacje o modułach 383 Przykład prostego modułu 384 Kompilowanie i uruchamianie przykładowej aplikacji 388 Dokładniejsze informacje o instrukcjach requires i exports 389 java.base i moduły platformy 390 Stary kod i moduł nienazwany 390 Eksportowanie do konkretnego modułu 391 Wymagania przechodnie 392 Stosowanie usług 396 Podstawowe informacje o usługach i dostawcach usług 396 Słowa kluczowe związane z usługami 397 Przykład stosowania usług i modułów 397 Grafy modułów 403 Trzy wyspecjalizowane cechy modułów 404 Moduły otwarte 404 Instrukcja opens 404 Instrukcja requires static 404 Wprowadzenie do jlink i plików JAR modułów 405 Dołączanie plików dostarczonych jako struktura katalogów 405 Konsolidacja modularnych plików JAR 405 Pliki JMOD 406 Kilka słów o warstwach i modułach automatycznych 406 Końcowe uwagi dotyczące modułów 407 CZĘŚĆ II. BIBLIOTEKA JĘZYKA JAVA 17. Obsługa łańcuchów 411 Konstruktory klasy String 411 Długość łańcucha 413 Specjalne operacje na łańcuchach 413 Literały tekstowe 413 Konkatenacja łańcuchów 414 Konkatenacja łańcuchów z innymi typami danych 414 Konwersja łańcuchów i metoda toString() 415 Wyodrębnianie znaków 416 Metoda charAt() 416 Metoda getChars() 416 Metoda getBytes() 416 Metoda toCharArray() 417 Porównywanie łańcuchów 417 Metody equals() i equalsIgnoreCase() 417 Metoda regionMatches() 418 Metody startsWith() i endsWith() 418 Metoda equals() kontra operator == 418 Metoda compareTo() 419 Przeszukiwanie łańcuchów 420 Modyfikowanie łańcucha 421 Metoda substring() 421 Metoda concat() 422 Metoda replace() 422 Metody trim() i strip() 423 Konwersja danych za pomocą metody valueOf() 424 Zmiana wielkości liter w łańcuchu 424 Łączenie łańcuchów 425 Dodatkowe metody klasy String 425 Klasa StringBuffer 426 Konstruktory klasy StringBuffer 427 Metody length() i capacity() 427 Metoda ensureCapacity() 427 Metoda setLength() 428 Metody charAt() i setCharAt() 428 Metoda getChars() 428 Metoda append() 429 Metoda insert() 429 Metoda reverse() 430 Metody delete() i deleteCharAt() 430 Metoda replace() 431 Metoda substring() 431 Dodatkowe metody klasy StringBuffer 431 Klasa StringBuilder 432 18. Pakiet java.lang 433 Opakowania typów prostych 433 Klasa Number 434 Klasy Double i Float 434 Metody isInfinite() i isNan() 437 Klasy Byte, Short, Integer i Long 437 Klasa Character 445 Dodatki wprowadzone w celu obsługi punktów kodowych Unicode 446 Klasa Boolean 449 Klasa Void 449 Klasa Process 450 Klasa Runtime 451 Zarządzanie pamięcią 452 Wykonywanie innych programów 453 Runtime.Version 453 Klasa ProcessBuilder 455 Klasa System 457 Wykorzystanie metody currentTimeMillis() do obliczania czasu wykonywania programu 458 Użycie metody arraycopy() 459 Właściwości środowiska 459 Interfejs System.Logger i klasa System.LoggerFinder 460 Klasa Object 460 Wykorzystanie metody clone() i interfejsu Cloneable 460 Klasa Class 462 Klasa ClassLoader 465 Klasa Math 465 Funkcje trygonometryczne 465 Funkcje wykładnicze 466 Funkcje zaokrągleń 466 Inne metody klasy Math 467 Klasa StrictMath 469 Klasa Compiler 469 Klasy Thread i ThreadGroup oraz interfejs Runnable 469 Interfejs Runnable 469 Klasa Thread 470 Klasa ThreadGroup 472 Klasy ThreadLocal i InheritableThreadLocal 475 Klasa Package 475 Klasa Module 476 Klasa ModuleLayer 477 Klasa RuntimePermission 477 Klasa Throwable 477 Klasa SecurityManager 477 Klasa StackTraceElement 477 Klasa StackWalker i interfejs StackWalker.StackFrame 478 Klasa Enum 478 Klasa ClassValue 479 Interfejs CharSequence 479 Interfejs Comparable 480 Interfejs Appendable 480 Interfejs Iterable 480 Interfejs Readable 481 Interfejs AutoCloseable 481 Interfejs Thread.UncaughtExceptionHandler 481 Podpakiety pakietu java.lang 481 Podpakiet java.lang.annotation 482 Podpakiet java.lang.instrument 482 Podpakiet java.lang.invoke 482 Podpakiet java.lang.management 482 Podpakiet java.lang.module 482 Podpakiet java.lang.ref 482 Podpakiet java.lang.reflect 482 19. Pakiet java.util, część 1. - kolekcje 483 Wprowadzenie do kolekcji 484 Interfejsy kolekcji 485 Interfejs Collection 486 Interfejs List 488 Interfejs Set 489 Interfejs SortedSet 490 Interfejs NavigableSet 490 Interfejs Queue 491 Interfejs Deque 492 Klasy kolekcji 493 Klasa ArrayList 494 Klasa LinkedList 497 Klasa HashSet 498 Klasa LinkedHashSet 499 Klasa TreeSet 499 Klasa PriorityQueue 501 Klasa ArrayDeque 501 Klasa EnumSet 502 Dostęp do kolekcji za pomocą iteratora 502 Korzystanie z iteratora Iterator 504 Pętla typu for-each jako alternatywa dla iteratora 505 Spliteratory 506 Przechowywanie w kolekcjach własnych klas 509 Interfejs RandomAccess 510 Korzystanie z map 510 Interfejsy map 510 Klasy map 516 Komparatory 520 Wykorzystanie komparatora 522 Algorytmy kolekcji 526 Klasa Arrays 531 Starsze klasy i interfejsy 535 Interfejs Enumeration 535 Klasa Vector 536 Klasa Stack 539 Klasa Dictionary 540 Klasa Hashtable 541 Klasa Properties 544 Wykorzystanie metod store() i load() 547 Ostatnie uwagi na temat kolekcji 548 20. Pakiet java.util, część 2. - pozostałe klasy użytkowe 549 Klasa StringTokenizer 549 Klasa BitSet 551 Klasy Optional, OptionalDouble, OptionalInt oraz OptionalLong 553 Klasa Date 556 Klasa Calendar 557 Klasa GregorianCalendar 560 Klasa TimeZone 561 Klasa SimpleTimeZone 562 Klasa Locale 563 Klasa Random 564 Klasy Timer i TimerTask 566 Klasa Currency 568 Klasa Formatter 569 Konstruktory klasy Formatter 570 Metody klasy Formatter 570 Podstawy formatowania 570 Formatowanie łańcuchów i znaków 573 Formatowanie liczb 573 Formatowanie daty i godziny 574 Specyfikatory %n i %% 575 Określanie minimalnej szerokości pola 576 Określanie precyzji 577 Używanie znaczników (flag) formatów 578 Wyrównywanie danych wyjściowych 578 Znaczniki spacji, plusa, zera i nawiasów 579 Znacznik przecinka 580 Znacznik # 580 Opcja wielkich liter 580 Stosowanie indeksu argumentu 581 Zamykanie obiektu klasy Formatter 582 Metoda printf() w Javie 582 Klasa Scanner 582 Konstruktory klasy Scanner 583 Podstawy skanowania 584 Kilka przykładów użycia klasy Scanner 587 Ustawianie separatorów 590 Pozostałe elementy klasy Scanner 591 Klasy ResourceBundle, ListResourceBundle i PropertyResourceBundle 592 Dodatkowe klasy i interfejsy użytkowe 596 Podpakiety pakietu java.util 597 java.util.concurrent, java.util.concurrent.atomic oraz java.util.concurrent.locks 598 java.util.function 598 java.util.jar 600 java.util.logging 600 java.util.prefs 600 java.util.regex 600 java.util.spi 601 java.util.stream 601 java.util.zip 601 21. Operacje wejścia-wyjścia: analiza pakietu java.io 603 Klasy i interfejsy obsługujące operacje wejścia-wyjścia 604 Klasa File 604 Katalogi 607 Stosowanie interfejsu FilenameFilter 608 Alternatywna metoda listFiles() 609 Tworzenie katalogów 609 Interfejsy AutoCloseable, Closeable i Flushable 609 Wyjątki operacji wejścia-wyjścia 610 Dwa sposoby zamykania strumieni 610 Klasy strumieni 611 Strumienie bajtów 612 Klasa InputStream 612 Klasa OutputStream 613 Klasa FileInputStream 613 Klasa FileOutputStream 615 Klasa ByteArrayInputStream 617 Klasa ByteArrayOutputStream 618 Filtrowane strumienie bajtów 620 Buforowane strumienie bajtów 620 Klasa SequenceInputStream 623 Klasa PrintStream 625 Klasy DataOutputStream i DataInputStream 627 Klasa RandomAccessFile 628 Strumienie znaków 629 Klasa Reader 629 Klasa Writer 629 Klasa FileReader 629 Klasa FileWriter 631 Klasa CharArrayReader 632 Klasa CharArrayWriter 633 Klasa BufferedReader 634 Klasa BufferedWriter 636 Klasa PushbackReader 636 Klasa PrintWriter 637 Klasa Console 638 Serializacja 639 Interfejs Serializable 640 Interfejs Externalizable 640 Interfejs ObjectOutput 640 Klasa ObjectOutputStream 641 Interfejs ObjectInput 642 Klasa ObjectInputStream 642 Przykład serializacji 643 Korzyści wynikające ze stosowania strumieni 645 22. System NIO 647 Klasy systemu NIO 647 Podstawy systemu NIO 648 Bufory 648 Kanały 648 Zestawy znaków i selektory 651 Udoskonalenia dodane w systemie NIO.2 651 Interfejs Path 651 Klasa Files 651 Klasa Paths 654 Interfejsy atrybutów plików 655 Klasy FileSystem, FileSystems i FileStore 657 Stosowanie systemu NIO 657 Stosowanie systemu NIO dla operacji wejścia-wyjścia na kanałach 658 Stosowanie systemu NIO dla operacji wejścia-wyjścia na strumieniach 666 Stosowanie systemu NIO dla operacji na ścieżkach i systemie plików 668 23. Obsługa sieci 675 Podstawy działania sieci 675 Klasy i interfejsy pakietu java.net obsługujące komunikację sieciową 676 Klasa InetAddress 677 Metody wytwórcze 677 Metody klasy 678 Klasy Inet4Address oraz Inet6Address 679 Gniazda klientów TCP/IP 679 URL 682 Klasa URLConnection 683 Klasa HttpURLConnection 685 Klasa URI 687 Pliki cookie 687 Gniazda serwerów TCP/IP 688 Datagramy 688 Klasa DatagramSocket 689 Klasa DatagramPacket 689 Przykład użycia datagramów 690 Prezentacja pakietu java.net.http 692 Trzy kluczowe elementy 692 Prosty przykład użycia API klienta HTTP 695 Czego jeszcze warto dowiedzieć się o pakiecie java.net.http? 696 24. Obsługa zdarzeń 697 Dwa mechanizmy obsługi zdarzeń 697 Model obsługi zdarzeń oparty na ich delegowaniu 698 Zdarzenia 698 Źródła zdarzeń 698 Obiekty nasłuchujące zdarzeń 699 Klasy zdarzeń 699 Klasa ActionEvent 701 Klasa AdjustmentEvent 701 Klasa ComponentEvent 702 Klasa ContainerEvent 702 Klasa FocusEvent 703 Klasa InputEvent 704 Klasa ItemEvent 704 Klasa KeyEvent 705 Klasa MouseEvent 706 Klasa MouseWheelEvent 707 Klasa TextEvent 708 Klasa WindowEvent 708 Źródła zdarzeń 709 Interfejsy nasłuchujące zdarzeń 710 Interfejs ActionListener 711 Interfejs AdjustmentListener 711 Interfejs ComponentListener 711 Interfejs ContainerListener 711 Interfejs FocusListener 711 Interfejs ItemListener 711 Interfejs KeyListener 711 Interfejs MouseListener 712 Interfejs MouseMotionListener 712 Interfejs MouseWheelListener 712 Interfejs TextListener 712 Interfejs WindowFocusListener 712 Interfejs WindowListener 712 Stosowanie modelu delegowania zdarzeń 713 Kluczowe zagadnienia tworzenia aplikacji graficznych z użyciem AWT 713 Obsługa zdarzeń generowanych przez mysz 714 Obsługa zdarzeń generowanych przez klawiaturę 717 Klasy adapterów 720 Klasy wewnętrzne 722 Anonimowa klasa wewnętrzna 724 25. Wprowadzenie do AWT: praca z oknami, grafiką i tekstem 727 Klasy AWT 728 Podstawy okien 730 Klasa Component 730 Klasa Container 730 Klasa Panel 730 Klasa Window 731 Klasa Frame 731 Klasa Canvas 731 Praca z oknami typu Frame 731 Ustawianie wymiarów okna 731 Ukrywanie i wyświetlanie okna 732 Ustawianie tytułu okna 732 Zamykanie okna typu Frame 732 Metoda paint() 732 Wyświetlanie łańcuchów znaków 732 Określanie koloru tekstu i tła 733 Żądanie ponownego wyświetlenia zawartości okna 733 Tworzenie aplikacji korzystających z klasy Frame 734 Wprowadzenie do stosowania grafiki 735 Rysowanie odcinków 735 Rysowanie prostokątów 735 Rysowanie elips, kół i okręgów 736 Rysowanie łuków 736 Rysowanie wielokątów 736 Prezentacja metod rysujących 737 Dostosowywanie rozmiarów obiektów graficznych 738 Praca z klasą Color 739 Metody klasy Color 740 Ustawianie bieżącego koloru kontekstu graficznego 741 Program demonstrujący zastosowanie klasy Color 741 Ustawianie trybu rysowania 742 Praca z czcionkami 743 Określanie dostępnych czcionek 745 Tworzenie i wybieranie czcionek 746 Uzyskiwanie informacji o czcionkach 748 Zarządzanie tekstowymi danymi wyjściowymi z wykorzystaniem klasy FontMetrics 749 26. Stosowanie kontrolek AWT, menedżerów układu graficznego oraz menu 753 Podstawy kontrolek AWT 754 Dodawanie i usuwanie kontrolek 754 Odpowiadanie na zdarzenia kontrolek 754 Wyjątek HeadlessException 755 Etykiety 755 Stosowanie przycisków 756 Obsługa zdarzeń przycisków 757 Stosowanie pól wyboru 760 Obsługa zdarzeń pól wyboru 761 Klasa CheckboxGroup 762 Kontrolki list rozwijanych 764 Obsługa zdarzeń list rozwijanych 765 Stosowanie list 766 Obsługa zdarzeń generowanych przez listy 767 Zarządzanie paskami przewijania 769 Obsługa zdarzeń generowanych przez paski przewijania 770 Stosowanie kontrolek typu TextField 772 Obsługa zdarzeń generowanych przez kontrolkę TextField 773 Stosowanie kontrolek typu TextArea 774 Wprowadzenie do menedżerów układu graficznego komponentów 776 FlowLayout 777 BorderLayout 778 Stosowanie obramowań 779 GridLayout 781 Klasa CardLayout 782 Klasa GridBagLayout 785 Menu i paski menu 789 Okna dialogowe 794 Przesłanianie metody paint() 797 27. Obrazy 799 Formaty plików 799 Podstawy przetwarzania obrazów: tworzenie, wczytywanie i wyświetlanie 800 Tworzenie obiektu obrazu 800 Ładowanie obrazu 800 Wyświetlanie obrazu 801 Podwójne buforowanie 802 Interfejs ImageProducer 804 Klasa MemoryImageSource 805 Interfejs ImageConsumer 806 Klasa PixelGrabber 806 Klasa ImageFilter 809 Klasa CropImageFilter 809 Klasa RGBImageFilter 810 Dodatkowe klasy obsługujące obrazy 821 28. Narzędzia współbieżności 823 Pakiety interfejsu Concurrent API 824 Pakiet java.util.concurrent 824 Pakiet java.util.concurrent.atomic 825 Pakiet java.util.concurrent.locks 825 Korzystanie z obiektów służących do synchronizacji 825 Klasa Semaphore 825 Klasa CountDownLatch 830 CyclicBarrier 832 Klasa Exchanger 834 Klasa Phaser 835 Korzystanie z egzekutorów 842 Przykład prostego egzekutora 842 Korzystanie z interfejsów Callable i Future 844 Typ wyliczeniowy TimeUnit 846 Kolekcje współbieżne 847 Blokady 847 Operacje atomowe 850 Programowanie równoległe przy użyciu frameworku Fork/Join 851 Najważniejsze klasy frameworku Fork/Join 852 Strategia dziel i zwyciężaj 855 Prosty przykład użycia frameworku Fork/Join 855 Znaczenie poziomu równoległości 858 Przykład użycia klasy RecursiveTask 860 Asynchroniczne wykonywanie zadań 862 Anulowanie zadania 863 Określanie statusu wykonania zadania 863 Ponowne uruchamianie zadania 863 Pozostałe zagadnienia 863 Wskazówki dotyczące stosowania frameworku Fork/Join 865 Pakiet Concurrency Utilities a tradycyjne metody języka Java 866 29. API strumieni 867 Podstawowe informacje o strumieniach 867 Interfejsy strumieni 868 Jak można uzyskać strumień? 870 Prosty przykład stosowania strumieni 871 Operacje redukcji 874 Stosowanie strumieni równoległych 876 Odwzorowywanie 878 Tworzenie kolekcji 882 Iteratory i strumienie 885 Stosowanie typu Iterator i strumieni 885 Stosowanie spliteratorów 886 Inne możliwości API strumieni 889 30. Wyrażenia regularne i inne pakiety 891 Przetwarzanie wyrażeń regularnych 891 Klasa Pattern 892 Klasa Matcher 892 Składnia wyrażeń regularnych 893 Przykład dopasowywania do wzorca 893 Dwie opcje dopasowywania do wzorca 898 Przegląd wyrażeń regularnych 898 Refleksje 898 Zdalne wywoływanie metod (RMI) 901 Prosta aplikacja typu klient-serwer wykorzystująca RMI 902 Formatowanie dat i czasu przy użyciu pakietu java.text 905 Klasa DateFormat 905 Klasa SimpleDateFormat 906 Interfejs API dat i czasu - java.time 908 Podstawowe klasy do obsługi dat i czasu 908 Formatowanie dat i godzin 910 Analiza łańcuchów zawierających daty i godziny 912 Inne możliwości pakietu java.time 913 CZĘŚĆ III. WPROWADZENIE DO PROGRAMOWANIA GUI PRZY UŻYCIU PAKIETU SWING 31. Wprowadzenie do pakietu Swing 917 Geneza powstania biblioteki Swing 917 Bibliotekę Swing zbudowano na bazie zestawu narzędzi AWT 918 Podstawowe cechy biblioteki Swing 918 Komponenty biblioteki Swing są lekkie 918 Biblioteka Swing obsługuje dołączany wygląd i sposób obsługi 919 Podobieństwo do architektury MVC 919 Komponenty i kontenery 920 Komponenty 920 Kontenery 921 Panele kontenerów najwyższego poziomu 921 Pakiety biblioteki Swing 922 Prosta aplikacja na bazie biblioteki Swing 922 Obsługa zdarzeń 926 Rysowanie w bibliotece Swing 929 Podstawy rysowania 929 Wyznaczanie obszaru rysowania 930 Przykład rysowania 930 32. Przewodnik po pakiecie Swing 933 Klasy JLabel i ImageIcon 933 Klasa JTextField 935 Przyciski biblioteki Swing 936 Klasa JButton 937 Klasa JToggleButton 939 Pola wyboru 940 Przyciski opcji 942 Klasa JTabbedPane 944 Klasa JScrollPane 946 Klasa JList 948 Klasa JComboBox 951 Drzewa 953 Klasa JTable 955 33. Wprowadzenie do systemu menu pakietu Swing 959 Podstawy systemu menu 959 Przegląd klas JMenuBar, JMenu oraz JMenuItem 961 Klasa JMenuBar 961 Klasa JMenu 962 Klasa JMenuItem 963 Tworzenie menu głównego 963 Dodawanie mnemonik i kombinacji klawiszy do opcji menu 967 Dodawanie obrazów i etykiet ekranowych do menu 969 Stosowanie klas JRadioButtonMenuItem i JCheckBoxMenuItem 970 Tworzenie menu podręcznych 972 Tworzenie paska narzędzi 974 Stosowanie akcji 977 Finalna postać programu MenuDemo 981 Dalsze poznawanie pakietu Swing 987 CZĘŚĆ IV. STOSOWANIE JAVY W PRAKTYCE 34. Java Beans 991 Czym jest komponent typu Java Bean? 991 Zalety komponentów Java Beans 992 Introspekcja 992 Wzorce właściwości 992 Wzorce projektowe dla zdarzeń 993 Metody i wzorce projektowe 994 Korzystanie z interfejsu BeanInfo 994 Właściwości ograniczone 994 Trwałość 995 Interfejs Customizer 995 Interfejs Java Beans API 995 Klasa Introspector 997 Klasa PropertyDescriptor 997 Klasa EventSetDescriptor 997 Klasa MethodDescriptor 997 Przykład komponentu Java Bean 997 35. Serwlety 1001 Podstawy 1001 Cykl życia serwletu 1002 Sposoby tworzenia serwletów 1002 Korzystanie z serwera Tomcat 1003 Przykład prostego serwletu 1004 Tworzenie i kompilacja kodu źródłowego serwletu 1004 Uruchamianie serwera Tomcat 1005 Uruchamianie przeglądarki i generowanie żądania 1005 Interfejs Servlet API 1005 Pakiet javax.servlet 1005 Interfejs Servlet 1006 Interfejs ServletConfig 1006 Interfejs ServletContext 1007 Interfejs ServletRequest 1007 Interfejs ServletResponse 1007 Klasa GenericServlet 1007 Klasa ServletInputStream 1007 Klasa ServletOutputStream 1009 Klasy wyjątków związanych z serwletami 1009 Odczytywanie parametrów serwletu 1009 Pakiet javax.servlet.http 1010 Interfejs HttpServletRequest 1011 Interfejs HttpServletResponse 1011 Interfejs HttpSession 1011 Klasa Cookie 1013 Klasa HttpServlet 1014 Obsługa żądań i odpowiedzi HTTP 1014 Obsługa żądań GET protokołu HTTP 1014 Obsługa żądań POST protokołu HTTP 1016 Korzystanie ze znaczników kontekstu użytkownika 1017 Śledzenie sesji 1019 DODATKI A. Komentarze dokumentujące 1023 Znaczniki narzędzia javadoc 1023 Znacznik @author 1024 Znacznik {@code} 1024 Znacznik @deprecated 1025 Znacznik {@docRoot} 1025 Znacznik @exception 1025 Znacznik @hidden 1025 Znacznik {@index} 1025 Znacznik {@inheritDoc} 1025 Znacznik {@link} 1025 Znacznik {@linkplain} 1026 Znacznik {@literal} 1026 Znacznik @param 1026 Znacznik @provides 1026 Znacznik @return 1026 Znacznik @see 1026 Znacznik @serial 1026 Znacznik @serialData 1027 Znacznik @serialField 1027 Znacznik @since 1027 Znacznik {@summary} 1027 Znacznik @throws 1027 Znacznik @uses 1027 Znacznik {@value} 1027 Znacznik @version 1028 Ogólna postać komentarzy dokumentacyjnych 1028 Wynik działania narzędzia javadoc 1028 Przykład korzystający z komentarzy dokumentacyjnych 1028 B. Wprowadzenie do JShell 1031 Podstawy JShell 1031 Wyświetlanie, edytowanie i ponowne wykonywanie kodu 1033 Dodanie metody 1034 Utworzenie klasy 1035 Stosowanie interfejsu 1036 Przetwarzanie wyrażeń i wbudowane zmienne 1037 Importowanie pakietów 1037 Wyjątki 1038 Inne polecenia JShell 1038 Dalsze poznawanie możliwości JShell 1039 C. Kompilowanie i uruchamianie prostych programów w jednym kroku 1041
Sygnatura czytelni BWEAiI: XII N 149
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149888 N (1 egz.)
Książka
W koszyku
Wydanie 12. odnosi się do oryginału. Na okładce i grzbiecie także nazwa wydawcy oryginału: McGraw Hill.
Indeks.
Historia i ewolucja języka Java Typy danych, zmienne i tablice Operatory Instrucje sterujace Wprowadzenie do klas Dokładniejsze omówienie metod i klas Dziedziczenie Pakiety i interfejsy Obsługa wyjatków Programowanie wielowątkowe Wyliczenia, automatyczne opakowywanie typów prostych i adnotacje Wejście-wyjście instrukcja try z zasobami i inne tematy Typy sparametryzowane Wyrażenia lambda Moduły Wyrażenia switch rekordy oraz inne najnowsze mozliwosci języka Obsługa łańcuchów Pakiet java.lang java.util analiza pakietu java.io System NIO Obsługa sieci zdarzeń Wprowadzenie do AWT, praca z oknami, grafiką i tekstem Stosowanie kontrolek AWT menedżer układu graficznego oraz menu Obrazy narzędzia współbieżności API strumieni Wyrażenia regularne i inne pakiety Wprowadzenie do pakietu Swing Java Beans Serwlety JShell
Sygnatura czytelni BWEAiI: XII N 167
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 154674 N (1 egz.)
Książka
W koszyku
(O'Reilly)
Tyt. oryg.: Java Power Tools.
Na okł.: Poznaj narzędzia, które ułatwią Twoją pracę! Jak zapewnić wysoką jakość tworzonego rozwiązania? Jak wprowadzić proces ciągłej integracji? Jak testować kod?
Bibliogr. s. 855-856. Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 123766 N (1 egz.)
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 112861 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Wicked Cool PHP : Real-World Scripts That Make Difficult Thingo Possible.
Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 123780 N (1 egz.)
Książka
W koszyku
Tyt. oryg.: Modern Operating Systems.
Na s. tyt. i okł.: Wyd. 3 - odnosi się do wyd. oryg.
Na s. tyt. i okł. nazwa wydawcy oryg.: Pearson Prentice Hall.
U góry okł.: Wszystko, co chesz wiedzieć o systemach operacyjnych! Jak działają algorytmy szeregowania? Jakie możliwości stoją za wirtualizacją? Jak systemy operacyjne zarządzają pamięcią?
Bibliogr. s. 1214-1246. Indeks
Sygnatura czytelni BWEAiI: XII O 3
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 124772 N (1 egz.)
Książka
W koszyku
Na okładce: Odkryj wszystkie tajemnice wielowątkowych aplikacji!
Bibliografia na stronie [561]. Netografia na stronach [561]-562. Indeks.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 136723 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: C++ concurrency in action, 2nd edition, 2019.
Wydanie 2. odnosi się do oryginału.
Na okładce: Odkryj wszystkie tajemnice wielowątkowych aplikacji!
Indeks.
Rozdział 1. Witaj, świecie współbieżności w C++! (21) 1.1. Czym jest współbieżność? (22) 1.1.1. Współbieżność w systemach komputerowych (22) 1.1.2. Modele współbieżności (25) 1.1.3. Współbieżność kontra równoległość (27) 1.2. Dlaczego warto stosować współbieżność? (27) 1.2.1. Stosowanie współbieżności do podziału zagadnień (27) 1.2.2. Stosowanie współbieżności do podniesienia wydajności - równoległość zadań i danych (28) 1.2.3. Kiedy nie należy stosować współbieżności (30) 1.3. Współbieżność i wielowątkowość w języku C++ (31) 1.3.1. Historia przetwarzania wielowątkowego w języku C++ (31) 1.3.2. Obsługa współbieżności w nowym standardzie (32) 1.3.3. Większa obsługa współbieżności i równoległości w standardach C++14 i C++17 (33) 1.3.4. Efektywność biblioteki wątków języka C++ (33) 1.3.5. Mechanizmy związane z poszczególnymi platformami (34) 1.4. Do dzieła (35) 1.4.1. Witaj, świecie współbieżności! (35) Rozdział 2. Zarządzanie wątkami (39) 2.1. Podstawowe zarządzanie wątkami (40) 2.1.1 Uruchamianie wątku (40) 2.1.2. Oczekiwanie na zakończenie wątku (43) 2.1.3. Oczekiwanie w razie wystąpienia wyjątku (44) 2.1.4. Uruchamianie wątków w tle (46) 2.2. Przekazywanie argumentów do funkcji wątku (47) 2.3. Przenoszenie własności wątku (50) 2.4. Wybór liczby wątków w czasie wykonywania (55) 2.5. Identyfikowanie wątków (57) Rozdział 3. Współdzielenie danych przez wątki (61) 3.1. Problemy związane ze współdzieleniem danych przez wątki (62) 3.1.1. Sytuacja wyścigu (64) 3.1.2. Unikanie problematycznych sytuacji wyścigu (65) 3.2. Ochrona współdzielonych danych za pomocą muteksów (66) 3.2.1. Stosowanie muteksów w języku C++ (66) 3.2.2. Projektowanie struktury kodu z myślą o ochronie współdzielonych danych (68) 3.2.3. Wykrywanie sytuacji wyścigu związanych z interfejsami (70) 3.2.4. Zakleszczenie: problem i rozwiązanie (77) 3.2.5. Dodatkowe wskazówki dotyczące unikania zakleszczeń (80) 3.2.6. Elastyczne blokowanie muteksów za pomocą szablonu std::unique_lock (87) 3.2.7. Przenoszenie własności muteksu pomiędzy zasięgami (89) 3.2.8. Dobór właściwej szczegółowości blokad (90) 3.3. Alternatywne mechanizmy ochrony współdzielonych danych (93) 3.3.1. Ochrona współdzielonych danych podczas inicjalizacji (93) 3.3.2. Ochrona rzadko aktualizowanych struktur danych (97) 3.3.3. Blokowanie rekurencyjne (99) Rozdział 4. Synchronizacja współbieżnych operacji (101) 4.1. Oczekiwanie na zdarzenie lub inny warunek (102) 4.1.1. Oczekiwanie na spełnienie warunku za pomocą zmiennych warunkowych (103) 4.1.2. Budowa kolejki gwarantującej bezpieczne przetwarzanie wielowątkowe przy użyciu zmiennych warunkowych (106) 4.2. Oczekiwanie na jednorazowe zdarzenia za pomocą przyszłości (111) 4.2.1. Zwracanie wartości przez zadania wykonywane w tle (112) 4.2.2. Wiązanie zadania z przyszłością (114) 4.2.3. Obietnice (szablon std::promise) (117) 4.2.4. Zapisywanie wyjątku na potrzeby przyszłości (119) 4.2.5. Oczekiwanie na wiele wątków (121) 4.3. Oczekiwanie z limitem czasowym (124) 4.3.1. Zegary (124) 4.3.2. Okresy (125) 4.3.3. Punkty w czasie (127) 4.3.4. Funkcje otrzymujące limity czasowe (129) 4.4. Upraszczanie kodu za pomocą technik synchronizowania operacji (131) 4.4.1. Programowanie funkcyjne przy użyciu przyszłości (131) 4.4.2. Synchronizacja operacji za pomocą przesyłania komunikatów (136) 4.4.3. Współbieżność w stylu kontynuacji dzięki użyciu Concurrency TS (141) 4.4.4. Łączenie kontynuacji ze sobą (143) 4.4.5. Oczekiwanie na więcej niż tylko jedną przyszłość (146) 4.4.6. Oczekiwanie za pomocą when_any na pierwszą przyszłość w zbiorze (148) 4.4.7. Zasuwy i bariery w Concurrency TS (151) 4.4.8. Zasuwa typu podstawowego - std::experimental::latch (151) 4.4.9. Podstawowa bariera - std::experimental::barrier (153) 4.4.10. std::experimental::flex_barrier, czyli elastyczniejszy przyjaciel std::experimental:barrier (155) Rozdział 5. Model pamięci języka C++ i operacje na typach atomowych (157) 5.1. Podstawowe elementy modelu pamięci (158) 5.1.1. Obiekty i miejsca w pamięci (158) 5.1.2. Obiekty, miejsca w pamięci i przetwarzanie współbieżne (159) 5.1.3. Kolejność modyfikacji (161) 5.2. Operacje i typy atomowe języka C++ (161) 5.2.1. Standardowe typy atomowe (162) 5.2.2. Operacje na typie std::atomic_flag (165) 5.2.3. Operacje na typie std::atomic (167) 5.2.4. Operacje na typie std::atomic - arytmetyka wskaźników (170) 5.2.5. Operacje na standardowych atomowych typach całkowitoliczbowych (172) 5.2.6. Główny szablon klasy std::atomic (172) 5.2.7. Wolne funkcje dla operacji atomowych (174) 5.3. Synchronizacja operacji i wymuszanie ich porządku (176) 5.3.1. Relacja synchronizacji (178) 5.3.2. Relacja poprzedzania (179) 5.3.3. Porządkowanie pamięci na potrzeby operacji atomowych (181) 5.3.4. Sekwencje zwalniania i relacja synchronizacji (201) 5.3.5. Ogrodzenia (204) 5.3.6. Porządkowanie operacji nieatomowych za pomocą operacji atomowych (206) 5.3.7. Porządkowanie operacji nieatomowych (207) Rozdział 6. Projektowanie współbieżnych struktur danych przy użyciu blokad (211) 6.1. Co oznacza projektowanie struktur danych pod kątem współbieżności? (212) 6.1.1. Wskazówki dotyczące projektowania współbieżnych struktur danych (213) 6.2. Projektowanie współbieżnych struktur danych przy użyciu blokad (214) 6.2.1. Stos gwarantujący bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (215) 6.2.2. Kolejka gwarantująca bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad i zmiennych warunkowych (218) 6.2.3. Kolejka gwarantująca bezpieczeństwo przetwarzania wielowątkowego przy użyciu szczegółowych blokad i zmiennych warunkowych (222) 6.3. Projektowanie złożonych struktur danych przy użyciu blokad (235) 6.3.1. Implementacja tablicy wyszukiwania gwarantującej bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (235) 6.3.2. Implementacja listy gwarantującej bezpieczeństwo przetwarzania wielowątkowego przy użyciu blokad (241) Rozdział 7. Projektowanie współbieżnych struktur danych bez blokad (247) 7.1. Definicje i ich praktyczne znaczenie (248) 7.1.1. Rodzaje nieblokujących struktur danych (248) 7.1.2. Struktury danych bez blokad (249) 7.1.3. Struktury danych bez oczekiwania (250) 7.1.4. Zalety i wady struktur danych bez blokad (250) 7.2. Przykłady struktur danych bez blokad (252) 7.2.1. Implementacja stosu gwarantującego bezpieczeństwo przetwarzania wielowątkowego bez blokad (253) 7.2.2. Eliminowanie niebezpiecznych wycieków - zarządzanie pamięcią w strukturach danych bez blokad (257) 7.2.3. Wykrywanie węzłów, których nie można odzyskać, za pomocą wskaźników ryzyka (262) 7.2.4. Wykrywanie używanych węzłów metodą zliczania referencji (271) 7.2.5. Zmiana modelu pamięci używanego przez operacje na stosie bez blokad (277) 7.2.6. Implementacja kolejki gwarantującej bezpieczeństwo przetwarzania wielowątkowego bez blokad (282) 7.3. Wskazówki dotyczące pisania struktur danych bez blokad (295) 7.3.1. Wskazówka: na etapie tworzenia prototypu należy stosować tryb std::memory_order_seq_cst (295) 7.3.2. Wskazówka: należy używać schematu odzyskiwania pamięci bez blokad (296) 7.3.3 Wskazówka: należy unikać problemu ABA (296) 7.3.4. Wskazówka: należy identyfikować pętle aktywnego oczekiwania i wykorzystywać czas bezczynności na wspieranie innego wątku (297) Rozdział 8. Projektowanie współbieżnego kodu (299) 8.1. Techniki dzielenia pracy pomiędzy wątki (300) 8.1.1. Dzielenie danych pomiędzy wątki przed rozpoczęciem przetwarzania (301) 8.1.2. Rekurencyjne dzielenie danych (302) 8.1.3. Dzielenie pracy według typu zadania (307) 8.2. Czynniki wpływające na wydajność współbieżnego kodu (310) 8.2.1. Liczba procesorów (310) 8.2.2. Współzawodnictwo o dane i ping-pong bufora (311) 8.2.3. Fałszywe współdzielenie (314) 8.2.4. Jak blisko należy rozmieścić dane? (315) 8.2.5. Nadsubskrypcja i zbyt intensywne przełączanie zadań (316) 8.3. Projektowanie struktur danych pod kątem wydajności przetwarzania wielowątkowego (317) 8.3.1. Podział elementów tablicy na potrzeby złożonych operacji (317) 8.3.2. Wzorce dostępu do danych w pozostałych strukturach (319) 8.4. Dodatkowe aspekty projektowania współbieżnych struktur danych (321) 8.4.1. Bezpieczeństwo wyjątków w algorytmach równoległych (321) 8.4.2. Skalowalność i prawo Amdahla (329) 8.4.3. Ukrywanie opóźnień za pomocą wielu wątków (330) 8.4.4. Skracanie czasu reakcji za pomocą technik przetwarzania równoległego (332) 8.5. Projektowanie współbieżnego kodu w praktyce (334) 8.5.1. Równoległa implementacja funkcji std::for_each (334) 8.5.2. Równoległa implementacja funkcji std::find (337) 8.5.3. Równoległa implementacja funkcji std::partial_sum (343) Rozdział 9. Zaawansowane zarządzanie wątkami (355) 9.1. Pule wątków (356) 9.1.1. Najprostsza możliwa pula wątków (356) 9.1.2. Oczekiwanie na zadania wysyłane do puli wątków (359) 9.1.3. Zadania oczekujące na inne zadania (363) 9.1.4. Unikanie współzawodnictwa w dostępie do kolejki zadań (366) 9.1.5. Wykradanie zadań (368) 9.2. Przerywanie wykonywania wątków (372) 9.2.1. Uruchamianie i przerywanie innego wątku (373) 9.2.2. Wykrywanie przerwania wątku (375) 9.2.3. Przerywanie oczekiwania na zmienną warunkową (375) 9.2.4. Przerywanie oczekiwania na zmienną typu std::condition_variable_any (379) 9.2.5. Przerywanie pozostałych wywołań blokujących (381) 9.2.6. Obsługa przerwań (382) 9.2.7. Przerywanie zadań wykonywanych w tle podczas zamykania aplikacji (383) Rozdział 10. Algorytmy równoległości (385) 10.1. Algorytmy równoległe w bibliotece standardowej (385) 10.2. Polityki wykonywania (386) 10.2.1. Ogólny efekt wyboru polityki wykonywania (386) 10.2.2. std::execution::sequenced_policy (388) 10.2.3. std::execution::parallel_policy (388) 10.2.4. std::execution::parallel_unsequenced_policy (389) 10.3. Algorytmy równoległości w bibliotece standardowej C++ (390) 10.3.1. Przykłady używania algorytmów równoległych (392) 10.3.2. Licznik odwiedzin (394) Rozdział 11. Testowanie i debugowanie aplikacji wielowątkowych (397) 11.1. Rodzaje błędów związanych z przetwarzaniem współbieżnym (398) 11.1.1. Niechciane blokowanie (398) 11.1.2. Sytuacje wyścigu (399) 11.2. Techniki lokalizacji błędów związanych z przetwarzaniem współbieżnym (400) 11.2.1. Przeglądanie kodu w celu znalezienia ewentualnych błędów (401) 11.2.2. Znajdowanie błędów związanych z przetwarzaniem współbieżnym poprzez testowanie kodu (403) 11.2.3. Projektowanie kodu pod kątem łatwości testowania (405) 11.2.4. Techniki testowania wielowątkowego kodu (407) 11.2.5. Projektowanie struktury wielowątkowego kodu testowego (410) 11.2.6. Testowanie wydajności wielowątkowego kodu (413) Dodatek A. Krótki przegląd wybranych elementów języka C++11 (415) A.1. Referencje do r-wartości (415) A.2. Usunięte funkcje (420) A.3. Funkcje domyślne (421) A.4. Funkcje constexpr (425) A.5. Funkcje lambda (430) A.6. Szablony zmiennoargumentowe (436) A.7. Automatyczne określanie typu zmiennej (440) A.8. Zmienne lokalne wątków (441) A.9. Ustalanie argumentu szablonu klasy (442) Dodatek B. Krótkie zestawienie bibliotek przetwarzania współbieżnego (445) Dodatek C. Framework przekazywania komunikatów i kompletny przykład implementacji systemu bankomatu (447) Dodatek D. Biblioteka wątków języka C++ (465)
Sygnatura czytelni BWEAiI: XII Ł 179
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 149892 N (1 egz.)
Brak okładki
Książka
W koszyku
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 113805 N (1 egz.)
Pozycja została dodana do koszyka. Jeśli nie wiesz, do czego służy koszyk, kliknij tutaj, aby poznać szczegóły.
Nie pokazuj tego więcej

Deklaracja dostępności