Horstmann Cay S. (1959- )
Sortowanie
Źródło opisu
Książki, czasopisma i zbiory specjalne
(13)
Forma i typ
Książki
(13)
Publikacje fachowe
(8)
Publikacje dydaktyczne
(6)
Dostępność
tylko na miejscu
(12)
dostępne
(4)
Placówka
Wypożyczalnia
(4)
Biblioteka WEAiI
(12)
Autor
Berłowski Paweł
(189)
Kotowski Włodzimierz
(179)
Praca zbiorowa
(157)
Skoczylas Zbigniew
(152)
Stiasny Grzegorz
(143)
Horstmann Cay S. (1959- )
(-)
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
(5)
2010 - 2019
(4)
2000 - 2009
(4)
Okres powstania dzieła
2001-
(8)
Kraj wydania
Polska
(13)
Język
polski
(13)
Odbiorca
Programiści
(4)
Szkoły wyższe
(1)
Temat
Java (język programowania)
(12)
Programowanie (informatyka)
(2)
C++ (język programowania)
(1)
Gatunek
Podręcznik
(9)
Dziedzina i ujęcie
Informatyka i technologie informacyjne
(9)
Edukacja i pedagogika
(2)
13 wyników Filtruj
Książka
W koszyku
Java : podstawy / Cay S. Horstmann ; [tłumaczenie Łukasz Piwko]. - Gliwice : Wydawnictwo Helion, copyright 2016. - 872 strony : ilustracje ; 25 cm.
Wydanie 10. odnosi się do oryginału.
Indeks.
Wprowadzenie do Javy Java jako platforma programistyczna Słowa klucze białej księgi Javy Prostota Obiektowość Sieciowość Niezawodność Bezpieczeństwo Niezależność od architektury Przenośność Interpretacja Wysoka wydajność Wielowątkowość Dynamiczność Aplety Javy i internet Krótka historia Javy Główne nieporozumienia dotyczące Javy Środowisko programistyczne Javy Instalacja oprogramowania Java Development Kit Pobieranie pakietu JDK Instalacja pakietu JDK Instalacja plików źródłowych i dokumentacji Używanie narzędzi wiersza poleceń Praca w zintegrowanym środowisku programistycznym Uruchamianie aplikacji graficznej Tworzenie i uruchamianie apletów Podstawowe elementy języka Java Prosty program w Javie Komentarze Typy danych Typy całkowite Typy zmiennoprzecinkowe Typ char Unicode i typ char Typ boolean Zmienne Inicjalizacja zmiennych Stałe Operatory Funkcje i stałe matematyczne Konwersja typów numerycznych Rzutowanie) Łączenie przypisania z innymi operatorami Operatory inkrementacji i dekrementacji Operatory relacyjne i logiczne Operatory bitowe Nawiasy i priorytety operatorów Typ wyliczeniowy Łańcuchy Podłańcuchy Konkatenacja Łańcuchów nie można modyfikować Porównywanie łańcuchów Łańcuchy puste i łańcuchy null Współrzędne kodowe znaków i jednostki kodowe API String Dokumentacja API w internecie Składanie łańcuchów Wejście i wyjście Odbieranie danych wejściowych Formatowanie danych wyjściowych Zapis i odczyt plików Sterowanie wykonywaniem programu Zasięg blokowy Instrukcje warunkowe Pętle Pętle o określonej liczbie powtórzeń Wybór wielokierunkowy - instrukcja switch Instrukcje przerywające przepływ sterowania Wielkie liczby Tablice Pętla typu for each Inicjowanie tablic i tworzenie tablic anonimowych Kopiowanie tablicy Parametry wiersza poleceń Sortowanie tablicy Tablice wielowymiarowe Tablice postrzępione Obiekty i klasy Wstęp do programowania obiektowego Klasy Obiekty Identyfikacja klas Relacje między klasami Używanie klas predefiniowanych Obiekty i zmienne obiektów Klasa LocalDate Metody udostępniające i zmieniające wartość elementu Definiowanie własnych klas Klasa Employee Używanie wielu plików źródłowych Analiza klasy Employee Pierwsze kroki w tworzeniu konstruktorów Parametry jawne i niejawne Korzyści z hermetyzacji Przywileje klasowe Metody prywatne Stałe jako pola klasy Pola i metody statyczne Pola statyczne Stałe statyczne Metody statyczne Metody fabryczne Metoda main Parametry metod Konstruowanie obiektów Przeciążanie Domyślna inicjalizacja pól Konstruktor bezargumentowy Jawna inicjalizacja pól Nazywanie parametrów Wywoływanie innego konstruktora Bloki inicjalizujące Niszczenie obiektów i metoda finalize Pakiety Importowanie klas Importowanie statyczne Dodawanie klasy do pakietu Zasięg pakietów Ścieżka klas Ustawianie ścieżki klas Komentarze dokumentacyjne Wstawianie komentarzy Komentarze do klas Komentarze do metod Komentarze do pól Komentarze ogólne Komentarze do pakietów i ogólne Generowanie dokumentacji Porady dotyczące projektowania klas Dziedziczenie Klasy, nadklasy i podklasy Definiowanie podklas Przesłanianie metod Konstruktory podklas Hierarchia dziedziczenia Polimorfizm Zasady wywoływania metod Wyłączanie dziedziczenia - klasy i metody finalne Rzutowanie Klasy abstrakcyjne Ograniczanie dostępu Kosmiczna klasa wszystkich klas - Object Metoda equals Porównywanie a dziedziczenie Metoda hashCode Metoda toString Generyczne listy tablicowe Dostęp do elementów listy tablicowej Zgodność pomiędzy typowanymi a surowymi listami tablicowymi Opakowania obiektów i automatyczne pakowanie Metody ze zmienną liczbą parametrów Klasy wyliczeniowe Refleksja Klasa Class Podstawy przechwytywania wyjątków Zastosowanie refleksji w analizie funkcjonalności klasy Refleksja w analizie obiektów w czasie działania programu Zastosowanie refleksji w generycznym kodzie tablicowym Wywoływanie dowolnych metod Porady projektowe dotyczące dziedziczenia Interfejsy, wyrażenia lambda i klasy wewnętrzne Interfejsy Koncepcja interfejsu Własności interfejsów Interfejsy a klasy abstrakcyjne Metody statyczne Metody domyślne Wybieranie między metodami domyślnymi Przykłady interfejsów Interfejsy i wywołania zwrotne Interfejs Comparator Klonowanie obiektów Wyrażenia lambda Po co w ogóle są lambdy Składnia wyrażeń lambda Interfejsy funkcyjne Referencje do metod Referencje do konstruktorów Zakres dostępności zmiennych Przetwarzanie wyrażeń lambda Poszerzenie wiadomości o komparatorach Klasy wewnętrzne Dostęp do stanu obiektu w klasie wewnętrznej Specjalne reguły składniowe dotyczące klas wewnętrznych Czy klasy wewnętrzne są potrzebne i bezpieczne? Lokalne klasy wewnętrzne Dostęp do zmiennych finalnych z metod zewnętrznych Anonimowe klasy wewnętrzne Statyczne klasy wewnętrzne Klasy pośredniczące Kiedy używać klas pośredniczących Tworzenie obiektów pośredniczących Właściwości klas pośredniczących Wyjątki, asercje i dzienniki Obsługa błędów Klasyfikacja wyjątków Deklarowanie wyjątków kontrolowanych Zgłaszanie wyjątków Tworzenie klas wyjątków Przechwytywanie wyjątków Przechwytywanie wyjątku Przechwytywanie wielu typów wyjątków Powtórne generowanie wyjątków i budowanie łańcuchów wyjątków Klauzula finally Instrukcja try z zasobami Analiza danych ze śledzenia stosu Wskazówki dotyczące stosowania wyjątków Asercje Koncepcja asercji Włączanie i wyłączanie asercji Zastosowanie asercji do sprawdzania parametrów Zastosowanie asercji do dokumentowania założeń Dzienniki Podstawy zapisu do dziennika Zaawansowane techniki zapisu do dziennika Zmiana konfiguracji menedżera dzienników Lokalizacja Obiekty typu Handler Filtry Formatery Przepis na dziennik Wskazówki dotyczące debugowania Programowanie generyczne Dlaczego programowanie generyczne Zalety parametrów typów Dla kogo programowanie generyczne Definicja prostej klasy generycznej Metody generyczne Ograniczenia zmiennych typowych Kod generyczny a maszyna wirtualna Wymazywanie typów Translacja wyrażeń generycznych Translacja metod generycznych Używanie starego kodu Ograniczenia i braki Nie można podawać typów prostych jako parametrów typowych Sprawdzanie typów w czasie działania programu jest możliwe tylko dla typów surowych Nie można tworzyć tablic typów generycznych Ostrzeżenia dotyczące zmiennej liczby argumentów Nie wolno tworzyć egzemplarzy zmiennych typowych Nie można utworzyć egzemplarza generycznej tablicy Zmiennych typowych nie można używać w statycznych kontekstach klas generycznych Obiektów klasy generycznej nie można generować ani przechwytywać Można wyłączyć sprawdzanie wyjątków kontrolowanych Uważaj na konflikty, które mogą powstać po wymazaniu typów Zasady dziedziczenia dla typów generycznych Typy wieloznaczne Koncepcja typu wieloznacznego Ograniczenia nadtypów typów wieloznacznych Typy wieloznaczne bez ograniczeń Chwytanie typu wieloznacznego Refleksja a typy generyczne Generyczna klasa Class Zastosowanie parametrów Class do dopasowywania typów Informacje o typach generycznych w maszynie wirtualnej Kolekcje Architektura kolekcji Javy Oddzielenie warstwy interfejsów od warstwy klas konkretnych Interfejs Collection Iteratory Generyczne metody użytkowe Interfejsy w systemie kolekcji Javy Konkretne klasy kolekcyjne Listy powiązane Listy tablicowe Zbiór HashSet Zbiór TreeSet Kolejki Queue i Deque Kolejki priorytetowe Słowniki Podstawowe operacje słownikowe Modyfikowanie wpisów w słowniku Widoki słowników Klasa WeakHashMap Klasy LinkedHashSet i LinkedHashMap Klasy EnumSet i EnumMap Klasa IdentityHashMap Widoki i opakowania Lekkie obiekty opakowujące kolekcje Przedziały Widoki niemodyfikowalne Widoki synchronizowane Widoki kontrolowane Uwagi dotyczące operacji opcjonalnych Algorytmy Sortowanie i tasowanie Wyszukiwanie binarne Proste algorytmy Operacje zbiorowe Konwersja pomiędzy kolekcjami a tablicami Pisanie własnych algorytmów Stare kolekcje Klasa Hashtable Wyliczenia Słowniki własności Stosy Zbiory bitów Grafika Wprowadzenie do pakietu Swing Tworzenie ramki Pozycjonowanie ramki Własności ramek Określanie rozmiaru ramki Wyświetlanie informacji w komponencie Figury 2D Kolory Czcionki Wyświetlanie obrazów Obsługa zdarzeń Podstawy obsługi zdarzeń Przykład - obsługa kliknięcia przycisku Zwięzłe definiowanie procedur nasłuchowych Przykład - zmiana stylu Klasy adaptacyjne Akcje Zdarzenia generowane przez mysz Hierarchia zdarzeń w bibliotece AWT Zdarzenia semantyczne i niskiego poziomu Komponenty Swing interfejsu użytkownika Swing a wzorzec projektowy Model-View-Controller Wzorce projektowe Wzorzec Model-View-Controller Analiza MVC przycisków Swing Wprowadzenie do zarządzania rozkładem Rozkład brzegowy Rozkład siatkowy Wprowadzanie tekstu Pola tekstowe Etykiety komponentów Pola haseł Obszary tekstowe Panele przewijane Komponenty umożliwiające wybór opcji Pola wyboru Przełączniki Obramowanie Listy rozwijalne Suwaki Menu Tworzenie menu Ikony w elementach menu Pola wyboru i przełączniki jako elementy menu Menu podręczne Mnemoniki i akceleratory Aktywowanie i dezaktywowanie elementów menu Paski narzędzi Dymki Zaawansowane techniki zarządzania rozkładem Rozkład GridBagLayout Rozkład grupowy Rezygnacja z zarządców rozkładu Niestandardowi zarządcy rozkładu Kolejka dostępu Okna dialogowe Okna dialogowe opcji Tworzenie okien dialogowych Wymiana danych Okna dialogowe wyboru plików Okna dialogowe wyboru kolorów Rozwiązywanie problemów z programami z graficznym interfejsem użytkownika Wskazówki dotyczące debugowania Zaprzęganie robota AWT do pracy Przygotowywanie apletów i aplikacji do użytku Pliki JAR Tworzenie plików JAR Manifest Wykonywalne pliki JAR Zasoby Pieczętowanie pakietów Zapisywanie preferencji użytkownika Słowniki własności API Preferences Moduły ładowania usług Aplety Prosty aplet Znacznik applet i jego atrybuty Parametry przekazujące informacje do apletów Dostęp do obrazów i plików audio Środowisko działania apletu Komunikacja pomiędzy apletami Wyświetlanie elementów w przeglądarce Piaskownica Podpisywanie kodu Java Web Start Wdrażanie aplikacji Java Web Start API JNLP Współbieżność Czym są wątki Wykonywanie zadań w osobnych wątkach Przerywanie wątków Stany wątków Wątki NEW Wątki RUNNABLE Wątki BLOCKED i WAITING Zamykanie wątków Własności wątków Priorytety wątków Wątki demony Procedury obsługi nieprzechwyconych wyjątków Synchronizacja Przykład sytuacji powodującej wyścig Wyścigi Obiekty klasy Lock Warunki Słowo kluczowe synchronized Bloki synchronizowane Monitor Pola ulotne Zmienne finalne Zmienne atomowe Zakleszczenia Zmienne lokalne wątków Testowanie blokad i odmierzanie czasu Blokady odczytu-zapisu Dlaczego metody stop i suspend są wycofywane Kolejki blokujące Kolekcje bezpieczne wątkowo Szybkie słowniki, zbiory i kolejki Atomowe modyfikowanie elementów słowników Operacje masowe na współbieżnych słownikach skrótów Współbieżne widoki zbiorów Tablice kopiowane przy zapisie Równoległe algorytmy tablicowe Starsze kolekcje bezpieczne wątkowo Interfejsy Callable i Future Klasa Executors Pule wątków Planowanie wykonywania Kontrolowanie grup zadań Szkielet rozgałęzienie-złączenie Klasa CompletableFuture Synchronizatory Semafory Klasa CountDownLatch Bariery Klasa Exchanger Kolejki synchroniczne Wątki a biblioteka Swing Uruchamianie czasochłonnych zadań Klasa SwingWorker Zasada jednego wątku Słowa kluczowe Javy
Sygnatura czytelni BWEAiI: XII N 110
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. 145231, 145684, 145683 (3 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 145230 N (1 egz.)
Książka
W koszyku
Java : podstawy / Cay S. Horstmann ; [tłumaczenie Łukasz Piwko]. - Gliwice : Helion, copyright 2020. - 767 stron : ilustracje ; 25 cm.
Tytuł oryginału: Core Java. Vol. 1, Fundamentals.
Wydanie 11. odnosi się do oryginału
Indeks.
Rozdział 1. Wprowadzenie do Javy 21 1.1. Java jako platforma programistyczna 21 1.2. Słowa klucze białej księgi Javy 22 1.2.1. Prostota 23 1.2.2. Obiektowość 23 1.2.3. Sieciowość 24 1.2.4. Niezawodność 24 1.2.5. Bezpieczeństwo 24 1.2.6. Niezależność od architektury 25 1.2.7. Przenośność 26 1.2.8. Interpretacja 26 1.2.9. Wysoka wydajność 27 1.2.10. Wielowątkowość 27 1.2.11. Dynamiczność 27 1.3. Aplety Javy i internet 28 1.4. Krótka historia Javy 29 1.5. Główne nieporozumienia dotyczące Javy 32 Rozdział 2. Środowisko programistyczne Javy 35 2.1. Instalacja oprogramowania Java Development Kit 35 2.1.1. Pobieranie pakietu JDK 36 2.1.2. Instalacja pakietu JDK 37 2.1.3. Instalacja plików źródłowych i dokumentacji 39 2.2. Używanie narzędzi wiersza poleceń 40 2.3. Praca w zintegrowanym środowisku programistycznym 45 2.4. JShell 48 Rozdział 3. Podstawowe elementy języka Java 51 3.1. Prosty program w Javie 52 3.2. Komentarze 55 3.3. Typy danych 56 3.3.1. Typy całkowite 56 3.3.2. Typy zmiennoprzecinkowe 57 3.3.3. Typ char 58 3.3.4. Unicode i typ char 60 3.3.5. Typ boolean 61 3.4. Zmienne i stałe 61 3.4.1. Deklarowanie zmiennych 61 3.4.2. Inicjalizacja zmiennych 62 3.4.3. Stałe 63 3.4.4. Typ wyliczeniowy 64 3.5. Operatory 65 3.5.1. Operatory arytmetyczne 65 3.5.2. Funkcje i stałe matematyczne 66 3.5.3. Konwersja typów numerycznych 68 3.5.4. Rzutowanie 68 3.5.5. Łączenie przypisania z innymi operatorami 69 3.5.6. Operatory inkrementacji i dekrementacji 70 3.5.7. Operatory relacyjne i logiczne 70 3.5.8. Operatory bitowe 71 3.5.9. Nawiasy i priorytety operatorów 72 3.6. Łańcuchy 73 3.6.1. Podłańcuchy 73 3.6.2. Konkatenacja 74 3.6.3. Łańcuchów nie można modyfikować 74 3.6.4. Porównywanie łańcuchów 76 3.6.5. Łańcuchy puste i łańcuchy null 77 3.6.6. Współrzędne kodowe znaków i jednostki kodowe 77 3.6.7. API String 78 3.6.8. Dokumentacja API w internecie 81 3.6.9. Składanie łańcuchów 84 3.7. Wejście i wyjście 85 3.7.1. Odbieranie danych wejściowych 85 3.7.2. Formatowanie danych wyjściowych 88 3.7.3. Zapis i odczyt plików 92 3.8. Sterowanie wykonywaniem programu 94 3.8.1. Zasięg blokowy 94 3.8.2. Instrukcje warunkowe 95 3.8.3. Pętle 98 3.8.4. Pętle o określonej liczbie powtórzeń 101 3.8.5. Wybór wielokierunkowy - instrukcja switch 105 3.8.6. Instrukcje przerywające przepływ sterowania 107 3.9. Wielkie liczby 110 3.10. Tablice 112 3.10.1. Deklarowanie tablic 112 3.10.2. Dostęp do elementów tablicy 114 3.10.3. Pętla typu for each 114 3.10.4. Kopiowanie tablicy 115 3.10.5. Parametry wiersza poleceń 116 3.10.6. Sortowanie tablicy 117 3.10.7. Tablice wielowymiarowe 120 3.10.8. Tablice postrzępione 122 Rozdział 4. Obiekty i klasy 127 4.1. Wstęp do programowania obiektowego 128 4.1.1. Klasy 129 4.1.2. Obiekty 129 4.1.3. Identyfikacja klas 130 4.1.4. Relacje między klasami 131 4.2. Używanie klas predefiniowanych 132 4.2.1. Obiekty i zmienne obiektów 133 4.2.2. Klasa LocalDate 135 4.2.3. Metody udostępniające i zmieniające wartość elementu 137 4.3. Definiowanie własnych klas 141 4.3.1. Klasa Employee 141 4.3.2. Używanie wielu plików źródłowych 144 4.3.3. Analiza klasy Employee 144 4.3.4. Pierwsze kroki w tworzeniu konstruktorów 145 4.3.5. Deklarowanie zmiennych lokalnych za pomocą słowa kluczowego var 146 4.3.6. Praca z referencjami null 147 4.3.7. Parametry jawne i niejawne 148 4.3.8. Korzyści z hermetyzacji 149 4.3.9. Przywileje klasowe 151 4.3.10. Metody prywatne 152 4.3.11. Stałe jako pola klasy 152 4.4. Pola i metody statyczne 153 4.4.1. Pola statyczne 153 4.4.2. Stałe statyczne 154 4.4.3. Metody statyczne 155 4.4.4. Metody fabryczne 156 4.4.5. Metoda main 156 4.5. Parametry metod 159 4.6. Konstruowanie obiektów 165 4.6.1. Przeciążanie 165 4.6.2. Domyślna inicjalizacja pól 166 4.6.3. Konstruktor bezargumentowy 166 4.6.4. Jawna inicjalizacja pól 167 4.6.5. Nazywanie parametrów 168 4.6.6. Wywoływanie innego konstruktora 169 4.6.7. Bloki inicjalizujące 169 4.6.8. Niszczenie obiektów i metoda finalize 173 4.7. Pakiety 174 4.7.1. Nazwy pakietów 174 4.7.2. Importowanie klas 175 4.7.3. Importowanie statyczne 176 4.7.4. Dodawanie klasy do pakietu 177 4.7.5. Dostęp do pakietu 180 4.7.6. Ścieżka klas 181 4.7.7. Ustawianie ścieżki klas 183 4.8. Pliki JAR 184 4.8.1. Tworzenie plików JAR 184 4.8.2. Manifest 184 4.8.3. Wykonywalne pliki JAR 186 4.8.4. Pliki JAR z wieloma wersjami klas 187 4.8.5. Kilka uwag na temat opcji wiersza poleceń 188 4.9. Komentarze dokumentacyjne 189 4.9.1. Wstawianie komentarzy 190 4.9.2. Komentarze do klas 190 4.9.3. Komentarze do metod 191 4.9.4. Komentarze do pól 192 4.9.5. Komentarze ogólne 192 4.9.6. Komentarze do pakietów 193 4.9.7. Pobieranie komentarzy 194 4.10. Porady dotyczące projektowania klas 195 Rozdział 5. Dziedziczenie 199 5.1. Klasy, nadklasy i podklasy 200 5.1.1. Definiowanie podklas 200 5.1.2. Przesłanianie metod 201 5.1.3. Konstruktory podklas 203 5.1.4. Hierarchia dziedziczenia 207 5.1.5. Polimorfizm 207 5.1.6. Zasady wywoływania metod 209 5.1.7. Wyłączanie dziedziczenia - klasy i metody finalne 211 5.1.8. Rzutowanie 212 5.1.9. Klasy abstrakcyjne 215 5.1.10. Ograniczanie dostępu 220 5.2. Kosmiczna klasa wszystkich klas - Object 221 5.2.1. Zmienne typu Object 221 5.2.2. Metoda equals 221 5.2.3. Porównywanie a dziedziczenie 223 5.2.4. Metoda hashCode 226 5.2.5. Metoda toString 228 5.3. Generyczne listy tablicowe 234 5.3.1. Deklarowanie list tablicowych 234 5.3.2. Dostęp do elementów listy tablicowej 237 5.3.3. Zgodność pomiędzy typowanymi a surowymi listami tablicowymi 240 5.4. Opakowania obiektów i automatyczne pakowanie 241 5.5. Metody ze zmienną liczbą parametrów 244 5.6. Klasy wyliczeniowe 246 5.7. Refleksja 248 5.7.1. Klasa Class 248 5.7.2. Podstawy deklarowania wyjątków 251 5.7.3. Zasoby 252 5.7.4. Zastosowanie refleksji w analizie funkcjonalności klasy 254 5.7.5. Refleksja w analizie obiektów w czasie działania programu 259 5.7.6. Zastosowanie refleksji w generycznym kodzie tablicowym 264 5.7.7. Wywoływanie dowolnych metod i konstruktorów 267 5.8. Porady projektowe dotyczące dziedziczenia 270 Rozdział 6. Interfejsy, wyrażenia lambda i klasy wewnętrzne 273 6.1. Interfejsy 274 6.1.1. Koncepcja interfejsu 274 6.1.2. Własności interfejsów 280 6.1.3. Interfejsy a klasy abstrakcyjne 281 6.1.4. Metody statyczne i prywatne 282 6.1.5. Metody domyślne 283 6.1.6. Wybieranie między metodami domyślnymi 284 6.1.7. Interfejsy i wywołania zwrotne 286 6.1.8. Interfejs Comparator 289 6.1.9. Klonowanie obiektów 290 6.2. Wyrażenia lambda 296 6.2.1. Po co w ogóle są lambdy 296 6.2.2. Składnia wyrażeń lambda 297 6.2.3. Interfejsy funkcyjne 299 6.2.4. Referencje do metod 301 6.2.5. Referencje do konstruktorów 305 6.2.6. Zakres dostępności zmiennych 306 6.2.7. Przetwarzanie wyrażeń lambda 308 6.2.8. Poszerzenie wiadomości o komparatorach 311 6.3. Klasy wewnętrzne 312 6.3.1. Dostęp do stanu obiektu w klasie wewnętrznej 313 6.3.2. Specjalne reguły składniowe dotyczące klas wewnętrznych 316 6.3.3. Czy klasy wewnętrzne są potrzebne i bezpieczne? 317 6.3.4. Lokalne klasy wewnętrzne 319 6.3.5. Dostęp do zmiennych finalnych z metod zewnętrznych 320 6.3.6. Anonimowe klasy wewnętrzne 321 6.3.7. Statyczne klasy wewnętrzne 325 6.4. Moduły ładowania usług 328 6.5. Klasy pośredniczące 331 6.5.1. Kiedy używać klas pośredniczących 331 6.5.2. Tworzenie obiektów pośredniczących 331 6.5.3. Właściwości klas pośredniczących 335 Rozdział 7. Wyjątki, asercje i dzienniki 337 7.1. Obsługa błędów 338 7.1.1. Klasyfikacja wyjątków 339 7.1.2. Deklarowanie wyjątków kontrolowanych 341 7.1.3. Zgłaszanie wyjątków 343 7.1.4. Tworzenie klas wyjątków 344 7.2. Przechwytywanie wyjątków 345 7.2.1. Przechwytywanie wyjątku 345 7.2.2. Przechwytywanie wielu typów wyjątków 347 7.2.3. Powtórne generowanie wyjątków i budowanie łańcuchów wyjątków 348 7.2.4. Klauzula finally 350 7.2.5. Instrukcja try z zasobami 352 7.2.6. Analiza danych ze stosu wywołań 354 7.3. Wskazówki dotyczące stosowania wyjątków 358 7.4. Asercje 360 7.4.1. Koncepcja asercji 361 7.4.2. Włączanie i wyłączanie asercji 362 7.4.3. Zastosowanie asercji do sprawdzania parametrów 362 7.4.4. Zastosowanie asercji do dokumentowania założeń 364 7.5. Dzienniki 365 7.5.1. Podstawy zapisu do dziennika 366 7.5.2. Zaawansowane techniki zapisu do dziennika 366 7.5.3. Zmiana konfiguracji menedżera dzienników 368 7.5.4. Lokalizacja 370 7.5.5. Obiekty typu Handler 371 7.5.6. Filtry 374 7.5.7. Formatery 374 7.5.8. Przepis na dziennik 375 7.6. Wskazówki dotyczące debugowania 383 Rozdział 8. Programowanie generyczne 389 8.1. Dlaczego programowanie generyczne 390 8.1.1. Zalety parametrów typów 390 8.1.2. Dla kogo programowanie generyczne 391 8.2. Definicja prostej klasy generycznej 392 8.3. Metody generyczne 394 8.4. Ograniczenia zmiennych typowych 396 8.5. Kod generyczny a maszyna wirtualna 398 8.5.1. Wymazywanie typów 398 8.5.2. Translacja wyrażeń generycznych 399 8.5.3. Translacja metod generycznych 400 8.5.4. Używanie starego kodu 402 8.6. Ograniczenia i braki 403 8.6.1. Nie można podawać typów prostych jako parametrów typowych 403 8.6.2. Sprawdzanie typów w czasie działania programu jest możliwe tylko dla typów surowych 403 8.6.3. Nie można tworzyć tablic typów generycznych 404 8.6.4. Ostrzeżenia dotyczące zmiennej liczby argumentów 405 8.6.5. Nie wolno tworzyć egzemplarzy zmiennych typowych 406 8.6.6. Nie można utworzyć egzemplarza generycznej tablicy 407 8.6.7. Zmiennych typowych nie można używać w statycznych kontekstach klas generycznych 408 8.6.8. Obiektów klasy generycznej nie można generować ani przechwytywać 409 8.6.9. Można wyłączyć sprawdzanie wyjątków kontrolowanych 409 8.6.10. Uważaj na konflikty, które mogą powstać po wymazaniu typów 411 8.7. Zasady dziedziczenia dla typów generycznych 412 8.8. Typy wieloznaczne 414 8.8.1. Koncepcja typu wieloznacznego 414 8.8.2. Ograniczenia nadtypów typów wieloznacznych 415 8.8.3. Typy wieloznaczne bez ograniczeń 418 8.8.4. Chwytanie typu wieloznacznego 418 8.9. Refleksja a typy generyczne 421 8.9.1. Generyczna klasa Class 421 8.9.2. Zastosowanie parametrów Classdo dopasowywania typów 422 8.9.3. Informacje o typach generycznych w maszynie wirtualnej 422 8.9.4. Literały typowe 426 Rozdział 9. Kolekcje 433 9.1. Architektura kolekcji Javy 434 9.1.1. Oddzielenie warstwy interfejsów od warstwy klas konkretnych 434 9.1.2. Interfejs Collection 436 9.1.3. Iteratory 437 9.1.4. Generyczne metody użytkowe 439 9.2. Interfejsy w systemie kolekcji Javy 442 9.3. Konkretne klasy kolekcyjne 445 9.3.1. Listy powiązane 445 9.3.2. Listy tablicowe 454 9.3.3. Zbiór HashSet 454 9.3.4. Zbiór TreeSet 458 9.3.5. Kolejki Queue i Deque 462 9.3.6. Kolejki priorytetowe 464 9.4. Słowniki 465 9.4.1. Podstawowe operacje słownikowe 465 9.4.2. Modyfikowanie wpisów w słowniku 468 9.4.3. Widoki słowników 470 9.4.4. Klasa WeakHashMap 471 9.4.5. Klasy LinkedHashSet i LinkedHashMap 472 9.4.6. Klasy EnumSet i EnumMap 473 9.4.7. Klasa IdentityHashMap 474 9.5. Widoki i opakowania 476 9.5.1. Małe kolekcje 476 9.5.2. Przedziały 478 9.5.3. Widoki niemodyfikowalne 478 9.5.4. Widoki synchronizowane 480 9.5.5. Widoki kontrolowane 480 9.5.6. Uwagi dotyczące operacji opcjonalnych 481 9.6. Algorytmy 485 9.6.1. Dlaczego algorytmy generyczne 485 9.6.2. Sortowanie i tasowanie 486 9.6.3. Wyszukiwanie binarne 489 9.6.4. Proste algorytmy 490 9.6.5. Operacje zbiorowe 492 9.6.6. Konwersja pomiędzy kolekcjami a tablicami 493 9.6.7. Pisanie własnych algorytmów 493 9.7. Stare kolekcje 495 9.7.1. Klasa Hashtable 495 9.7.2. Wyliczenia 495 9.7.3. Słowniki własności 496 9.7.4. Stosy 500 9.7.5. Zbiory bitów 500 Rozdział 10. Graficzne interfejsy użytkownika 505 10.1. Historia zestawów narzędzi do tworzenia interfejsów użytkownika 505 10.2. Wyświetlanie ramki 507 10.2.1. Tworzenie ramki 507 10.2.2. Właściwości ramki 509 10.3. Wyświetlanie informacji w komponencie 512 10.3.1. Figury 2D 517 10.3.2. Kolory 523 10.3.3. Czcionki 524 10.3.4. Wyświetlanie obrazów 530 10.4. Obsługa zdarzeń 531 10.4.1. Podstawowe koncepcje obsługi zdarzeń 531 10.4.2. Przykład - obsługa kliknięcia przycisku 533 10.4.3. Zwięzłe definiowanie procedur nasłuchowych 536 10.4.4. Klasy adaptacyjne 537 10.4.5. Akcje 539 10.4.6. Zdarzenia generowane przez mysz 545 10.4.7. Hierarchia zdarzeń w bibliotece AWT 550 10.5. API Preferences 552 Rozdział 11. Komponenty Swing interfejsu użytkownika 559 11.1. Swing i wzorzec model-widok-kontroler 560 11.2. Wprowadzenie do zarządzania rozkładem 563 11.2.1. Zarządcy układu 563 11.2.2. Rozkład brzegowy 565 11.2.3. Rozkład siatkowy 567 11.3. Wprowadzanie tekstu 568 11.3.1. Pola tekstowe 568 11.3.2. Etykiety komponentów 570 11.3.3. Pola haseł 571 11.3.4. Obszary tekstowe 572 11.3.5. Panele przewijane 573 11.4. Komponenty umożliwiające wybór opcji 575 11.4.1. Pola wyboru 575 11.4.2. Przełączniki 577 11.4.3. Obramowanie 581 11.4.4. Listy rozwijane 583 11.4.5. Suwaki 586 11.5. Menu 592 11.5.1. Tworzenie menu 592 11.5.2. Ikony w elementach menu 595 11.5.3. Pola wyboru i przełączniki jako elementy menu 596 11.5.4. Menu podręczne 597 11.5.5. Mnemoniki i akceleratory 598 11.5.6. Aktywowanie i dezaktywowanie elementów menu 600 11.5.7. Paski narzędzi 604 11.5.8. Dymki 606 11.6. Zaawansowane techniki zarządzania rozkładem 607 11.6.1. Rozkład GridBagLayout 607 11.6.2. Niestandardowi zarządcy rozkładu 616 11.7. Okna dialogowe 620 11.7.1. Okna dialogowe opcji 621 11.7.2. Tworzenie okien dialogowych 625 11.7.3. Wymiana danych 629 11.7.4. Okna dialogowe wyboru plików 634 Rozdział 12. Współbieżność 643 12.1. Czym są wątki 644 12.2. Stany wątków 648 12.2.1. Wątki tworzone za pomocą operatora new 649 12.2.2. Wątki RUNNABLE 649 12.2.3. Wątki BLOCKED i WAITING 650 12.2.4. Zamykanie wątków 650 12.3. Własności wątków 652 12.3.1. Przerywanie wątków 652 12.3.2. Wątki demony 655 12.3.3. Nazwy wątków 655 12.3.4. Procedury obsługi nieprzechwyconych wyjątków 655 12.3.5. Priorytety wątków 657 12.4. Synchronizacja 658 12.4.1. Przykład sytuacji powodującej wyścig 658 12.4.2. Wyścigi 660 12.4.3. Obiekty klasy Lock 662 12.4.4. Warunki 665 12.4.5. Słowo kluczowe synchronized 670 12.4.6. Bloki synchronizowane 674 12.4.7. Monitor 675 12.4.8. Pola ulotne 676 12.4.9. Zmienne finalne 677 12.4.10. Zmienne atomowe 677 12.4.11. Zakleszczenia 679 12.4.12. Zmienne lokalne wątków 682 12.4.13. Dlaczego metody stop i suspend są wycofywane 683 12.5. Kolekcje bezpieczne wątkowo 685 12.5.1. Kolejki blokujące 685 12.5.2. Szybkie słowniki, zbiory i kolejki 692 12.5.3. Atomowe modyfikowanie elementów słowników 693 12.5.4. Operacje masowe na współbieżnych słownikach skrótów 696 12.5.5. Współbieżne widoki zbiorów 698 12.5.6. Tablice kopiowane przy zapisie 699 12.5.7. Równoległe algorytmy tablicowe 699 12.5.8. Starsze kolekcje bezpieczne wątkowo 700 12.6. Zadania i pule wątków 701 12.6.1. Interfejsy Callable i Future 702 12.6.2. Klasa Executors 704 12.6.3. Kontrolowanie grup zadań 707 12.6.4. Metoda rozgałęzienie-złączenie 711 12.7. Obliczenia asynchroniczne 714 12.7.1. Klasa CompletableFuture 714 12.7.2. Tworzenie obiektów CompletableFuture 716 12.7.3. Czasochłonne zadania w wywołaniach zwrotnych interfejsu użytkownika 722 12.8. Procesy 728 12.8.1. Budowanie procesu 729 12.8.2. Uruchamianie procesu 730 12.8.3. Uchwyty procesów 731
Sygnatura czytelni BWEAiI: XII N 150
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. 149889 N (1 egz.)
Książka
W koszyku
Java : podstawy / Cay S. Horstmann ; tłumaczenie Łukasz Piwko. - Gliwice : Helion, copyright 2020. - 808 stron : ilustracje ; 24 cm.
Na okładce, grzbiecie i stronie tytułowej: Wydanie XII - dotyczy oryginału.
Indeks.
Dla profesjonalnych programistów Javy.
1.1. Java jako platforma programistyczna 1.2. Słowa klucze białej księgi Javy 1.2.1. Prostota 1.2.2. Obiektowość 1.2.3. Sieciowość 1.2.4. Niezawodność 1.2.5. Bezpieczeństwo 1.2.6. Niezależność od architektury 1.2.7. Przenośność 1.2.8. Interpretacja 1.2.9. Wysoka wydajność 1.2.10. Wielowątkowość 1.2.11. Dynamiczność 1.3. Aplety Javy i internet 1.4. Krótka historia Javy 1.5. Główne nieporozumienia dotyczące Javy Środowisko programistyczne Javy 2.1. Instalacja oprogramowania Java Development Kit 2.1.1. Pobieranie pakietu JDK 2.1.2. Instalacja pakietu JDK 2.1.3. Instalacja plików źródłowych i dokumentacji 2.2. Używanie narzędzi wiersza poleceń 2.3. Praca w zintegrowanym środowisku programistycznym 2.4. JShell Podstawowe elementy języka Java 3.1. Prosty program w Javie 3.2. Komentarze 3.3. Typy danych 3.3.1. Typy całkowite 3.3.2. Typy zmiennoprzecinkowe 3.3.3. Typ char 3.3.4. Unicode i typ char 3.3.5. Typ boolean 3.4. Zmienne i stałe 3.4.1. Deklarowanie zmiennych 3.4.2. Inicjalizacja zmiennych 3.4.3. Stałe 3.4.4. Typ wyliczeniowy 3.5. Operatory 3.5.1. Operatory arytmetyczne 3.5.2. Funkcje i stałe matematyczne 3.5.3. Konwersja typów numerycznych 3.5.4. Rzutowanie 3.5.5. Przypisanie 3.5.6. Operatory inkrementacji i dekrementacji 3.5.7. Operatory relacyjne i logiczne 3.5.8. Operator warunkowy 3.5.9. Wyrażenia switch 3.5.10. Operatory bitowe 3.5.11. Nawiasy i priorytety operatorów 3.6. Łańcuchy 3.6.1. Podłańcuchy 3.6.2. Konkatenacja 3.6.3. Łańcuchów nie można modyfikować 3.6.4. Porównywanie łańcuchów 3.6.5. Łańcuchy puste i łańcuchy null 3.6.6. Współrzędne kodowe znaków i jednostki kodowe 3.6.7. API String 3.6.8. Dokumentacja API w internecie 3.6.9. Składanie łańcuchów 3.6.10. Bloki tekstowe 3.7. Wejście i wyjście 3.7.1. Odbieranie danych wejściowych 3.7.2. Formatowanie danych wyjściowych 3.7.3. Zapis i odczyt plików 3.8. Sterowanie wykonywaniem programu 3.8.1. Zasięg blokowy 3.8.2. Instrukcje warunkowe 3.8.3. Pętle 3.8.4. Pętle o określonej liczbie powtórzeń 3.8.5. Wybór wielokierunkowy — instrukcja switch 3.8.6. Instrukcje przerywające przepływ sterowania 3.9. Wielkie liczby 3.10. Tablice 3.10.1. Deklarowanie tablic 3.10.2. Dostęp do elementów tablicy 3.10.3. Pętla typu for each 3.10.4. Kopiowanie tablicy 3.10.5. Parametry wiersza poleceń 3.10.6. Sortowanie tablicy 3.10.7. Tablice wielowymiarowe 3.10.8. Tablice postrzępione Obiekty i klasy 4.1. Wstęp do programowania obiektowego 4.1.1. Klasy 4.1.2. Obiekty 4.1.3. Identyfikacja klas 4.1.4. Relacje między klasami 4.2. Używanie klas predefiniowanych 4.2.1. Obiekty i zmienne obiektów 4.2.2. Klasa LocalDate 4.2.3. Metody udostępniające i zmieniające wartość elementu 4.3. Definiowanie własnych klas 4.3.1. Klasa Employee 4.3.2. Używanie wielu plików źródłowych 4.3.3. Analiza klasy Employee 4.3.4. Pierwsze kroki w tworzeniu konstruktorów 4.3.5. Deklarowanie zmiennych lokalnych za pomocą słowa kluczowego var 4.3.6. Praca z referencjami null 4.3.7. Parametry jawne i niejawne 4.3.8. Korzyści z hermetyzacji 4.3.9. Przywileje klasowe 4.3.10. Metody prywatne 4.3.11. Stałe jako pola klasy 4.4. Pola i metody statyczne 4.4.1. Pola statyczne 4.4.2. Stałe statyczne 4.4.3. Metody statyczne 4.4.4. Metody fabryczne 4.4.5. Metoda main 4.5. Parametry metod 4.6. Konstruowanie obiektów 4.6.1. Przeciążanie 4.6.2. Domyślna inicjalizacja pól 4.6.3. Konstruktor bezargumentowy 4.6.4. Jawna inicjalizacja pól 4.6.5. Nazywanie parametrów 4.6.6. Wywoływanie innego konstruktora 4.6.7. Bloki inicjalizujące 4.6.8. Niszczenie obiektów i metoda finalize 4.7. Rekordy 4.7.1. Koncepcja rekordu 4.7.2. Konstruktory: kanoniczny, niestandardowy i kompaktowy 4.8. Pakiety 4.8.1. Nazwy pakietów 4.8.2. Importowanie klas 4.8.3. Importowanie statyczne 4.8.4. Dodawanie klasy do pakietu 4.8.5. Dostęp do pakietu 4.8.6. Ścieżka klas 4.8.7. Ustawianie ścieżki klas 4.9. Pliki JAR 4.9.1. Tworzenie plików JAR 4.9.2. Manifest 4.9.3. Wykonywalne pliki JAR 4.9.4. Pliki JAR z wieloma wersjami klas 4.9.5. Kilka uwag na temat opcji wiersza poleceń 4.10. Komentarze dokumentacyjne 4.11. Porady dotyczące projektowania klas Dziedziczenie 5.1. Klasy, nadklasy i podklasy 5.1.1. Definiowanie podklas 5.1.2. Przesłanianie metod 5.1.3. Konstruktory podklas 5.1.4. Hierarchia dziedziczenia 5.1.5. Polimorfizm 5.1.6. Zasady wywoływania metod 5.1.7. Wyłączanie dziedziczenia — klasy i metody finalne 5.1.8. Rzutowanie 5.1.9. Operator instanceof i dopasowywanie wzorców 5.1.10. Ograniczanie dostępu 5.2. Kosmiczna klasa wszystkich klas — Object 5.2.1. Zmienne typu Object 5.2.2. Metoda equals 5.2.3. Porównywanie a dziedziczenie 5.2.4. Metoda hashCode 5.2.5. Metoda toString 5.3. Generyczne listy tablicowe 5.3.1. Deklarowanie list tablicowych 5.3.2. Dostęp do elementów listy tablicowej 5.3.3. Zgodność pomiędzy typowanymi a surowymi listami tablicowymi 5.4. Opakowania obiektów i automatyczne pakowanie 5.5. Metody ze zmienną liczbą parametrów 5.6. Klasy abstrakcyjne 5.7. Klasy wyliczeniowe 5.8. Klasy zapieczętowane 5.9.1. Klasa Class 5.9.2. Podstawy deklarowania wyjątków 5.9.3. Zasoby 5.9.4. Zastosowanie refleksji w analizie funkcjonalności klasy 5.9.5. Refleksja w analizie obiektów w czasie działania programu 5.9.6. Zastosowanie refleksji w generycznym kodzie tablicowym 5.9.7. Wywoływanie dowolnych metod i konstruktorów 5.10. Porady projektowe dotyczące dziedziczenia Rozdział 6. Interfejsy, wyrażenia lambda i klasy wewnętrzne 6.1. Interfejsy 6.1.1. Koncepcja interfejsu 6.1.2. Własności interfejsów 6.1.3. Interfejsy a klasy abstrakcyjne 6.1.4. Metody statyczne i prywatne 6.1.5. Metody domyślne 6.1.6. Wybieranie między metodami domyślnymi 6.1.7. Interfejsy i wywołania zwrotne 6.1.8. Interfejs Comparator 6.1.9. Klonowanie obiektów 6.2. Wyrażenia lambda 6.2.1. Po co w ogóle są lambdy 6.2.2. Składnia wyrażeń lambda 6.2.3. Interfejsy funkcyjne 6.2.4. Referencje do metod 6.2.5. Referencje do konstruktorów 6.2.6. Zakres dostępności zmiennych 6.2.7. Przetwarzanie wyrażeń lambda 6.2.8. Poszerzenie wiadomości o komparatorach 6.3. Klasy wewnętrzne 6.3.1. Dostęp do stanu obiektu w klasie wewnętrznej 6.3.2. Specjalne reguły składniowe dotyczące klas wewnętrznych 6.3.3. Czy klasy wewnętrzne są potrzebne i bezpieczne? 6.3.4. Lokalne klasy wewnętrzne 6.3.5. Dostęp do zmiennych finalnych z metod zewnętrznych 6.3.6. Anonimowe klasy wewnętrzne 6.3.7. Statyczne klasy wewnętrzne 6.4. Moduły ładowania usług 6.5. Klasy pośredniczące 6.5.1. Kiedy używać klas pośredniczących 6.5.2. Tworzenie obiektów pośredniczących 6.5.3. Właściwości klas pośredniczących Rozdział 7. Wyjątki, asercje i dzienniki 7.1. Obsługa błędów 7.1.1. Klasyfikacja wyjątków 7.1.2. Deklarowanie wyjątków kontrolowanych 7.1.3. Zgłaszanie wyjątków 7.1.4. Tworzenie klas wyjątków
7.2. Przechwytywanie wyjątków 7.2.1. Przechwytywanie wyjątku 7.2.2. Przechwytywanie wielu typów wyjątków 7.2.3. Powtórne generowanie wyjątków i budowanie łańcuchów wyjątków 7.2.4. Klauzula finally 7.2.5. Instrukcja try z zasobami 7.2.6. Analiza danych ze stosu wywołań 7.3. Wskazówki dotyczące stosowania wyjątków 7.4. Asercje 7.4.1. Koncepcja asercji 7.4.2. Włączanie i wyłączanie asercji 7.4.3. Zastosowanie asercji do sprawdzania parametrów 7.4.4. Zastosowanie asercji do dokumentowania założeń 7.5. Dzienniki 7.5.1. Podstawy zapisu do dziennika 7.5.2. Zaawansowane techniki zapisu do dziennika 7.5.3. Zmiana konfiguracji menedżera dzienników 7.5.4. Lokalizacja 7.5.5. Obiekty typu Handler 7.5.6. Filtry 7.5.7. Formatery 7.5.8. Przepis na dziennik 7.6. Wskazówki dotyczące debugowania Rozdział 8. Programowanie generyczne 8.1. Dlaczego programowanie generyczne 8.1.1. Zalety parametrów typów 8.1.2. Dla kogo programowanie generyczne 8.2. Definicja prostej klasy generycznej 8.3. Metody generyczne 8.4. Ograniczenia zmiennych typowych 8.5. Kod generyczny a maszyna wirtualna 8.5.1. Wymazywanie typów 8.5.2. Translacja wyrażeń generycznych 8.5.3. Translacja metod generycznych 8.5.4. Używanie starego kodu 8.6. Ograniczenia i braki 8.6.1. Nie można podawać typów prostych jako parametrów typowych 8.6.2. Sprawdzanie typów w czasie działania programu jest możliwe tylko dla typów surowych 8.6.3. Nie można tworzyć tablic typów generycznych 8.6.4. Ostrzeżenia dotyczące zmiennej liczby argumentów 8.6.5. Nie wolno tworzyć egzemplarzy zmiennych typowych 8.6.6. Nie można utworzyć egzemplarza generycznej tablicy 8.6.7. Zmiennych typowych nie można używać w statycznych kontekstach klas generycznych 8.6.8. Obiektów klasy generycznej nie można generować ani przechwytywać 8.6.9. Można wyłączyć sprawdzanie wyjątków kontrolowanych 8.6.10. Uważaj na konflikty, które mogą powstać po wymazaniu typów 8.7. Zasady dziedziczenia dla typów generycznych 8.8. Typy wieloznaczne 8.8.1. Koncepcja typu wieloznacznego 8.8.2. Ograniczenia nadtypów typów wieloznacznych 8.8.3. Typy wieloznaczne bez ograniczeń 8.8.4. Chwytanie typu wieloznacznego 8.9. Refleksja a typy generyczne 8.9.1. Generyczna klasa Class 8.9.2. Zastosowanie parametrów Class do dopasowywania typów 8.9.3. Informacje o typach generycznych w maszynie wirtualnej 8.9.4. Literały typowe Rozdział 9. Kolekcje 9.1. Architektura kolekcji Javy 9.1.1. Oddzielenie warstwy interfejsów od warstwy klas konkretnych 9.1.2. Interfejs Collection 9.1.3. Iteratory 9.1.4. Generyczne metody użytkowe 9.2. Interfejsy w systemie kolekcji Javy 9.3. Konkretne klasy kolekcyjne 9.3.1. Listy powiązane 9.3.2. Listy tablicowe 9.3.3. Zbiór HashSet 9.3.4. Zbiór TreeSet 9.3.5. Kolejki Queue i Deque 9.3.6. Kolejki priorytetowe 9.4. Słowniki 9.4.1. Podstawowe operacje słownikowe 9.4.2. Modyfikowanie wpisów w słowniku 9.4.3. Widoki słowników 9.4.4. Klasa WeakHashMap 9.4.5. Klasy LinkedHashSet i LinkedHashMap 9.4.6. Klasy EnumSet i EnumMap 9.4.7. Klasa IdentityHashMap 9.5. Kopie i widoki 9.5.1. Małe kolekcje 9.5.2. Niemodyfikowalne kopie i widoki 9.5.3. Przedziały 9.5.4. Widoki kontrolowane 9.5.5. Widoki synchronizowane 9.5.6. Uwagi dotyczące operacji opcjonalnych 9.6. Algorytmy 9.6.1. Dlaczego algorytmy generyczne 9.6.2. Sortowanie i tasowanie 9.6.3. Wyszukiwanie binarne 9.6.4. Proste algorytmy 9.6.5. Operacje zbiorowe 9.6.6. Konwersja pomiędzy kolekcjami a tablicami 9.6.7. Pisanie własnych algorytmów 9.7. Stare kolekcje 9.7.1. Klasa Hashtable 9.7.2. Wyliczenia 9.7.3. Słowniki własności 9.7.4. Stosy 9.7.5. Zbiory bitów Rozdział 10. Graficzne interfejsy użytkownika 10.1. Historia zestawów narzędzi do tworzenia interfejsów użytkownika 10.2. Wyświetlanie ramki 10.2.1. Tworzenie ramki 10.2.2. Właściwości ramki 10.3. Wyświetlanie informacji w komponencie 10.3.1. Figury 2D 10.3.2. Kolory 10.3.3. Czcionki 10.3.4. Wyświetlanie obrazów 10.4. Obsługa zdarzeń 10.4.1. Podstawowe koncepcje obsługi zdarzeń 10.4.2. Przykład — obsługa kliknięcia przycisku 10.4.3. Zwięzłe definiowanie procedur nasłuchowych 10.4.4. Klasy adaptacyjne 10.4.5. Akcje 10.4.6. Zdarzenia generowane przez mysz 10.4.7. Hierarchia zdarzeń w bibliotece AWT 10.5. API Preferences Komponenty Swing interfejsu użytkownika 11.1. Swing i wzorzec model-widok-kontroler 11.2. Wprowadzenie do zarządzania rozkładem 11.2.1. Zarządcy układu 11.2.2. Rozkład brzegowy 11.2.3. Rozkład siatkowy 11.3. Wprowadzanie tekstu 11.3.1. Pola tekstowe 11.3.2. Etykiety komponentów 11.3.3. Pola haseł 11.3.4. Obszary tekstowe 11.3.5. Panele przewijane 11.4. Komponenty umożliwiające wybór opcji 11.4.1. Pola wyboru 11.4.2. Przełączniki 11.4.3. Obramowanie 11.4.4. Listy rozwijane 11.4.5. Suwaki 11.5. Menu 11.5.1. Tworzenie menu 11.5.2. Ikony w elementach menu 11.5.3. Pola wyboru i przełączniki jako elementy menu 11.5.4. Menu podręczne 11.5.5. Mnemoniki i akceleratory 11.5.6. Aktywowanie i dezaktywowanie elementów menu 11.5.7. Paski narzędzi 11.5.8. Dymki 11.6. Zaawansowane techniki zarządzania rozkładem 11.6.1. Rozkład GridBagLayout 11.6.2. Niestandardowi zarządcy rozkładu 11.7. Okna dialogowe 11.7.1. Okna dialogowe opcji 11.7.2. Tworzenie okien dialogowych 11.7.3. Wymiana danych 11.7.4. Okna dialogowe wyboru plików Rozdział 12. Współbieżność 12.1. Czym są wątki 12.2. Stany wątków 12.2.1. Wątki tworzone za pomocą operatora new 12.2.2. Wątki RUNNABLE 12.2.3. Wątki BLOCKED i WAITING 12.2.4. Zamykanie wątków 12.3. Własności wątków 12.3.1. Przerywanie wątków 12.3.2. Wątki demony 12.3.3. Nazwy wątków 12.3.4. Procedury obsługi nieprzechwyconych wyjątków 12.3.5. Priorytety wątków 12.4. Synchronizacja 12.4.1. Przykład sytuacji powodującej wyścig 12.4.2. Wyścigi 12.4.3. Obiekty klasy Lock 12.4.5. Słowo kluczowe synchronized 12.4.6. Bloki synchronizowane 12.4.7. Monitor 12.4.8. Pola ulotne 12.4.9. Zmienne finalne 12.4.10. Zmienne atomowe 12.4.11. Zakleszczenia 12.4.12. Dlaczego metody stop i suspend są wycofywane 12.4.13. Inicjalizacja na żądanie 12.4.14. Zmienne lokalne wątków 12.5. Kolekcje bezpieczne wątkowo 12.5.1. Kolejki blokujące 12.5.2. Szybkie słowniki, zbiory i kolejki 12.5.3. Atomowe modyfikowanie elementów słowników 12.5.4. Operacje masowe na współbieżnych słownikach skrótów 12.5.5. Współbieżne widoki zbiorów 12.5.6. Tablice kopiowane przy zapisie 12.5.7. Równoległe algorytmy tablicowe 12.5.8. Starsze kolekcje bezpieczne wątkowo 12.6. Zadania i pule wątków 12.6.1. Interfejsy Callable i Future 12.6.2. Klasa Executors 12.6.3. Kontrolowanie grup zadań 12.6.4. Metoda rozgałęzienie-złączenie 12.7. Obliczenia asynchroniczne 12.7.1. Klasa CompletableFuture 12.7.2. Tworzenie obiektów CompletableFuture 12.7.3. Czasochłonne zadania w wywołaniach zwrotnych interfejsu użytkownika 12.8. Procesy 12.8.1. Budowanie procesu 12.8.2. Uruchamianie procesu 12.8.3. Uchwyty procesów
Sygnatura czytelni BWEAiI: XII N 160
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. 153022 (1 egz.)
Książka
W koszyku
Wydanie 3. odnosi się do oryginału. Na stronie tytułowej i okładce: Zauktualizowane do wersji Java 17.
Dla profesjonalnych programistów Javy.
Podstawowe struktury programistyczne Kompilacja i uruchamianie programu w języku Java Wywołania metod JShell Typy proste Typy całkowite ze znakiem Typy zmiennoprzecinkowe Typ char Typ boolean Deklaracje zmiennych Identyfikatory Inicjalizacja Działania arytmetyczne Przypisanie Podstawowa arytmetyka Metody matematyczne Konwersja typów liczbowych Operatory relacji i operatory logiczne Duże liczby Ciągi znaków Łączenie ciągów znaków Wycinanie ciągów znaków Porównywanie ciągów znaków Konwersja liczb na znaki i znaków na liczby API klasy String Kodowanie znaków w języku Java Bloki tekstu Wejście i wyjście Wczytywanie danych wejściowych Formatowanie generowanych danych Kontrola przepływu Instrukcje warunkowe Słowo kluczowe switch Pętle Przerywanie i kontynuacja Zasięg zmiennych lokalnych Tablice i listy tablic Klasa ArrayList Klasy opakowujące typy proste Rozszerzona pętla for Kopiowanie tablic i obiektów ArrayList Algorytmy tablic Parametry wiersza poleceń Tablice wielowymiarowe Dekompozycja funkcjonalna Deklarowanie i wywoływanie metod statycznych Parametry tablicowe i zwracane wartości Zmienna liczba parametrów Programowanie obiektowe Praca z obiektami Metody dostępowe i modyfikujące Referencje do obiektu Implementowanie klas Zmienne instancyjne Nagłówki metod Wywołania metod instancyjnych. Referencja this Wywołanie przez wartość Tworzenie obiektów Implementacja konstruktorów Przeciążanie Wywoływanie jednego konstruktora z innego Domyślna inicjalizacja Inicjalizacja zmiennych instancyjnych Zmienne instancyjne z modyfikatorem final Konstruktor bez parametrów Rekordy Koncepcja rekordu Konstruktory: kanoniczny, niestandardowy i kompaktowy Zmienne statyczne Stałe statyczne Statyczne bloki inicjalizacyjne Metody statyczne Metody wytwórcze Pakiety Deklarowanie pakietów Polecenie jar Ścieżka przeszukiwań dla klas Dostęp do pakietu Importowanie klas Import metod statycznych Klasy zagnieżdżone Statyczne klasy zagnieżdżone Klasy wewnętrzne Specjalne reguły składni dla klas wewnętrznych Komentarze do dokumentacji Wstawianie komentarzy Komentarze klasy Komentarze metod Komentarze zmiennych Ogólne komentarze Odnośniki Opisy pakietów, modułów i ogólne Wycinanie komentarzy. Interfejsy i wyrażenia lambda Implementowanie interfejsu Konwersja do typu interfejsu Rzutowanie i operator instanceof Forma operatora instanceof z "dopasowywaniem wzorca" Rozszerzanie interfejsów Implementacja wielu interfejsów Stałe Metody statyczne, domyślne i prywatne Rozstrzyganie konfliktów metod domyślnych Metody prywatne Interfejs Comparable Interfejs Comparator Interfejs Runnable Wywołania zwrotne interfejsu użytkownika Wyrażenia lambda Składnia wyrażeń lambda Interfejsy funkcyjne Referencje do metod i konstruktora Referencje do metod Referencje konstruktora Przetwarzanie wyrażeń lambda Implementacja odroczonego wykonania Wybór interfejsu funkcyjnego Implementowanie własnych interfejsów funkcyjnych Wyrażenia lambda i zasięg zmiennych Zasięg zmiennej lambda Dostęp do zmiennych zewnętrznych Funkcje wyższych rzędów Metody zwracające funkcje Metody modyfikujące funkcje Metody interfejsu Comparator Klasy lokalne i anonimowe
Dziedziczenie i mechanizm refleksji Rozszerzanie klas Klasy nadrzędne i podrzędne Definiowanie i dziedziczenie metod klas podrzędnych Przesłanianie metod Tworzenie klasy podrzędnej Przypisania klas nadrzędnych Rzutowanie Anonimowe klasy podrzędne Wywołania metod z super Hierarchie dziedziczenia Metody i klasy z modyfikatorem final Abstrakcyjne metody i klasy Ograniczony dostęp Typy zapieczętowane Dziedziczenie i metody domyślne Object - najwyższa klasa nadrzędna Metoda toString Metoda equals Metoda hashCode Klonowanie obiektów Wyliczenia Konstruktory, metody i pola Zawartość elementów Elementy statyczne Wyrażenia switch ze stałymi wyliczeniowymi Informacje o typie i zasobach w czasie działania programu Klasa Class Wczytywanie zasobów Programy wczytujące klasy Kontekstowy program wczytujący klasy Programy do ładowania usług Refleksje Wyliczanie elementów klasy Kontrolowanie obiektów Wywoływanie metod Tworzenie obiektów JavaBeans Praca z tablicami Klasa Proxy Wyjątki, asercje i logi Obsługa wyjątków Deklarowanie wyjątków kontrolowanych Przechwytywanie wyjątków Wyrażenie try z określeniem zasobów Klauzula finally Ponowne wyrzucanie wyjątków i łączenie ich w łańcuchy Nieprzechwycone wyjątki i ślad stosu wywołań Metody API pozwalające wyrzucać wyjątki Asercje Rejestrowanie danych Czy w Javie warto korzystać z frameworka rejestrowania danych? ABC rejestrowania danych Interfejs Platform Logging API Konfiguracja mechanizmów rejestrowania danych Programy obsługujące rejestrowanie danych Filtry i formaty Programowanie uogólnione Klasy uogólnione Metody uogólnione Ograniczenia typów Zmienność typów i symbole wieloznaczne Symbole wieloznaczne w typach podrzędnych Symbole wieloznaczne typów nadrzędnych Symbole wieloznaczne ze zmiennymi typami Nieograniczone symbole wieloznaczne Przechwytywanie symboli wieloznacznych Uogólnienia w maszynie wirtualnej Javy Wymazywanie typów Wprowadzanie rzutowania Metody pomostowe Ograniczenia uogólnień Brak typów prostych W czasie działania kodu wszystkie typy są surowe Nie możesz tworzyć instancji zmiennych opisujących typy Nie możesz tworzyć tablic z parametryzowanym typem Zmienne opisujące typ klasy nie są poprawne w kontekście statycznym Metody nie mogą wywoływać konfliktów po wymazywaniu typów Klasa Class Informacje o uogólnionych typach w maszynie wirtualnej Kolekcje Iteratory Zestawy Mapy Zestawy bitów Zestawy wyliczeniowe i mapy Stosy, kolejki zwykłe i dwukierunkowe oraz kolejki z priorytetami. Klasa WeakHashMap Widoki Zakresy Niemodyfikowalne widoki Strumienie Od iteratorów do operacji strumieniowych Metody filter, map i flatMap
Wycinanie podstrumieni i łączenie strumieni Typ Optional Tworzenie alternatywnej wartości Wykorzystywanie wartości tylko wtedy, gdy jest obecna. Przetwarzanie potokowe wartości typu Optional Tworzenie wartości Optional Łączenie flatMap z funkcjami wartości Optional Zamiana Optional w Stream Kolekcje wyników Tworzenie map Grupowanie i partycjonowanie Kolektory strumieniowe Operacje redukcji Strumienie typów prostych Strumienie równoległe Przetwarzanie danych wejściowych i wyjściowych Strumienie wejściowe i wyjściowe, mechanizmy wczytujące i zapisujące Pozyskiwanie strumieni Wczytywanie bajtów Zapisywanie bajtów Kodowanie znaków Wczytywanie danych tekstowych Generowanie danych tekstowych Wczytywanie i zapisywanie danych binarnych Pliki o swobodnym dostępie Pliki mapowane w pamięci Blokowanie plików Ścieżki, pliki i katalogi Tworzenie plików i katalogów Kopiowanie, przenoszenie i usuwanie plików Odwiedzanie katalogów System plików ZIP Połączenia HTTP Klasy URLConnection i HttpURLConnection API klienta HTTP Wyrażenia regularne Składnia wyrażeń regularnych Testowanie dopasowania Odnajdywanie wszystkich dopasowań Grupy Dzielenie za pomocą znaczników Zastępowanie dopasowań Flagi Serializacja Interfejs Serializable Chwilowe zmienne instancyjne Metody readObject i writeObject Metody readExternal i writeExternal Metody readResolve i writeReplace Wersjonowanie Deserializacja i bezpieczeństwo Programowanie współbieżne Zadania współbieżne Uruchamianie zadań Obiekty Future Obliczenia asynchroniczne Klasa CompletableFuture Długie zadania obsługujące interfejs użytkownika Bezpieczeństwo wątków Widoczność Wyścigi Strategie bezpiecznego korzystania ze współbieżności Klasy niemodyfikowalne Algorytmy równoległe Strumienie równoległe Równoległe operacje na tablicach Struktury danych bezpieczne dla wątków Klasa ConcurrentHashMap Kolejki blokujące Inne struktury danych bezpieczne dla wątków Atomowe liczniki i akumulatory Blokady i warunki Słowo kluczowe synchronized Oczekiwanie warunkowe Wątki Procesy Adnotacje Adnotacje standardowe Adnotacje do kompilacji Metaadnotacje Przetwarzanie adnotacji w kodzie Przetwarzanie adnotacji w kodzie źródłowym API modelu języka Wykorzystanie adnotacji do generowania kodu źródłowego API daty i czasu Formatowanie i przetwarzanie Współpraca z przestarzałym kodem Internacjonalizacja Lokalizacje Nazwy wyświetlane Formaty liczb Waluty Formatowanie czasu i daty Porównywanie i normalizacja Formatowanie komunikatów Pakiety z zasobami Organizacja pakietów z zasobami Klasy z pakietami Kodowanie znaków Kompilacja i skryptowanie API kompilatora Wywołanie kompilatora Uruchamianie zadania kompilacji Przechwytywanie komunikatów diagnostycznych Wczytywanie plików źródłowych z pamięci Zapisywanie skompilowanego kodu w pamięci API skryptów Tworzenie silnika skryptowego Uruchamianie skryptów za pomocą metody eval Powiązania Przekierowanie wejścia i wyjścia Wywoływanie funkcji i metod skryptowych Kompilowanie skryptu. System modułów na platformie Java Koncepcja modułu Nazywanie modułów Dołączanie modułów Eksportowanie pakietów Moduły i dostęp przez refleksje Modularne pliki JAR Moduły automatyczne Moduł nienazwany Flagi wiersza poleceń dla migracji Wymagania przechodnie i statyczne Wybiórcze eksportowanie i otwieranie Wczytywanie usługi Narzędzia do pracy z modułami
Sygnatura czytelni BWEAiI: XII N 168
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. 154675 N (1 egz.)
Brak okładki
Książka
W koszyku
(Core)
Wyd. 8 na s. tyt., okł. odnosi się do wyd. oryg.
Na s. tyt. i okł. logo wydw. oryg.: Sun Microsystems.
Na okł. : Wykorzystaj źródło zaawansowanej wiedzy! [...].
Indeks.
Sygnatura czytelni BWEAiI: XII N 10
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. 122437 N (1 egz.)
Książka
W koszyku
Tytuł oryginału: Core Java. Vol. 2, Advanced features.
Wydanie 11. odnosi się do oryginału.
Na stronie redakcyjnej: Tłumaczenie Piotr Rajca na podstawie: Java. Techniki zaawansowane. Wydanie IX w tłumaczeniu Jaromira Senczyka.
Indeks.
Rozdział 1. Strumienie 17 1.1. Od iteracji do operacji na strumieniach 18 1.2. Tworzenie strumieni 20 1.3. Metody filter, map oraz flatMap 26 1.4. Pobieranie podstrumieni i łączenie strumieni 27 1.5. Inne przekształcenia strumieni 29 1.6. Proste operacje redukcji 30 1.7. Typ Optional 32 1.7.1. Pobieranie wartości Optional 32 1.7.2. Korzystanie z wartości Optional 33 1.7.3. Potoki wartości opcjonalnych 33 1.7.4. Jak nie należy używać wartości opcjonalnych 35 1.7.5. Tworzenie obiektów typu Optional 36 1.7.6. Łączenie funkcji zwracających wartości opcjonalne przy użyciu flatMap 36 1.7.7. Przekształcanie wartości opcjonalnej w strumień 37 1.8. Gromadzenie wyników 40 1.9. Gromadzenie wyników w mapach 44 1.10. Grupowanie i podział 48 1.11. Kolektory przetwarzające 50 1.12. Operacje redukcji 54 1.13. Strumienie danych typów prostych 57 1.14. Strumienie równoległe 62 Rozdział 2. Wejście i wyjście 67 2.1. Strumienie wejścia-wyjścia 67 2.1.1. Odczyt i zapis bajtów 68 2.1.2. Zoo pełne strumieni 71 2.1.3. Łączenie filtrów strumieni wejścia-wyjścia 74 2.1.4. Strumienie tekstowe 78 2.1.5. Zapisywanie tekstu 79 2.1.6. Wczytywanie tekstu 81 2.1.7. Zapis obiektów w formacie tekstowym 82 2.1.8. Zbiory znaków 85 2.2. Odczyt i zapis danych binarnych 88 2.2.1. Interfejsy DataInput i DataOutput 88 2.2.2. Strumienie plików o swobodnym dostępie 90 2.2.3. Archiwa ZIP 94 2.3. Strumienie obiektów i serializacja 97 2.3.1. Zapisywanie i wczytywanie obiektów serializowalnych 97 2.3.2. Format pliku serializacji obiektów 101 2.3.3. Modyfikowanie domyślnego mechanizmu serializacji 107 2.3.4. Serializacja singletonów i wyliczeń 109 2.3.5. Wersje 110 2.3.6. Serializacja w roli klonowania 113 2.4. Zarządzanie plikami 115 2.4.1. Ścieżki dostępu 115 2.4.2. Odczyt i zapis plików 118 2.4.3. Tworzenie plików i katalogów 119 2.4.4. Kopiowanie, przenoszenie i usuwanie plików 120 2.4.5. Informacje o plikach 122 2.4.6. Przeglądanie zawartości katalogu 124 2.4.7. Stosowanie strumieni katalogów 125 2.4.8. Systemy plików ZIP 129 2.5. Mapowanie plików w pamięci 130 2.5.1. Wydajność plików mapowanych w pamięci 130 2.5.2. Struktura bufora danych 136 2.6. Blokowanie plików 138 2.7. Wyrażenia regularne 140 2.7.1. Składnia wyrażeń regularnych 141 2.7.2. Dopasowywanie wyrażeń regularnych do łańcucha 145 2.7.3. Znajdowanie wielu dopasowań 148 2.7.4. Podział w miejscach wystąpienia separatora 150 2.7.5. Zastępowanie dopasowań 150 Rozdział 3. Język XML 155 3.1. Wprowadzenie do języka XML 156 3.2. Struktura dokumentu XML 158 3.3. Parsowanie dokumentów XML 160 3.4. Kontrola poprawności dokumentów XML 169 3.4.1. Definicje typów dokumentów 170 3.4.2. XML Schema 178 3.4.3. Praktyczny przykład 180 3.5. Wyszukiwanie informacji i XPath 186 3.6. Przestrzenie nazw 190 3.7. Parsery strumieniowe 193 3.7.1. Wykorzystanie parsera SAX 193 3.7.2. Wykorzystanie parsera StAX 198 3.8. Tworzenie dokumentów XML 202 3.8.1. Dokumenty bez przestrzeni nazw 202 3.8.2. Dokumenty z przestrzenią nazw 203 3.8.3. Zapisywanie dokumentu 203 3.8.4. Zapis dokumentu XML za pomocą parsera StAX 206 3.8.5. Przykład: tworzenie pliku SVG 210 3.9. Przekształcenia XSL 212 Rozdział 4. Programowanie aplikacji sieciowych 221 4.1. Połączenia z serwerem 221 4.1.1. Stosowanie programu telnet 221 4.1.2. Nawiązywanie połączenia z serwerem z wykorzystaniem Javy 224 4.1.3. Limity czasu gniazd 225 4.1.4. Adresy internetowe 227 4.2. Implementacja serwerów 228 4.2.1. Gniazda serwera 229 4.2.2. Obsługa wielu klientów 231 4.2.3. Połączenia częściowo zamknięte 235 4.2.4. Przerywanie działania gniazd sieciowych 236 4.3. Połączenia wykorzystujące URL 242 4.3.1. URL i URI 242 4.3.2. Zastosowanie klasy URLConnection do pobierania informacji 244 4.3.3. Wysyłanie danych do formularzy 251 4.4. Klient HTTP 259 4.5. Wysyłanie poczty elektronicznej 266 Rozdział 5. Programowanie baz danych: JDBC 271 5.1. Architektura JDBC 272 5.1.1. Typy sterowników JDBC 272 5.1.2. Typowe zastosowania JDBC 274 5.2. Język SQL 274 5.3. Instalacja JDBC 280 5.3.1. Adresy URL baz danych 280 5.3.2. Pliki JAR zawierające sterownik 281 5.3.3. Uruchamianie baz danych 281 5.3.4. Rejestracja klasy sterownika 282 5.3.5. Nawiązywanie połączenia z bazą danych 283 5.4. Stosowanie poleceń SQL 285 5.4.1. Wykonywanie poleceń SQL 285 5.4.2. Zarządzanie połączeniami, poleceniami i zbiorami wyników 289 5.4.3. Analiza wyjątków SQL 289 5.4.4. Wypełnianie bazy danych 292 5.5. Wykonywanie zapytań 295 5.5.1. Polecenia przygotowane 296 5.5.2. Odczyt i zapis dużych obiektów 301 5.5.3. Sekwencje sterujące 303 5.5.4. Zapytania o wielu zbiorach wyników 305 5.5.5. Pobieranie wartości kluczy wygenerowanych automatycznie 306 5.6. Przewijalne i aktualizowalne zbiory wyników zapytań 306 5.6.1. Przewijalne zbiory wyników 307 5.6.2. Aktualizowalne zbiory rekordów 309 5.7. Zbiory rekordów 313 5.7.1. Tworzenie zbiorów rekordów 313 5.7.2. Buforowane zbiory rekordów 314 5.8. Metadane 317 5.9. Transakcje 326 5.9.1. Programowanie transakcji w JDBC 326 5.9.2. Punkty kontrolne 327 5.9.3. Aktualizacje wsadowe 327 5.9.4. Zaawansowane typy języka SQL 330 5.10. Zaawansowane zarządzanie połączeniami 331 Rozdział 6. API dat i czasu 333 6.1. Oś czasu 334 6.2. Daty lokalne 338 6.3. Modyfikatory dat 343 6.4. Czas lokalny 344 6.5. Czas strefowy 346 6.6. Formatowanie i parsowanie 351 6.7. Współdziałanie ze starym kodem 355 Rozdział 7. Internacjonalizacja 357 7.1. Lokalizatory 358 7.1.1. Dlaczego stosuje się lokalizatory? 358 7.1.2. Określanie lokalizatorów 359 7.1.3. Lokalizator domyślny 361 7.1.4. Nazwa lokalizatora 362 7.2. Formaty liczb 364 7.2.1. Formatowanie wartości liczbowych 364 7.2.2. Waluty 369 7.3. Data i czas 371 7.4. Porządek alfabetyczny i normalizacja 377 7.5. Formatowanie komunikatów 384 7.5.1. Formatowanie liczb i dat 384 7.5.2. Formatowanie z wariantami 386 7.6. Wczytywanie i wyświetlanie tekstów 388 7.6.1. Pliki tekstowe 388 7.6.2. Znaki końca wiersza 388 7.6.3. Konsola 389 7.6.4. Pliki dzienników 390 7.6.5. BOM - znacznik kolejności bajtów UTF-8 390 7.6.6. Kodowanie plików źródłowych 391 7.7. Komplety zasobów 391 7.7.1. Wyszukiwanie kompletów zasobów 392 7.7.2. Pliki właściwości 393 7.7.3. Klasy kompletów zasobów 393 7.8. Kompletny przykład 396 Rozdział 8. Skrypty, kompilacja i adnotacje 411 8.1. Skrypty na platformie Java 411 8.1.1. Wybór silnika skryptów 412 8.1.2. Wykonywanie skryptów i wiązania zmiennych 413 8.1.3. Przekierowanie wejścia i wyjścia 415 8.1.4. Wywoływanie funkcji i metod skryptów 416 8.1.5. Kompilacja skryptu 418 8.1.6. Przykład: skrypty i graficzny interfejs użytkownika 418 8.2. Interfejs kompilatora 423 8.2.1. Wywoływanie kompilatora 423 8.2.2. Uruchamianie zadania kompilacji 424 8.2.3. Przechwytywanie informacji diagnostycznych 425 8.2.4. Wczytywanie plików źródłowych z pamięci 425 8.2.5. Zapis kodów bajtowych w pamięci 426 8.2.6. Przykład: dynamiczne tworzenie kodu w języku Java 427 8.3. Stosowanie adnotacji 433 8.3.1. Wprowadzenie do stosowania adnotacji 434 8.3.2. Przykład: adnotacje obsługi zdarzeń 435 8.4. Składnia adnotacji 440 8.4.1. Interfejsy adnotacji 440 8.4.2. Adnotacje 441 8.4.3. Adnotacje deklaracji 443 8.4.4. Adnotacje zastosowań typów 444 8.4.5. Adnotacje i this 445 8.5. Adnotacje standardowe 447 8.5.1. Adnotacje kompilacji 448 8.5.2. Adnotacje zarządzania zasobami 448 8.5.3. Metaadnotacje 449 8.6. Przetwarzanie adnotacji w kodzie źródłowym 452 8.6.1. Procesory adnotacji 452 8.6.2. Interfejs programowy modelu języka 452 8.6.3. Stosowanie adnotacji do generacji kodu źródłowego 453 8.7. Inżynieria kodu bajtowego 456 8.7.1. Modyfikowanie plików klasowych 456 8.7.2. Modyfikacja kodu bajtowego podczas ładowania 461 Rozdział 9. System modułów platformy Javy 465 9.1. Pojęcie modułu 466 9.2. Nadawanie nazw modułom 467 9.3. Modularny program "Witaj, świecie!" 468 9.4. Żądanie użycia modułów 470 9.5. Eksportowanie pakietów 471 9.6. Modularne pliki JAR 475 9.7. Moduły a technika refleksji 476 9.8. Moduły automatyczne 479 9.9. Moduł nienazwany 481 9.10. Flagi wiersza poleceń stosowane podczas migracji 482 9.11. Wymagania przechodnie i statyczne 484 9.12. Eksport kwalifikowany i otwieranie 485 9.13. Wczytywanie usług 486 9.14. Narzędzia do pracy z modułami 489 Rozdział 10. Bezpieczeństwo 493 10.1. Ładowanie klas 494 10.1.1. Proces wczytywania plików klas 494 10.1.2. Hierarchia klas ładowania 495 10.1.3. Zastosowanie procedur ładujących w roli przestrzeni nazw 497 10.1.4. Implementacja własnej procedury ładującej 498 10.1.5. Weryfikacja kodu maszyny wirtualnej 504 10.2. Menedżery bezpieczeństwa i pozwolenia 508 10.2.1. Sprawdzanie uprawnień 508 10.2.2. Bezpieczeństwo na platformie Java 509 10.2.3. Pliki polityki bezpieczeństwa 512 10.2.4. Tworzenie własnych klas pozwoleń 519 10.2.5. Implementacja klasy pozwoleń 520 10.3. Uwierzytelnianie użytkowników 526 10.3.1. Framework JAAS 526 10.3.2. Moduły JAAS 531 10.4. Podpis cyfrowy 540 10.4.1. Skróty wiadomości 541 10.4.2. Podpisywanie wiadomości 544 10.4.3. Weryfikacja podpisu 546 10.4.4. Problem uwierzytelniania 548 10.4.5. Podpisywanie certyfikatów 550 10.4.6. Żądania certyfikatu 551 10.4.7. Podpisywanie kodu 552 10.5. Szyfrowanie 555 10.5.1. Szyfrowanie symetryczne 555 10.5.2. Generowanie klucza 557 10.5.3. Strumienie szyfrujące 561 10.5.4. Szyfrowanie kluczem publicznym 562 Rozdział 11. Zaawansowane możliwości pakietu Swing i grafiki 567 11.1. Tabele 567 11.1.1. Najprostsze tabele 568 11.1.2. Modele tabel 571 11.1.3. Wiersze i kolumny 575 11.1.4. Rysowanie i edycja komórek 590 11.2. Drzewa 601 11.2.1. Proste drzewa 602 11.2.2. Przeglądanie węzłów 616 11.2.3. Rysowanie węzłów 618 11.2.4. Nasłuchiwanie zdarzeń w drzewach 621 11.2.5. Własne modele drzew 627 11.3. Zaawansowane możliwości biblioteki AWT 635 11.3.1. Potokowe tworzenie grafiki 635 11.3.2. Figury 638 11.3.3. Pola 652 11.3.4. Ślad pędzla 653 11.3.5. Wypełnienia 661 11.3.6. Przekształcenia układu współrzędnych 663 11.3.7. Przycinanie 668 11.3.8. Przezroczystość i składanie obrazów 670 11.4. Grafika rastrowa 678 11.4.1. Odczyt i zapis plików graficznych 678 11.4.2. Operacje na obrazach 688 11.5. Drukowanie 703 11.5.1. Drukowanie grafiki 703 11.5.2. Drukowanie wielu stron 711 11.5.3. Usługi drukowania 720 11.5.4. Usługi drukowania za pośrednictwem strumieni 722 11.5.5. Atrybuty drukowania 725 Rozdział 12. Metody macierzyste 733 12.1. Wywołania funkcji języka C z programów w języku Java 734 12.2. Numeryczne parametry metod i wartości zwracane 740 12.3. Łańcuchy znaków jako parametry 742 12.4. Dostęp do składowych obiektu 747 12.4.1. Dostęp do pól instancji 747 12.4.2. Dostęp do pól statycznych 751 12.5. Sygnatury 752 12.6. Wywoływanie metod języka Java 754 12.6.1. Wywoływanie metod obiektów 754 12.6.2. Wywoływanie metod statycznych 757 12.6.3. Konstruktory 758 12.6.4. Alternatywne sposoby wywoływania metod 758 12.7. Dostęp do elementów tablic 760 12.8. Obsługa błędów 764 12.9. Interfejs programowy wywołań języka Java 768 12.10. Kompletny przykład: dostęp do rejestru systemu Windows 773 12.10.1. Rejestr systemu Windows 773 12.10.2. Interfejs dostępu do rejestru na platformie Java 775 12.10.3. Implementacja dostępu do rejestru za pomocą metod macierzystych 776
Sygnatura czytelni BWEAiI: XII N 151
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. 149890 N (1 egz.)
Brak okładki
Książka
CD
W koszyku
Java 2 : podstawy / Cay S. Horstmann, Gary Cornell ; [tł.: Maciej Gorywoda]. - Gliwice : Wydawnictwo Helion, 2003. - 739 s. : il. ; 25 cm + dysk optyczny (CD-ROM).
(Core)
U dołu okł.: Obszerny przewodnik po języku Java - zaktualizowany dla wersji JDK 1.3 [...]
Sygnatura czytelni BWEAiI: XII N 6,1
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. 117428 N (1 egz.)
Książka
CD
W koszyku
Java 2 : techniki zaawansowane / Cay S. Horstmann, Gary Cornell ; [tł. Janusz Senczyk]. - Gliwice : Wydawnictwo Helion, cop. 2003. - 1122 s. : il. ; 25 cm + dysk optyczny (CD-ROM).
(Core)
Na okł.: Przewodnik dla doswiadczonych programistów omawiajacych zaawansowane moźliwości platformy Java w wersji JDK 1.3 i 1.4 [...].
Na s. tyt. i okł. logo wydw. oryg.: Sun Microsystems.
CD-ROM zawiera m. in.: Java 2 SDK, Forte - Java Community Edition.
1 placówka posiada w zbiorach tę pozycję. Rozwiń informację, by zobaczyć szczegóły.
Wypożyczalnia
Są egzemplarze dostępne do wypożyczenia: sygn. 110790 L (1 egz.)
Książka
W koszyku
(Core)
U dołu s. tyt. i okł. : Kompletne i niezastąpione źródło wiedzy dla doświadczonych programów [...].
U góry okł. : Obejmuje JDK w wersji 1.5.
Wyd. 2 na s. tyt., okł. odnosi się do wyd. oryg.
Na s. tyt. i okł. logo wydw. oryg.: Sun Microsystems Press.
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. 111797 N (1 egz.)
Książka
W koszyku
Indeks.
Podstawowe struktury programistyczne Nasz pierwszy program Analiza programu "Witaj, świecie!" Kompilacja i uruchamianie programu w języku Java Wywołania metod Typy proste Typy całkowite Typy zmiennoprzecinkowe Typ char Typ boolean Zmienne Deklaracje zmiennych Nazwy Inicjalizacja Stałe Działania arytmetyczne Przypisanie Podstawowa arytmetyka Metody matematyczne Konwersja typów liczbowych Operatory relacji i operatory logiczne Duże liczby Ciągi znaków Łączenie ciągów znaków Wycinanie ciągów znaków Porównywanie ciągów znaków Konwersja liczb na znaki i znaków na liczby API klasy String Kodowanie znaków w języku Java Wejście i wyjście Wczytywanie danych wejściowych Formatowanie generowanych danych Kontrola przepływu Instrukcje warunkowe Pętle Przerywanie i kontynuacja Zasięg zmiennych lokalnych Tablice i listy tablic Obsługa tablic Tworzenie tablicy Klasa ArrayList Klasy opakowujące typy proste Rozszerzona pętla for Kopiowanie tablic i obiektów ArrayList Algorytmy tablic Parametry wiersza poleceń Tablice wielowymiarowe Dekompozycja funkcjonalna Deklarowanie i wywoływanie metod statycznych Parametry tablicowe i zwracane wartości Zmienna liczba parametrów Programowanie obiektowe Praca z obiektami Metody dostępowe i modyfikujące Referencje do obiektu Implementowanie klas Zmienne instancji Nagłówki metod Treści metod Wywołania metod instancji Referencja this Wywołanie przez wartość Tworzenie obiektów Implementacja konstruktorów Przeciążanie Wywoływanie jednego konstruktora z innego Domyślna inicjalizacja Inicjalizacja zmiennych instancji Zmienne instancji z modyfikatorem final Konstruktor bez parametrów Statyczne zmienne i metody Zmienne statyczne Stałe statyczne Statyczne bloki inicjalizacyjne Metody statyczne Metody wytwórcze Pakiety Deklarowanie pakietów Ścieżka klas Zasięg pakietu Importowanie klas Import metod statycznych Klasy zagnieżdżone Statyczne klasy zagnieżdżone Klasy wewnętrzne Specjalne reguły składni dla klas wewnętrznych Komentarze do dokumentacji Wstawianie komentarzy Komentarze klasy Komentarze metod Komentarze zmiennych Ogólne komentarze Odnośniki Opisy pakietów i ogólne Wycinanie komentarzy Interfejsy i wyrażenia lambda Interfejsy Deklarowanie interfejsu Implementowanie interfejsu Konwersja do typu interfejsu Rzutowanie i operator instanceof Rozszerzanie interfejsów Implementacja wielu interfejsów Stałe Metody statyczne i domyślne Metody statyczne Metody domyślne Rozstrzyganie konfliktów metod domyślnych Przykłady interfejsów Interfejs Comparable Interfejs Comparator Interfejs Runnable Wywołania zwrotne interfejsu użytkownika Wyrażenia lambda Składnia wyrażeń lambda Interfejsy funkcyjne Referencje do metod i konstruktora Referencje do metod Referencje konstruktora Przetwarzanie wyrażeń lambda Implementacja odroczonego wykonania Wybór interfejsu funkcjonalnego Implementowanie własnych interfejsów funkcjonalnych Wyrażenia lambda i zasięg zmiennych Zasięg zmiennej lambda Dostęp do zmiennych zewnętrznych Funkcje wyższych rzędów Metody zwracające funkcje Metody modyfikujące funkcje Metody interfejsu Comparator Lokalne klasy wewnętrzne Klasy lokalne Klasy anonimowe Dziedziczenie i mechanizm refleksji Rozszerzanie klas Klasy nadrzędne i podrzędne Definiowanie i dziedziczenie metod klas podrzędnych Przesłanianie metod Tworzenie klasy podrzędnej Przypisania klas nadrzędnych Rzutowanie Metody i klasy z modyfikatorem final Abstrakcyjne metody i klasy Ograniczony dostęp Anonimowe klasy podrzędne Dziedziczenie i metody domyślne Wywołania metod z super Object - najwyższa klasa nadrzędna Metoda toString Metoda equals Metoda hashCode Klonowanie obiektów Wyliczenia Sposoby wyliczania Konstruktory, metody i pola Zawartość elementów Elementy statyczne Wyrażenia switch ze stałymi wyliczeniowymi Informacje o typie i zasobach w czasie działania programu Klasa Class Wczytywanie zasobów Programy wczytujące klasy Kontekstowy program wczytujący klasy Programy do ładowania usług Refleksje Wyliczanie elementów klasy Kontrolowanie obiektów Wywoływanie metod Tworzenie obiektów JavaBeans Praca z tablicami Klasa Proxy Wyjątki, asercje i logi Obsługa wyjątków Wyrzucanie wyjątków Hierarchia wyjątków Deklarowanie wyjątków kontrolowanych Przechwytywanie wyjątków Wyrażenie try z określeniem zasobów Klauzula finally Ponowne wyrzucanie wyjątków i łączenie ich w łańcuchy Śledzenie stosu Metoda Objects.requireNonNull Asercje Użycie asercji Włączanie i wyłączanie asercji Rejestrowanie danych Klasa Logger Mechanizmy rejestrujące dane Poziomy rejestrowania danych Inne metody rejestrowania danych Konfiguracja mechanizmów rejestrowania danych Programy obsługujące rejestrowanie danych Filtry i formaty Programowanie uogólnione Klasy uogólnione Metody uogólnione Ograniczenia typów Zmienność typów i symbole wieloznaczne Symbole wieloznaczne w typach podrzędnych Symbole wieloznaczne typów nadrzędnych Symbole wieloznaczne ze zmiennymi typami Nieograniczone symbole wieloznaczne Przechwytywanie symboli wieloznacznych Uogólnienia w maszynie wirtualnej Javy Wymazywanie typów Wprowadzanie rzutowania Metody pomostowe Ograniczenia uogólnień Brak typów prostych W czasie działania kodu wszystkie typy są surowe Nie możesz tworzyć instancji zmiennych opisujących typy Nie możesz tworzyć tablic z parametryzowanym typem Zmienne opisujące typ klasy nie są poprawne w kontekście statycznym Metody nie mogą wywoływać konfliktów po wymazywaniu typów Wyjątki i uogólnienia Refleksje i uogólnienia Klasa Class Informacje o uogólnionych typach w maszynie wirtualnej Kolekcje Mechanizmy do zarządzania kolekcjami Iteratory Zestawy Mapy Inne kolekcje Właściwości Zestawy bitów Zestawy wyliczeniowe i mapy Stosy, kolejki zwykłe i dwukierunkowe oraz kolejki z priorytetami Klasa WeakHashMap Widoki Zakresy Widoki puste i typu singleton Niemodyfikowalne widoki Strumienie Od iteratorów do operacji strumieniowych Tworzenie strumienia Metody filter, map i flatMap Wycinanie podstrumieni i łączenie strumieni Inne przekształcenia strumieni Proste redukcje Typ Optional Jak korzystać z wartości Optional Jak nie korzystać z wartości Optional Tworzenie wartości Optional Łączenie flatMap z funkcjami wartości Optional Kolekcje wyników Tworzenie map Grupowanie i partycjonowanie Kolektory strumieniowe Operacje redukcji Strumienie typów prostych Strumienie równoległe Przetwarzanie danych wejściowych i wyjściowych Strumienie wejściowe i wyjściowe, mechanizmy wczytujące i zapisujące Pozyskiwanie strumieni Wczytywanie bajtów Zapisywanie bajtów Kodowanie znaków Wczytywanie danych tekstowych Generowanie danych tekstowych Wczytywanie i zapisywanie danych binarnych Pliki o swobodnym dostępie Pliki mapowane w pamięci Blokowanie plików Ścieżki, pliki i katalogi Ścieżki Tworzenie plików i katalogów Kopiowanie, przenoszenie i usuwanie plików Odwiedzanie katalogów System plików ZIP Połączenia URL Wyrażenia regularne Składnia wyrażeń regularnych Odnajdywanie jednego lub wszystkich dopasowań Grupy Usuwanie lub zastępowanie dopasowań Flagi Serializacja Interfejs Serializable Chwilowe zmienne instancji Metody readObject i writeObject Metody readResolve i writeReplace Wersjonowanie Programowanie współbieżne Zadania współbieżne Uruchamianie zadań Obiekty Future i Executor Bezpieczeństwo wątków Widoczność Wyścigi Strategie bezpiecznego korzystania ze współbieżności Klasy niemodyfikowalne Algorytmy równoległe Strumienie równoległe Równoległe operacje na tablicach Struktury danych bezpieczne dla wątków Klasa ConcurrentHashMap Kolejki blokujące Inne struktury danych bezpieczne dla wątków Wartości atomowe Blokady Blokady wielowejściowe Słowo kluczowe synchronized Oczekiwanie warunkowe Wątki Uruchamianie wątku Przerywanie wątków Zmienne lokalne w wątku Dodatkowe właściwości wątku Obliczenia asynchroniczne Długie zadania obsługujące interfejs użytkownika Klasa CompletableFuture Procesy Tworzenie procesu Uruchamianie procesu Adnotacje Używanie adnotacji Elementy adnotacji Wielokrotne i powtarzane adnotacje Adnotacje deklaracji Adnotacje wykorzystania typów Jawne określanie odbiorców Definiowanie adnotacji Adnotacje standardowe Adnotacje do kompilacji Adnotacje do zarządzania zasobami Metaadnotacje Przetwarzanie adnotacji w kodzie Przetwarzanie adnotacji w kodzie źródłowym Przetwarzanie adnotacji API modelu języka Wykorzystanie adnotacji do generowania kodu źródłowego API daty i czasu Linia czasu Daty lokalne Modyfikatory daty Czas lokalny Czas strefowy Formatowanie i przetwarzanie Współpraca z przestarzałym kodem Internacjonalizacja Lokalizacje Określanie lokalizacji Domyślna lokalizacja Nazwy wyświetlane Formaty liczb Waluty Formatowanie czasu i daty Porównywanie i normalizacja Formatowanie komunikatów Pakiety z zasobami Organizacja pakietów z zasobami Klasy z pakietami Kodowanie znaków Preferencje Kompilacja i skryptowanie API kompilatora Wywołanie kompilatora Uruchamianie zadania kompilacji Wczytywanie plików źródłowych z pamięci Zapisywanie skompilowanego kodu w pamięci Przechwytywanie komunikatów diagnostycznych API skryptów Tworzenie silnika skryptowego Powiązania Przekierowanie wejścia i wyjścia Wywoływanie funkcji i metod skryptowych Kompilowanie skryptu Silnik skryptowy Nashorn Uruchamianie Nashorna z wiersza poleceń Wywoływanie metod pobierających i ustawiających dane oraz metod przeładowanych Tworzenie obiektów języka Java Ciągi znaków w językach JavaScript i Java Liczby Praca z tablicami Listy i mapy Wyrażenia lambda Rozszerzanie klas Java i implementowanie interfejsów Java Wyjątki Skrypty powłoki z silnikiem Nashorn Wykonywanie poleceń powłoki Uzupełnianie ciągów znaków Wprowadzanie danych do skryptu
Sygnatura czytelni BWEAiI: XII N 107
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. 145235 (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 145208 N (1 egz.)
Książka
W koszyku
Indeks.
Podstawowe struktury programistyczne 1.1. Nasz pierwszy program 1.1.1. Analiza programu Witaj, świecie! 1.1.2. Kompilacja i uruchamianie programu w języku Java 1.1.3. Wywołania metod 1.1.4. JShell 1.2. Typy proste 1.2.1. Typy całkowite ze znakiem 1.2.2. Typy zmiennoprzecinkowe 1.2.3. Typ char 1.2.4. Typ boolean 1.3. Zmienne 1.3.1. Deklaracje zmiennych 1.3.2. Nazwy 1.3.3. Inicjalizacja 1.3.4. Stałe 1.4. Działania arytmetyczne 1.4.1. Przypisanie 1.4.2. Podstawowa arytmetyka 1.4.3. Metody matematyczne 1.4.4. Konwersja typów liczbowych 1.4.5. Operatory relacji i operatory logiczne 1.4.6. Duże liczby 1.5. Ciągi znaków 1.5.1. Łączenie ciągów znaków 1.5.2. Wycinanie ciągów znaków 1.5.3. Porównywanie ciągów znaków 1.5.4. Konwersja liczb na znaki i znaków na liczby 1.5.5. API klasy String 1.5.6. Kodowanie znaków w języku Java 1.6. Wejście i wyjście 1.6.1. Wczytywanie danych wejściowych 1.6.2. Formatowanie generowanych danych 1.7. Kontrola przepływu 1.7.1. Instrukcje warunkowe 1.7.2. Pętle 1.7.3. Przerywanie i kontynuacja 1.7.4. Zasięg zmiennych lokalnych 1.8. Tablice i listy tablic 1.8.1. Obsługa tablic 1.8.2. Tworzenie tablicy 1.8.3. Klasa ArrayList 1.8.4. Klasy opakowujące typy proste 1.8.5. Rozszerzona pętla for 1.8.6. Kopiowanie tablic i obiektów ArrayList 1.8.7. Algorytmy tablic 1.8.8. Parametry wiersza poleceń 1.8.9. Tablice wielowymiarowe 1.9. Dekompozycja funkcjonalna 1.9.1. Deklarowanie i wywoływanie metod statycznych 1.9.2. Parametry tablicowe i zwracane wartości 1.9.3. Zmienna liczba parametrów 2. Programowanie obiektowe 2.1. Praca z obiektami 2.1.1. Metody dostępowe i modyfikujące 2.1.2. Referencje do obiektu 2.2. Implementowanie klas 2.2.1. Zmienne instancji 2.2.2. Nagłówki metod 2.2.3. Treści metod 2.2.4. Wywołania metod instancji 2.2.5. Referencja this 2.2.6. Wywołanie przez wartość 2.3. Tworzenie obiektów 2.3.1. Implementacja konstruktorów 2.3.2. Przeciążanie 2.3.3. Wywoływanie jednego konstruktora z innego 2.3.4. Domyślna inicjalizacja 2.3.5. Inicjalizacja zmiennych instancji 2.3.6. Zmienne instancji z modyfikatorem final 2.3.7. Konstruktor bez parametrów 2.4. Statyczne zmienne i metody 2.4.1. Zmienne statyczne 2.4.2. Stałe statyczne 2.4.3. Statyczne bloki inicjalizacyjne 2.4.4. Metody statyczne 2.4.5. Metody wytwórcze 2.5. Pakiety 2.5.1. Deklarowanie pakietów 2.5.2. Polecenie jar 2.5.3. Ścieżka przeszukiwań dla klas 2.5.4. Dostęp do pakietu 2.5.5. Importowanie klas 2.5.6. Import metod statycznych 2.6. Klasy zagnieżdżone 2.6.1. Statyczne klasy zagnieżdżone 2.6.2. Klasy wewnętrzne 2.6.3. Specjalne reguły składni dla klas wewnętrznych 2.7. Komentarze do dokumentacji 2.7.1. Wstawianie komentarzy 2.7.2. Komentarze klasy 2.7.3. Komentarze metod 2.7.4. Komentarze zmiennych 2.7.5. Ogólne komentarze 2.7.6. Odnośniki 2.7.7. Opisy pakietów, modułów i ogólne 2.7.8. Wycinanie komentarzy 3. Interfejsy i wyrażenia lambda 3.1. Interfejsy 3.1.1. Deklarowanie interfejsu 3.1.2. Implementowanie interfejsu 3.1.3. Konwersja do typu interfejsu 3.1.4. Rzutowanie i operator instanceof 3.1.5. Rozszerzanie interfejsów 3.1.6. Implementacja wielu interfejsów 3.1.7. Stałe 3.2. Metody statyczne, domyślne i prywatne 3.2.1. Metody statyczne 3.2.2. Metody domyślne 3.2.3. Rozstrzyganie konfliktów metod domyślnych 3.2.4. Metody prywatne 3.3. Przykłady interfejsów 3.3.1. Interfejs Comparable 3.3.2. Interfejs Comparator 3.3.3. Interfejs Runnable 3.3.4. Wywołania zwrotne interfejsu użytkownika 3.4. Wyrażenia lambda 3.4.1. Składnia wyrażeń lambda 3.4.2. Interfejsy funkcyjne 3.5. Referencje do metod i konstruktora 3.5.1. Referencje do metod 3.5.2. Referencje konstruktora 3.6. Przetwarzanie wyrażeń lambda 3.6.1. Implementacja odroczonego wykonania 3.6.2. Wybór interfejsu funkcjonalnego 3.6.3. Implementowanie własnych interfejsów funkcjonalnych 3.7. Wyrażenia lambda i zasięg zmiennych 3.7.1. Zasięg zmiennej lambda 3.7.2. Dostęp do zmiennych zewnętrznych 3.8. Funkcje wyższych rzędów 3.8.1. Metody zwracające funkcje 3.8.2. Metody modyfikujące funkcje 3.8.3. Metody interfejsu Comparator 3.9. Klasy lokalne i anonimowe 3.9.1. Klasy lokalne 3.9.2. Klasy anonimowe 4. Dziedziczenie i mechanizm refleksji 4.1. Rozszerzanie klas 4.1.1. Klasy nadrzędne i podrzędne 4.1.2. Definiowanie i dziedziczenie metod klas podrzędnych 4.1.3. Przesłanianie metod 4.1.4. Tworzenie klasy podrzędnej 4.1.5. Przypisania klas nadrzędnych 4.1.6. Rzutowanie 4.1.7. Metody i klasy z modyfikatorem final 4.1.8. Abstrakcyjne metody i klasy 4.1.9. Ograniczony dostęp 4.1.10. Anonimowe klasy podrzędne 4.1.11. Dziedziczenie i metody domyślne 4.1.12. Wywołania metod z super 4.2. Object najwyższa klasa nadrzędna 4.2.1. Metoda toString 4.2.2. Metoda equals 4.2.3. Metoda hashCode 4.2.4. Klonowanie obiektów 4.3. Wyliczenia 4.3.1. Sposoby wyliczania 4.3.2. Konstruktory, metody i pola 4.3.3. Zawartość elementów 4.3.4. Elementy statyczne 4.3.5. Wyrażenia switch ze stałymi wyliczeniowymi 4.4. Informacje o typie i zasobach w czasie działania programu 4.4.1. Klasa Class 4.4.2. Wczytywanie zasobów 4.4.3. Programy wczytujące klasy 4.4.4. Kontekstowy program wczytujący klasy 4.4.5. Programy do ładowania usług 4.5. Refleksje 4.5.1. Wyliczanie elementów klasy 4.5.2. Kontrolowanie obiektów 4.5.3. Wywoływanie metod 4.5.4. Tworzenie obiektów 4.5.5. JavaBeans 4.5.6. Praca z tablicami 4.5.7. Klasa Proxy 5. Wyjątki, asercje i logi 5.1. Obsługa wyjątków 5.1.1. Wyrzucanie wyjątków 5.1.2. Hierarchia wyjątków 5.1.3. Deklarowanie wyjątków kontrolowanych 5.1.4. Przechwytywanie wyjątków 5.1.5. Wyrażenie try z określeniem zasobów 5.1.6. Klauzula finally 5.1.7. Ponowne wyrzucanie wyjątków i łączenie ich w łańcuchy 5.1.8. Nieprzechwycone wyjątki i ślad stosu wywołań 5.1.9. Metoda Objects.requireNonNull 5.2. Asercje 5.2.1. Użycie asercji 5.2.2. Włączanie i wyłączanie asercji 5.3. Rejestrowanie danych 5.3.1. Klasa Logger 5.3.2. Mechanizmy rejestrujące dane 5.3.3. Poziomy rejestrowania danych 5.3.4. Inne metody rejestrowania danych 5.3.5. Konfiguracja mechanizmów rejestrowania danych 5.3.6. Programy obsługujące rejestrowanie danych 5.3.7. Filtry i formaty 6. Programowanie uogólnione 6.1. Klasy uogólnione 6.2. Metody uogólnione 6.3. Ograniczenia typów 6.4. Zmienność typów i symbole wieloznaczne 6.4.1. Symbole wieloznaczne w typach podrzędnych 6.4.2. Symbole wieloznaczne typów nadrzędnych 6.4.3. Symbole wieloznaczne ze zmiennymi typami 6.4.4. Nieograniczone symbole wieloznaczne 6.4.5. Przechwytywanie symboli wieloznacznych 6.5. Uogólnienia w maszynie wirtualnej Javy 6.5.1. Wymazywanie typów 6.5.2. Wprowadzanie rzutowania 6.5.3. Metody pomostowe 6.6. Ograniczenia uogólnień 6.6.1. Brak typów prostych 6.6.2. W czasie działania kodu wszystkie typy są surowe 6.6.3. Nie możesz tworzyć instancji zmiennych opisujących typy 6.6.4. Nie możesz tworzyć tablic z parametryzowanym typem 6.6.5. Zmienne opisujące typ klasy nie są poprawne w kontekście statycznym 6.6.6. Metody nie mogą wywoływać konfliktów po wymazywaniu typów 6.6.7. Wyjątki i uogólnienia 6.7. Refleksje i uogólnienia 6.7.1. Klasa Class 6.7.2. Informacje o uogólnionych typach w maszynie wirtualnej 7. Kolekcje 7.1. Mechanizmy do zarządzania kolekcjami 7.2. Iteratory 7.3. Zestawy 7.4. Mapy 7.5. Inne kolekcje 7.5.1. Właściwości 7.5.2. Zestawy bitów 7.5.3. Zestawy wyliczeniowe i mapy 7.5.4. Stosy, kolejki zwykłe i dwukierunkowe oraz kolejki z priorytetami 7.5.5. Klasa WeakHashMap 7.6. Widoki 7.6.1. Małe kolekcje 7.6.2. Zakresy 7.6.3. Niemodyfikowalne widoki 8. Strumienie 8.1. Od iteratorów do operacji strumieniowych 8.2. Tworzenie strumienia 8.3. Metody filter, map i flatMap 8.4. Wycinanie podstrumieni i łączenie strumieni 8.5. Inne przekształcenia strumieni 8.6. Proste redukcje 8.7. Typ Optional 8.7.1. Jak korzystać z wartości Optional 8.7.2. Jak nie korzystać z wartości Optional 8.7.3. Tworzenie wartości Optional 8.7.4. Łączenie flatMap z funkcjami wartości Optional 8.7.5. Zamiana Optional w Stream 8.8. Kolekcje wyników 8.9. Tworzenie map 8.10. Grupowanie i partycjonowanie 8.11. Kolektory strumieniowe 8.12. Operacje redukcji 8.13. Strumienie typów prostych 8.14. Strumienie równoległe 9. Przetwarzanie danych wejściowych i wyjściowych 9.1. Strumienie wejściowe i wyjściowe, mechanizmy wczytujące i zapisujące 9.1.1. Pozyskiwanie strumieni 9.1.2. Wczytywanie bajtów 9.1.3. Zapisywanie bajtów 9.1.4. Kodowanie znaków 9.1.5. Wczytywanie danych tekstowych 9.1.6. Generowanie danych tekstowych 9.1.7. Wczytywanie i zapisywanie danych binarnych 9.1.8. Pliki o swobodnym dostępie 9.1.9. Pliki mapowane w pamięci 9.1.10. Blokowanie plików 9.2. Ścieżki, pliki i katalogi 9.2.1. Ścieżki 9.2.2. Tworzenie plików i katalogów 9.2.3. Kopiowanie, przenoszenie i usuwanie plików 9.2.4. Odwiedzanie katalogów 9.2.5. System plików ZIP 9.3. Połączenia HTTP 9.3.1. Klasy URLConnection i HttpURLConnection 9.3.2. API klienta HTTP 9.4. Wyrażenia regularne 9.4.1. Składnia wyrażeń regularnych 9.4.2. Odnajdywanie pojedynczego dopasowania 9.4.3. Odnajdywanie wszystkich dopasowań 9.4.4. Grupy 9.4.5. Dzielenie za pomocą znaczników 9.4.6. Zastępowanie dopasowań 9.4.7. Flagi 9.5. Serializacja 9.5.1. Interfejs Serializable 9.5.2. Chwilowe zmienne instancji 9.5.3. Metody readObject i writeObject 9.5.4. Metody readResolve i writeReplace 9.5.5. Wersjonowanie 10. Programowanie współbieżne 10.1. Zadania współbieżne 10.1.1. Uruchamianie zadań 10.1.2. Obiekty Future 10.2. Obliczenia asynchroniczne 10.2.1. Klasa CompletableFuture 10.2.2. Tworzenie obiektów typu CompletableFuture 10.2.3. Długie zadania obsługujące interfejs użytkownika 10.3. Bezpieczeństwo wątków 10.3.1. Widoczność 10.3.2. Wyścigi 10.3.3. Strategie bezpiecznego korzystania ze współbieżności 10.3.4. Klasy niemodyfikowalne 10.4. Algorytmy równoległe 10.4.1. Strumienie równoległe 10.4.2. Równoległe operacje na tablicach 10.5. Struktury danych bezpieczne dla wątków 10.5.1. Klasa ConcurrentHashMap 10.5.2. Kolejki blokujące 10.5.3. Inne struktury danych bezpieczne dla wątków 10.6. Atomowe liczniki i akumulatory 10.7. Blokady i warunki 10.7.1. Blokady 10.7.2. Słowo kluczowe synchronized 10.7.3. Oczekiwanie warunkowe 10.8. Wątki 10.8.1. Uruchamianie wątku 10.8.2. Przerywanie wątków 10.8.3. Zmienne lokalne w wątku 10.8.4. Dodatkowe właściwości wątku 10.9. Procesy 10.9.1. Tworzenie procesu 10.9.2. Uruchamianie procesu 10.9.3. Uchwyty procesów 11. Adnotacje 11.1. Używanie adnotacji 11.1.1. Elementy adnotacji 11.1.2. Wielokrotne i powtarzane adnotacje 11.1.3. Adnotacje deklaracji 11.1.4. Adnotacje wykorzystania typów 11.1.5. Jawne określanie odbiorców 11.2. Definiowanie adnotacji 11.3. Adnotacje standardowe 11.3.1. Adnotacje do kompilacji 11.3.2. Adnotacje do zarządzania zasobami 11.3.3. Metaadnotacje 11.4. Przetwarzanie adnotacji w kodzie 11.5. Przetwarzanie adnotacji w kodzie źródłowym 11.5.1. Przetwarzanie adnotacji 11.5.2. API modelu języka 11.5.3. Wykorzystanie adnotacji do generowania kodu źródłowego 12. API daty i czasu 12.1. Linia czasu 12.2. Daty lokalne 12.3. Modyfikatory daty 12.4. Czas lokalny 12.5. Czas strefowy 12.6. Formatowanie i przetwarzanie 12.7. Współpraca z przestarzałym kodem 13. Internacjonalizacja 13.1. Lokalizacje 13.1.1. Określanie lokalizacji 13.1.2. Domyślna lokalizacja 13.1.3. Nazwy wyświetlane 13.2. Formaty liczb 13.3. Waluty 13.4. Formatowanie czasu i daty 13.5. Porównywanie i normalizacja 13.6. Formatowanie komunikatów 13.7. Pakiety z zasobami 13.7.1. Organizacja pakietów z zasobami 13.7.2. Klasy z pakietami 13.8. Kodowanie znaków 13.9. Preferencje 14. Kompilacja i skryptowanie 14.1. API kompilatora 14.1.1. Wywołanie kompilatora 14.1.2. Uruchamianie zadania kompilacji 14.1.3. Wczytywanie plików źródłowych z pamięci 14.1.4. Zapisywanie skompilowanego kodu w pamięci 14.1.5. Przechwytywanie komunikatów diagnostycznych 14.2. API skryptów 14.2.1. Tworzenie silnika skryptowego 14.2.2. Powiązania 14.2.3. Przekierowanie wejścia i wyjścia 14.2.4. Wywoływanie funkcji i metod skryptowych 14.2.5. Kompilowanie skryptu 14.3. Silnik skryptowy Nashorn 14.3.1. Uruchamianie Nashorna z wiersza poleceń 14.3.2. Wywoływanie metod pobierających i ustawiających dane oraz metod przeładowanych 14.3.3. Tworzenie obiektów języka Java 14.3.4. Ciągi znaków w językach JavaScript i Java 14.3.5. Liczby 14.3.6. Praca z tablicami 14.3.7. Listy i mapy 14.3.8. Wyrażenia lambda 14.3.9. Rozszerzanie klas Java i implementowanie interfejsów Java 14.3.10. Wyjątki 14.4. Skrypty powłoki z silnikiem Nashorn 14.4.1. Wykonywanie poleceń powłoki 14.4.2. Uzupełnianie ciągów znaków 14.4.3. Wprowadzanie danych do skryptu 15. System modułów na platformie Java 15.1. Koncepcja modułu 15.2. Nazywanie modułów 15.3. Modularny program Witaj, świecie! 15.4. Dołączanie modułów 15.5. Eksportowanie pakietów 15.6. Moduły i dostęp przez refleksje 15.7. Modularne pliki JAR 15.8. Moduły automatyczne i moduł unnamed 15.9. Flagi wiersza poleceń dla migracji 15.10. Wymagania przechodnie i statyczne 15.11. Wybiórcze eksportowanie i otwieranie 15.12. Wczytywanie usługi 15.13. Narzędzia do pracy z modułami
Sygnatura czytelni BWEAiI: XII N 120
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. 146104 N (1 egz.)
Książka
W koszyku
Na stronie tytułowej i okładce: Wydanie 10 - dotyczy wydania oryginału.
Na stronie redakcyjnej: Tłumaczenie [...] na podstawie "Java. Techniki zaawansowane. Wydanie IX" w tłumaczeniu Jaromira Senczyka".
Indeks.
Dla programistów, którzy chcą skorzystać z nowych możliwości języka.
Biblioteka strumieni Java SE 8 Od iteracji do operacji na strumieniach Tworzenie strumieni Metody filter, map oraz flatMap Pobieranie podstrumieni i łączenie strumieni Inne przekształcenia strumieni Proste operacje redukcji Typ Optional Sposoby posługiwania się wartościami Optional Jak nie należy używać wartości opcjonalnych Tworzenie obiektów typu Optional Łączenie funkcji zwracających wartości opcjonalne przy użyciu flatMap Gromadzenie wyników Gromadzenie wyników w mapach Grupowanie i podział Kolektory przetwarzające Operacje redukcji Strumienie danych typów prostych Strumienie równoległe Wejście i wyjście Strumienie wejścia-wyjścia Odczyt i zapis bajtów Zoo pełne strumieni Łączenie filtrów strumieni wejścia-wyjścia Strumienie tekstowe Zapisywanie tekstu Wczytywanie tekstu Zapis obiektów w formacie tekstowym Zbiory znaków Odczyt i zapis danych binarnych Interfejsy DataInput oraz DataOutput Strumienie plików o swobodnym dostępie Archiwa ZIP Strumienie obiektów i serializacja Zapisywanie i wczytywanie obiektów serializowalnych Format pliku serializacji obiektów Modyfikowanie domyślnego mechanizmu serializacji Serializacja singletonów i wyliczeń Wersje Serializacja w roli klonowania Zarządzanie plikami Ścieżki dostępu Odczyt i zapis plików Tworzenie plików i katalogów Kopiowanie, przenoszenie i usuwanie plików Informacje o plikach Przeglądanie zawartości katalogu Stosowanie strumieni katalogów Systemy plików ZIP Mapowanie plików w pamięci Wydajność plików mapowanych w pamięci Struktura bufora danych Blokowanie plików Wyrażenia regularne Język XML Wprowadzenie do języka XML Struktura dokumentu XML Parsowanie dokumentów XML Kontrola poprawności dokumentów XML Definicje typów dokumentów XML Schema Praktyczny przykład Wyszukiwanie informacji i XPath Przestrzenie nazw Parsery strumieniowe Wykorzystanie parsera SAX Wykorzystanie parsera StAX Tworzenie dokumentów XML Dokumenty bez przestrzeni nazw Dokumenty z przestrzenią nazw Zapisywanie dokumentu Przykład: tworzenie pliku SVG Tworzenie dokumentu XML za pomocą parsera StAX Przekształcenia XSL Programowanie aplikacji sieciowych Połączenia z serwerem Stosowanie programu telnet Nawiązywanie połączenia z serwerem z wykorzystaniem Javy Limity czasu gniazd Adresy internetowe Implementacja serwerów Gniazda serwera Obsługa wielu klientów Połączenia częściowo zamknięte Przerywanie działania gniazd sieciowych Połączenia wykorzystujące URL URL i URI Zastosowanie klasy URLConnection do pobierania informacji Wysyłanie danych do formularzy Wysyłanie poczty elektronicznej Programowanie baz danych: JDBC Architektura JDBC Typy sterowników JDBC Typowe zastosowania JDBC Język SQL Instalacja JDBC Adresy URL baz danych Pliki JAR zawierające sterownik Uruchamianie bazy danych Rejestracja klasy sterownika Nawiązywanie połączenia z bazą danych Stosowanie poleceń SQL Wykonywanie poleceń SQL Zarządzanie połączeniami, poleceniami i zbiorami wyników Analiza wyjątków SQL Wypełnianie bazy danych Wykonywanie zapytań Polecenia przygotowane Odczyt i zapis dużych obiektów Sekwencje sterujące Zapytania o wielu zbiorach wyników Pobieranie wartości kluczy wygenerowanych automatycznie Przewijalne i aktualizowalne zbiory wyników zapytań Przewijalne zbiory wyników Aktualizowalne zbiory rekordów Zbiory rekordów Tworzenie zbiorów rekordów Buforowane zbiory rekordów Metadane Transakcje Programowanie transakcji w JDBC Punkty kontrolne Aktualizacje wsadowe Zaawansowane typy języka SQL Zaawansowane zarządzanie połączeniami API dat i czasu Oś czasu Daty lokalne Modyfikatory dat Czas lokalny Czas strefowy Formatowanie i parsowanie Współdziałanie ze starym kodem Internacjonalizacja Lokalizatory Formaty liczb Waluty Data i czas Porządek alfabetyczny i normalizacja Formatowanie komunikatów Formatowanie liczb i dat Formatowanie z wariantami Wczytywanie i wyświetlanie tekstów Pliki tekstowe Znaki końca wiersza Konsola Pliki dzienników BOM - znacznik kolejności bajtów UTF-8 Kodowanie plików źródłowych Komplety zasobów Wyszukiwanie kompletów zasobów Pliki właściwości Klasy kompletów zasobów Kompletny przykład Skrypty, kompilacja i adnotacje Skrypty na platformie Java Wybór silnika skryptów Wykonywanie skryptów i wiązania zmiennych Przekierowanie wejścia i wyjścia Wywoływanie funkcji i metod skryptów Kompilacja skryptu Przykład: skrypty i graficzny interfejs użytkownika Interfejs kompilatora Kompilacja w najprostszy sposób Stosowanie zadań kompilacji Przykład: dynamiczne tworzenie kodu w języku Java Stosowanie adnotacji Wprowadzenie do stosowania adnotacji Przykład: adnotacje obsługi zdarzeń Składnia adnotacji Interfejsy adnotacji Adnotacje Adnotacje deklaracji Adnotacje zastosowań typów Adnotacje i this Adnotacje standardowe Adnotacje kompilacji Adnotacje zarządzania zasobami Metaadnotacje Przetwarzanie adnotacji w kodzie źródłowym Procesory adnotacji Interfejs programowy modelu języka Stosowanie adnotacji do generacji kodu źródłowego Inżynieria kodu bajtowego Modyfikowanie plików klasowych Modyfikacja kodu bajtowego podczas ładowania Bezpieczeństwo Ładowanie klas (468) Proces wczytywania plików klas Hierarchia klas ładowania Zastosowanie procedur ładujących w roli przestrzeni nazw Implementacja własnej procedury ładującej Weryfikacja kodu maszyny wirtualnej Menedżery bezpieczeństwa i pozwolenia Sprawdzanie uprawnień Bezpieczeństwo na platformie Java Pliki polityki bezpieczeństwa Tworzenie własnych klas pozwoleń Implementacja klasy pozwoleń Uwierzytelnianie użytkowników Framework JAAS Moduły JAAS Podpis cyfrowy Skróty wiadomości Podpisywanie wiadomości Weryfikacja podpisu Problem uwierzytelniania Podpisywanie certyfikatów Żądania certyfikatu Podpisywanie kodu Szyfrowanie Szyfrowanie symetryczne Generowanie klucza Strumienie szyfrujące Szyfrowanie kluczem publicznym Zaawansowane możliwości pakietu Swing Listy Komponent JList Modele list Wstawianie i usuwanie Odrysowywanie zawartości listy Tabele Najprostsze tabele Modele tabel Wiersze i kolumny Rysowanie i edycja komórek Drzewa Najprostsze drzewa Modyfikacje drzew i ścieżek drzew Przeglądanie węzłów Rysowanie węzłów Nasłuchiwanie zdarzeń w drzewach Własne modele drzew Komponenty tekstowe Śledzenie zmian zawartości komponentów tekstowych Sformatowane pola wejściowe Komponent JSpinner Prezentacja HTML za pomocą JEditorPane Wskaźniki postępu Paski postępu Monitory postępu Monitorowanie postępu strumieni wejścia Organizatory komponentów i dekoratory Panele dzielone Panele z kartami Panele pulpitu i ramki wewnętrzne Warstwy Zaawansowane możliwości biblioteki AWT Potokowe tworzenie grafiki Figury Hierarchia klas Shape Wykorzystanie klas obiektów graficznych Pola Ślad pędzla Wypełnienia Przekształcenia układu współrzędnych Przycinanie Przezroczystość i składanie obrazów Wskazówki operacji graficznych Czytanie i zapisywanie plików graficznych Wykorzystanie obiektów zapisu i odczytu plików graficznych Odczyt i zapis plików zawierających sekwencje obrazów Operacje na obrazach Dostęp do danych obrazu Filtrowanie obrazów Drukowanie Drukowanie grafiki Drukowanie wielu stron Podgląd wydruku Usługi drukowania Usługi drukowania za pośrednictwem strumieni Atrybuty drukowania Schowek Klasy i interfejsy umożliwiające przekazywanie danych Przekazywanie tekstu Interfejs Transferable i formaty danych Przekazywanie obrazów za pomocą schowka Wykorzystanie schowka systemowego do przekazywania obiektów Java Zastosowanie lokalnego schowka do przekazywania referencji obiektów Mechanizm "przeciągnij i upuść" Przekazywanie danych pomiędzy komponentami Swing Źródła przeciąganych danych Cele upuszczanych danych Integracja z macierzystą platformą Ekran powitalny Uruchamianie macierzystych aplikacji pulpitu Zasobnik systemowy Metody macierzyste Wywołania funkcji języka C z programów w języku Java Numeryczne parametry metod i wartości zwracane Łańcuchy znaków jako parametry Dostęp do składowych obiektu Dostęp do pól instancji Dostęp do pól statycznych Sygnatury Wywoływanie metod języka Java Wywoływanie metod obiektów Wywoływanie metod statycznych Konstruktory Alternatywne sposoby wywoływania metod (885) Tablice Obsługa błędów Interfejs programowy wywołań języka Java Kompletny przykład: dostęp do rejestru systemu Windows Rejestr systemu Windows Interfejs dostępu do rejestru na platformie Java Implementacja dostępu do rejestru za pomocą metod macierzystych
Sygnatura czytelni BWEAiI: XII N 102
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. 145211 (1 egz.)
Biblioteka WEAiI
Egzemplarze są dostępne wyłącznie na miejscu w bibliotece: sygn. 145166 N (1 egz.)
Książka
W koszyku
Wprowadzenie do C++ : efektywne nauczanie / Cay Horstmann ; przekład: Krzysztof Bąbol. - Gliwice : Helion, copyright 2021 - 678, [2] strony : fotografie, ilustracje ; 25 cm.
Wydanie III odnosi się do oryginału.
Tytuł oryginału: Big C++ : late objects.
1.1. Czym jest programowanie? (35) 1.2. Anatomia komputera (36) IAS: Komputery są wszędzie (38) 1.3. Kod maszynowy i języki programowania (39) IAS: Organizacje normalizacyjne (40) 1.4. Zapoznanie się ze środowiskiem programowania (41) WDP: Kopie zapasowe (44) 1.5. Analiza pierwszego programu (45) CPB: Pomijanie średników (47) TS: Sekwencje ucieczki (48) 1.6. Błędy (49) CPB: Błędna pisownia wyrazów (50) 1.7. Rozwiązywanie problemów: projektowanie algorytmów (50) 1.7.1. Koncepcja algorytmu (51) 1.7.2. Algorytm rozwiązywania problemu stopy zwrotu (51) 1.7.3. Pseudokod (52) 1.7.4. Od algorytmów do programów (53) JTZ: Opisywanie algorytmu za pomocą pseudokodu (54) P: Napisanie algorytmu układania płytek podłogowych (55) 2. PODSTAWOWE TYPY DANYCH (59) 2.1. Zmienne (59) 2.1.1. Definicje zmiennych (60) 2.1.2. Typy liczbowe (61) 2.1.3. Nazwy zmiennych (62) 2.1.4. Instrukcja przypisania (63) 2.1.5. Stałe (65) 2.1.6. Komentarze (65) CPB: Używanie niezdefiniowanych zmiennych (66) CPB: Używanie niezainicjowanych zmiennych (66) WDP: Wybieraj opisowe nazwy zmiennych (67) WDP: Nie używaj sekretnych numerów (67) TS: Typy liczbowe w C++ (68) TS: Zakresy i precyzja liczb (69) TS: Definiowanie zmiennych ze słowem auto (69) 2.2. Arytmetyka (69) 2.2.1. Operatory arytmetyczne (69) 2.2.2. Inkrementacja i dekrementacja (70) 2.2.3. Dzielenie całkowite i reszta z dzielenia (70) 2.2.4. Konwertowanie liczb zmiennoprzecinkowych na całkowite (71) 2.2.5. Potęgi i pierwiastki (72) CPB: Niezamierzone dzielenie całkowite (74) CPB: Niezamknięte nawiasy (74) CPB: Zapominanie o plikach nagłówkowych (75) CPB: Błędy zaokrąglenia (76) WDP: Spacje w wyrażeniach (76) TS: Rzutowania (77) TS: Połączenie przypisania i działań arytmetycznych (77) IAS: Błąd jednostki zmiennoprzecinkowej procesora Pentium (77) 2.3. Wejście i wyjście (79) 2.3.1. Wejście (79) 2.3.2. Formatowanie wyjścia (80) 2.4. Rozwiązywanie problemów: najpierw zrób to ręcznie (82) P: Obliczanie czasu podróży (83) JTZ: Przeprowadzanie obliczeń (83) P: Obliczenie kosztu znaczków pocztowych (86) 2.5. Ciągi (86) 2.5.1. Typ string (86) 2.5.2. Łączenie ciągów (87) 2.5.3. Wprowadzanie ciągów (87) 2.5.4. Funkcje ciągów (88) IAS: Alfabety międzynarodowe i zestaw Unicode (91) 3. DECYZJE (93) 3.1. Instrukcja if (93) CPB: Średnik po warunku if (96) WDP: Układ nawiasów klamrowych (96) WDP: Zawsze używaj nawiasów klamrowych (97) WDP: Wcięcia (97) WDP: Unikaj duplikowania kodu w gałęziach (98) TS: Operator warunkowy (99) 3.2. Porównywanie liczb oraz znaków (99) CPB: Mylenie operatora = z == (101) CPB: Dokładne porównywanie liczb zmiennoprzecinkowych (102) WDP: Doprowadź do kompilacji z brakiem ostrzeżeń (103) TS: Alfabetyczna kolejność ciągów (103) JTZ: Implementacja instrukcji if (104) P: Wyodrębnianie ze środka (106) IAS: Dysfunkcjonalne systemy komputerowe (106) 3.3. Wiele wariantów (107) TS: Instrukcja switch (110) 3.4. Zagnieżdżone gałęzie (111) CPB: Problem z zawieszonym słowem else (113) WDP: Ręczne śledzenie kodu (114) 3.5. Rozwiązywanie problemów: schematy blokowe (116) 3.6. Rozwiązywanie problemów: przypadki testowe (119) WDP: Opracuj harmonogram i zarezerwuj czas na nieoczekiwane problemy (120) 3.7. Zmienne i operatory logiczne (121) CPB: Łączenie wielu operatorów relacyjnych (124) CPB: Mylenie warunków && i || (125) TS: Skrócone obliczanie wartości operatorów logicznych (126) TS: Prawa de Morgana (126) 3.8. Zastosowanie: weryfikacja danych wejściowych (127) IAS: Sztuczna inteligencja (129) 4. PĘTLE (133) 4.1. Pętla while (133) CPB: Nieskończone pętle (138) CPB: Nie myśl w kategoriach "Czy doszliśmy już do celu?" (138) CPB: Pomyłki o jeden (139) IAS: Pierwszy "bug" (140) 4.2. Rozwiązywanie problemów: ręczne śledzenie kodu (140) 4.3. Pętla for (143) WDP: Używaj pętli tylko do tego, do czego została przeznaczona (147) WDP: Wybierz zakres pętli odpowiedni do zadania (147) WDP: Licz iteracje (148) 4.4. Pętla do (148) WDP: Schematy blokowe pętli (149) 4.5. Przetwarzanie danych wejściowych (150) 4.5.1. Wartości wartownika (150) 4.5.2. Odczytywanie danych wejściowych do chwili niepowodzenia (151) TS: Czyszczenie stanu błędu (153) TS: "Pętla i pół" oraz instrukcja break (154) TS: Przekierowywanie wejścia i wyjścia (154) 4.6. Rozwiązywanie problemów: scenopis (155) 4.7. Typowe algorytmy pętli (158) 4.7.1. Suma i średnia (158) 4.7.2. Zliczanie pasujących elementów (158) 4.7.3. Znajdowanie pierwszego pasującego elementu (159) 4.7.4. Monitowanie aż do skutku (159) 4.7.5. Maksimum i minimum (160) 4.7.6. Porównywanie sąsiednich wartości (160) JTZ: Tworzenie pętli (161) P: Przetwarzanie numerów kart kredytowych (165) 4.8. Zagnieżdżone pętle (165) P: Manipulowanie pikselami obrazu (168) 4.9. Rozwiązywanie problemów: najpierw rozwiąż prostszy problem (169) 4.10. Liczby losowe i symulacje (173) 4.10.1. Generowanie liczb losowych (174) 4.10.2. Symulowanie rzutów kostką (175) 4.10.3. Metoda Monte Carlo (176) IAS: Piractwo cyfrowe (177) 5. FUNKCJE (181) 5.1. Funkcje jako czarne skrzynki (181) 5.2. Implementowanie funkcji (183) WDP: Komentarze funkcji (185) 5.3. Przekazywanie parametrów (185) WDP: Nie modyfikuj zmiennych parametrycznych (187) 5.4. Wartości zwracane (187) CPB: Brak wartości zwracanej (188) TS: Deklaracje funkcji (189) JTZ: Implementowanie funkcji (190) P: Generowanie losowych haseł (191) P: Używanie debugera (191) 5.5. Funkcje bez wartości zwracanych (192) 5.6. Rozwiązywanie problemów: funkcje do ponownego wykorzystania (193) 5.7. Rozwiązywanie problemów: uściślanie stopniowe (195) WDP: Pilnuj, by funkcje były krótkie (200) WDP: Śledzenie funkcji (200) WDP: Atrapy (202) P: Obliczanie oceny z przedmiotu (202) 5.8. Zakres zmiennej i zmienne globalne (202) WDP: Unikaj zmiennych globalnych (204) 5.9. Parametry referencyjne (204) WDP: Preferuj wartości zwracane zamiast parametrów referencyjnych (208) TS: Stałe referencje (209) 5.10. Funkcje rekurencyjne (opcjonalnie) (209) JTZ: Wnioskowanie rekurencyjne (212) IAS: Nagłe rozpowszechnienie się komputerów osobistych (214) 6. TABLICE I WEKTORY (217) 6.1. Tablice (217) 6.1.1. Definiowanie tablic (217) 6.1.2. Dostęp do elementów tablicy (219) 6.1.3. Częściowo wypełnione tablice (221) CPB: Przekroczenie zakresu (222) WDP: Używaj tablic do przechowywania serii związanych ze sobą wartości (222) IAS: Wirusy komputerowe (222) 6.2. Typowe algorytmy tablicowe (224) 6.2.1. Wypełnianie wartościami (224) 6.2.2. Kopiowanie (224) 6.2.3. Suma i średnia (225) 6.2.4. Maksimum i minimum (225) 6.2.5. Separatory elementów (225) 6.2.6. Zliczanie pasujących elementów (226) 6.2.7. Wyszukiwanie liniowe (226) 6.2.8. Usuwanie elementu (227) 6.2.9. Wstawianie elementu (227) 6.2.10. Przestawianie elementów (229) 6.2.11. Odczyt danych wejściowych (230) TS: Sortowanie za pomocą biblioteki C++ (231) TS: Algorytm sortowania (231) TS: Wyszukiwanie binarne (233) 6.3. Tablice a funkcje (234) TS: Stałe parametry tablicowe (237) 6.4. Rozwiązywanie problemów: dostosowywanie algorytmów (238) JTZ: Praca z tablicami (240) P: Rzut kostką (243) 6.5. Rozwiązywanie problemów: odkrywanie algorytmów przez manipulację obiektami fizycznymi (244) 6.6. Tablice dwuwymiarowe (246) 6.6.1. Definiowanie tablic dwuwymiarowych (247) 6.6.2. Dostęp do elementów (248) 6.6.3. Lokalizowanie sąsiadujących elementów (248) 6.6.4. Obliczanie sum wierszy i kolumn (249) 6.6.5. Dwuwymiarowe parametry tablicowe (250) CPB: Pomijanie rozmiaru kolumny w dwuwymiarowym parametrze tablicowym (253) P: Tabela danych o ludności świata (253) 6.7. Wektory (253) 6.7.1. Definiowanie wektorów (254) 6.7.2. Powiększanie i zmniejszanie wektorów (255) 6.7.3. Wektory a funkcje (256) 6.7.4. Algorytmy związane z wektorami (257) 6.7.5. Wektory dwuwymiarowe (259) WDP: Stosuj wektory zamiast tablic (260) TS: Pętla for oparta na zakresie (260) 7. WSKAŹNIKI I STRUKTURY (263) 7.1. Definiowanie i używanie wskaźników (264) 7.1.1. Definiowanie wskaźników (264) 7.1.2. Dostęp do zmiennych poprzez wskaźniki (265) 7.1.3. Inicjowanie wskaźników (266) CPB: Mylenie wskaźników z danymi, na które wskazują (268) WDP: Używaj oddzielnej definicji dla każdej zmiennej wskaźnikowej (269) TS: Wskaźniki i referencje (269) 7.2. Tablice i wskaźniki (270) 7.2.1. Tablice jako wskaźniki (270) 7.2.2. Arytmetyka wskaźnikowa (271) 7.2.3. Tablicowe zmienne parametryczne są wskaźnikami (272) TS: Przechodzenie po tablicy przy użyciu wskaźnika (273) CPB: Zwracanie wskaźnika wskazującego na zmienną lokalną (274) WDP: Programuj przejrzyście, a nie sprytnie (275) TS: Stałe wskaźniki (275) 7.3. Ciągi w językach C i C++ (276) 7.3.1. Typ char (276) 7.3.2. Ciągi w stylu C (276) 7.3.3. Tablice znaków (277) 7.3.4. Konwertowanie pomiędzy ciągami w stylu C i C++ (278) 7.3.5. Ciągi w stylu C++ i operator [] (278) TS: Praca z ciągami w stylu C (279) 7.4. Dynamiczna alokacja pamięci (281) CPB: Wiszące wskaźniki (283) CPB: Wycieki pamięci (284) 7.5. Tablice i wektory wskaźników (285) 7.6. Rozwiązywanie problemów: rysowanie schematu (288) JTZ: Praca ze wskaźnikami (289) P: Tworzenie korespondencji masowej (291) IAS: Systemy wbudowane (291) 7.7. Struktury (292) 7.7.1. Typy strukturalne (292) 7.7.2. Przypisania struktur i ich porównywanie (293) 7.7.3. Funkcje a struktury (294) 7.7.4. Tablice struktur (294) 7.7.5. Struktury ze składowymi tablicowymi (295) 7.7.6. Struktury zagnieżdżone (295) 7.8. Wskaźniki a struktury (296) 7.8.1. Wskaźniki do struktur (296) 7.8.2. Struktury ze składowymi wskaźnikowymi (297) TS: Wskaźniki inteligentne (298) 8. STRUMIENIE (301) 8.1. Odczytywanie i zapisywanie plików tekstowych (301) 8.1.1. Otwieranie strumienia (302) 8.1.2. Odczyt z pliku (303) 8.1.3. Zapis do pliku (304) 8.1.4. Przykład przetwarzania pliku (304) 8.2. Odczyt tekstowych danych wejściowych (307) 8.2.1. Odczyt wyrazów (307) 8.2.2. Odczyt znaków (307) 8.2.3. Odczyt wierszy (309) CPB: Łączenie operacji wejścia przy użyciu operatora >> i funkcji getline (310) TS: Sprawdzanie błędu strumienia (311) 8.3. Zapisywanie tekstowych danych wyjściowych (312) TS: Standard Unicode, kodowanie UTF-8 i ciągi C++ (314) 8.4. Analizowanie i formatowanie ciągów (315) 8.5. Argumenty wiersza poleceń (317) IAS: Algorytmy szyfrowania (320) JTZ: Przetwarzanie plików tekstowych (321) P: Wyszukiwanie duplikatów (324) 8.6. Dostęp swobodny i pliki binarne (324) 8.6.1. Dostęp swobodny (324) 8.6.2. Pliki binarne (325) 8.6.3. Przetwarzanie plików z obrazami (326) IAS: Bazy danych a prywatność (329) 9. KLASY (333) 9.1. Programowanie obiektowe (334) 9.2. Implementowanie prostej klasy (335) 9.3. Określanie interfejsu publicznego klasy (338) CPB: Zapominanie o średniku (340) 9.4. Projektowanie reprezentacji danych (341) 9.5. Funkcje składowe (342) 9.5.1. Implementowanie funkcji składowych (342) 9.5.2. Parametry jawne i niejawne (343) 9.5.3. Wywoływanie funkcji składowej wewnątrz innej funkcji składowej (344) WDP: Wszystkie dane składowe powinny być prywatne, a większość funkcji - publiczna (347) WDP: Poprawne użycie słowa zastrzeżonego const (347) 9.6. Konstruktory (348) CPB: Próba wywołania konstruktora (350) TS: Przeciążanie (351) TS: Listy inicjatorów (351) TS: Uniwersalna i jednolita składnia inicjacji (352) 9.7. Rozwiązywanie problemów: śledzenie obiektów (353) JTZ: Implementowanie klasy (355) P: Implementowanie klasy reprezentującej konto bankowe (358) IAS: Elektroniczne maszyny do głosowania (358) 9.8. Rozwiązywanie problemów: znajdowanie klas (360) WDP: Przekształcaj wektory równoległe w wektory obiektów (361) 9.9. Osobna kompilacja (363) 9.10. Wskaźniki do obiektów (367) 9.10.1. Obiekty alokowane dynamicznie (367) 9.10.2. Operator -> (368) 9.10.3. Wskaźnik this (369) 9.11. Rozwiązywanie problemów: wzorce danych obiektu (369) 9.11.1. Przechowywanie sumy całkowitej (370) 9.11.2. Liczenie zdarzeń (371) 9.11.3. Gromadzenie danych (371) 9.11.4. Zarządzanie właściwościami obiektu (372) 9.11.5. Modelowanie obiektów o różnych stanach (373) 9.11.6. Opisywanie pozycji obiektu (374) IAS: Oprogramowanie o otwartych źródłach i wolne oprogramowanie (375) 10. DZIEDZICZENIE (379) 10.1. Hierarchie dziedziczenia (379) 10.2. Implementowanie klas pochodnych (383) CPB: Dziedziczenie prywatne (386) CPB: Replikowanie składowych klasy bazowej (386) WDP: Przy odmiennych wartościach należy używać jednej klasy, przy odmiennym działaniu - dziedziczenia (387) TS: Wywoływanie konstruktora klasy bazowej (387) 10.3. Przesłanianie funkcji składowych (388) CPB: Zapominanie o podaniu nazwy klasy bazowej (391) 10.4. Funkcje wirtualne i polimorfizm (391) 10.4.1. Problem odcinania (392) 10.4.2. Wskaźniki do klasy bazowej i pochodnej (393) 10.4.3. Funkcje wirtualne (394) 10.4.4. Polimorfizm (395) WD: Nie używaj znaczników typów (398) CPB: Odcinanie obiektu (398) CPB: Nieudane przesłanianie funkcji wirtualnej (399) TS: Wirtualne samowywołania (400) JTZ: Opracowywanie hierarchii dziedziczenia (400) P: Implementowanie hierarchii pracowników a potrzeby przetwarzania odcinków wypłat (406) IAS: Kto sprawuje kontrolę nad internetem? (406) 11. REKURENCJA (409) 11.1. Liczby trójkątne (409) CPB: Śledzenie wykonania funkcji rekurencyjnych (413) CPB: Nieskończona rekurencja (414) JTZ: Wnioskowanie rekurencyjne (415) P: Znajdowanie plików (418) 11.2. Rekurencyjne funkcje pomocnicze (418) 11.3. Wydajność rekurencji (419) 11.4. Permutacje (423) 11.5. Rekurencja wzajemna (426) 11.6. Poszukiwanie z nawrotami (430) P: Wieże Hanoi (436) IAS: Ograniczenia obliczeń komputerowych (436) 12. SORTOWANIE I WYSZUKIWANIE (441) 12.1. Sortowanie przez wybieranie (441) 12.2. Profilowanie algorytmu sortowania przez wybieranie (444) 12.3. Analiza wydajności algorytmu sortowania przez wybieranie (445) TS: O, omega i theta (447) TS: Sortowanie przez wstawianie (449) 12.4. Sortowanie przez scalanie (450) 12.5. Analiza algorytmu sortowania przez scalanie (453) TS: Algorytm sortowania szybkiego (456) 12.6. Wyszukiwanie (457) 12.6.1. Wyszukiwanie liniowe (457) 12.6.2. Wyszukiwanie binarne (459) WDP: Funkcje biblioteczne do sortowania i wyszukiwania binarnego (462) TS: Definiowanie kolejności sortowania obiektów (462) 12.7. Rozwiązywanie problemów: szacowanie czasu wykonania algorytmu (463) 12.7.1. Czas liniowy (463) 12.7.2. Czas kwadratowy (464) 12.7.3. Wzór trójkąta (465) 12.7.4. Czas logarytmiczny (467) P: Ulepszanie algorytmu sortowania przez wstawianie (468) IAS: Pierwsza programistka (468) 13. ZAAWANSOWANE CECHY JĘZYKA C++ (471) 13.1. Przeciążanie operatorów (471) 13.1.1. Funkcje operatorów (472) 13.1.2. Przeciążanie operatorów porównania (474) 13.1.3. Wejście i wyjście (475) 13.1.4. Operatory składowe (476) TS: Przeciążanie operatorów inkrementacji i dekrementacji (476) TS: Niejawne konwersje typów (478) TS: Zwracanie referencji (479) P: Klasa Fraction (480) 13.2. Automatyczne zarządzanie pamięcią (480) 13.2.1. Konstruktory przydzielające pamięć (480) 13.2.2. Destruktory (482) 13.2.3. Przeciążanie operatora przypisania (483) 13.2.4. Konstruktory kopiujące (488) WDP: Używaj parametrów referencyjnych, by nie tworzyć kopii obiektów (492) CPB: Definiowanie destruktora bez pozostałych dwu funkcji z "wielkiej trójki" (492) TS: Wirtualne destruktory (493) TS: Powstrzymanie automatycznego tworzenia funkcji zarządzających pamięcią (494) TS: Operacje przenoszenia (494) TS: Wskaźniki współdzielone (496) P: Śledzenie zarządzania pamięcią w obiektach typu String (496) 13.3. Szablony (497) 13.3.1. Szablony funkcji (497) 13.3.2. Szablony klas (499) TS: Parametry szablonów niedotyczące typów (501) 14. LISTY POWIĄZANE, STOSY I KOLEJKI (503) 14.1. Używanie list powiązanych (503) 14.2. Implementowanie list powiązanych (509) 14.2.1. Klasy dla list, węzłów i iteratorów (509) 14.2.2. Implementowanie iteratorów (511) 14.2.3. Implementowanie wstawiania i usuwania węzłów (512) P: Implementowanie szablonu listy powiązanej (522) 14.3. Wydajność operacji na listach, tablicach i wektorach (523) 14.4. Stosy i kolejki (527) 14.5. Implementowanie stosów i kolejek (530) 14.5.1. Stosy jako listy powiązane (530) 14.5.2. Stosy jako tablice (533) 14.5.3. Kolejki jako listy powiązane (534) 14.5.4. Kolejki jako tablice cykliczne (535) 14.6. Zastosowania stosów i kolejek (536) 14.6.1. Sprawdzanie zamknięcia nawiasów (536) 14.6.2. Obliczanie wyrażeń zapisanych w odwrotnej notacji polskiej (537) 14.6.3. Obliczanie wartości wyrażeń algebraicznych (539) 14.6.4. Poszukiwanie z nawrotami (543) TS: Odwrotna notacja polska (544) 15. ZBIORY, MAPY I TABLICE MIESZAJĄCE (547) 15.1. Zbiory (547) 15.2. Mapy (551) WDP: W przypadku iteratorów używaj typu auto (555) TS: Multizbiory i multimapy (555) P: Częstość występowania wyrazów (556) 15.3. Implementowanie tablicy mieszającej (556) 15.3.1. Skróty (556) 15.3.2. Tablice mieszające (558) 15.3.3. Znajdowanie elementu (559) 15.3.4. Dodawanie i usuwanie elementów (560) 15.3.5. Przechodzenie po tablicy mieszającej (560) TS: Implementowanie funkcji skrótów (566) TS: Adresowanie otwarte (568) 16. STRUKTURY DRZEW (571) 16.1. Podstawowe koncepcje dotyczące drzew (571) 16.2. Drzewa binarne (575) 16.2.1. Przykłady drzew binarnych (575) 16.2.2. Drzewa zrównoważone (577) 16.2.3. Implementacja drzewa binarnego (578) P: Budowanie drzewa Huffmana (580) 16.3. Binarne drzewa poszukiwań (580) 16.3.1. Właściwość wyszukiwania binarnego (580) 16.3.2. Wstawianie (582) 16.3.3. Usuwanie (584) 16.3.4. Wydajność operacji (586) 16.4. Przeglądanie drzewa (591) 16.4.1. Przeglądanie poprzeczne (591) 16.4.2. Przeglądanie wzdłużne i wsteczne (593) 16.4.3. Wzorzec Wizytator (594) 16.4.4. Przeszukiwanie w głąb i wszerz (595) 16.4.5. Iteratory drzew (596) 16.5. Drzewa czerwono-czarne (597) 16.5.1. Podstawowe własności drzew czerwono-czarnych (597) 16.5.2. Wstawianie (600) 16.5.3. Usuwanie (601) P: Implementowanie drzewa czerwono-czarnego (605) 17. KOLEJKI PRIORYTETOWE I KOPCE (607) 17.1. Kolejki priorytetowe (607) P: Symulacja kolejki oczekujących klientów (610) 17.2. Kopce (610) 17.3. Algorytm sortowania przez kopcowanie (621)
Sygnatura czytelni BWEAiI: XII Ł 200
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. 150549 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