158660
Book
In basket
Java : podstawy / Cay S. Horstmann ; [tłumaczenie Łukasz Piwko]. - Gliwice : Wydawnictwo Helion, copyright 2016. - 872 strony : ilustracje ; 25 cm.
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
Media files:
Availability:
Wypożyczalnia
There are copies available to loan: sygn. 145231 N, 145683 N, 145684 N (3 egz.)
Biblioteka WEAiI
Copies are only available in the library: sygn. 145230 N (1 egz.)
Notes:
Tytuł oryginału: Core Java. Vol. 1, Fundamentals, 2016
General note
Wydanie 10. odnosi się do oryginału.
Bibliography, etc. note
Indeks.
The item has been added to the basket. If you don't know what the basket is for, click here for details.
Do not show it again

Deklaracja dostępności