Promocja!

JAVA TEORIA W PRAKTYCE

Original price was: 109.00zł.Current price is: 98.10zł.

Na stanie

Spis treści

Wstęp

Rozdział 1. Wprowadzenie do Javy

Historia języka
Główne założenia języka
Prostota i obiektowość
Przenośność, bezpieczeństwo, niezawodność i wydajność
Wielowątkowość i rozproszenie
Interpretowalność i niezależność od architektury
Maszyna wirtualna Javy
Model pamięci
Pakiet instalacyjny

Rozdział 2. Pierwszy program

Witaj, świecie!
Zasady składni kodu źródłowego
Identyfikatory
Literały
Słowa kluczowe
Potencjalne problemy
Korzystanie z IDE

Rozdział 3. Zmienne

Tworzenie zmiennych
Prymitywne typy danych
byte
short
int
long
float
double
Rzutowanie liczb zmiennoprzecinkowych na typy całkowite
Utrata precyzji w obliczeniach zmiennoprzecinkowych
char
boolean

Rozdział 4. Operatory

Operatory arytmetyczne
Operatory przypisania
Operatory logiczne
Operatory bitowe
Kolejność wykonywania operatorów

Rozdział 5. Instrukcje sterujące

Instrukcja if-else
Instrukcja switch
Pętle
Pętla while
Pętla do-while
Pętla for
Pętla for-each
Przerwania pętli
Instrukcja continue
Instrukcja break
Etykiety pętli

Rozdział 6. Tablice

Deklaracja tablicy
Operowanie na tablicy
Konstrukcja algorytmów opartych na tablicach
Obliczanie liczby wystąpień liczb dodatnich i ujemnych w tablicy
Obliczanie średniej z liczb w tablicy
Obliczanie liczby wielkich i małych liter alfabetu w tablicy
Sprawdzanie, czy znaki zawarte w tablicy tworzą palindrom
Tablice wielowymiarowe
Tablica dwuwymiarowa
Tablica trójwymiarowa

Rozdział 7. Paradygmat programowania zorientowanego obiektowo

Klasy i obiekty
Pakiety i importy
Modyfikatory widoczności
Atrybuty i metody
Tworzenie obiektów
Enkapsulacja
Konstruktory
Typ wyliczeniowy enum
Dziedziczenie
Klasy abstrakcyjne
Interfejsy
Polimorfizm

Rozdział 8. Klasy – zaawansowane możliwości

Przeładowanie metod
Zmienna liczba i kolejność argumentów
Varargs
Dopasowanie wersji metody do przekazanego argumentu
Przekazywanie argumentów przez wartość i referencję
Przekazywanie argumentów przez wartość
Przekazywanie argumentów przez referencję
Statyczne składowe klas
Zastosowanie
Statyczne stałe
Bloki kodu
Instancyjny blok inicjalizacyjny
Statyczny blok inicjalizacyjny
Porównanie bloków
Klasy zagnieżdżone
Klasa wewnętrzna
Klasa lokalna
Klasa anonimowa
Klasa zagnieżdżona statyczna
Rekordy
Refleksja
Klasa opisująca klasę – java.lang.Class
Reflection API
Zabawki w służbie refleksji
Podsumowanie
Adnotacje
Wbudowane adnotacje
Tworzenie adnotacji
Parametry adnotacji
Użycie adnotacji
Podsumowanie
Rzutowanie zmiennych obiektowych
Rzutowanie w dół
Rzutowanie w górę
Operator instanceof
Rzutowanie – błędy kompilacji

Rozdział 9. Wbudowane typy obiektowe

Typy opakowaniowe
Tworzenie zmiennych typu opakowaniowego
Operacje na duuużych liczbach
BigInteger
BigDecimal
Klasa String
Pula stringów – String Literal Pool
Niemodyfikowalność napisów
API klasy String
StringBuilder i StringBuffer
API klas StringBuilder
StringBuilder append()
StringBuilder insert(int offset, .)
StringBuilder delete(int startIndex, int endIndex)
StringBuilder reverse()
int capacity()

Rozdział 10. Wyjątki

Jak programować bez użycia wyjątków?
Pierwsze zetknięcie z wyjątkiem
Co to jest wyjątek?
Definiowanie klas wyjątków
Wbudowane klasy wyjątków
Wyjątki sprawdzalne i niesprawdzalne na etapie kompilacji
Wyjątki sprawdzalne
Wyjątki niesprawdzalne
Rzucanie wyjątków
Instrukcja throws
Instrukcja throw
Łapanie wyjątków
Klauzula try-catch
Łapanie wielu typów wyjątków
Łapanie wyjątków powiązanych dziedziczeniem
Deklaracja w throws najogólniejszego typu wyjątku
Blok finally
Wyjątki a dziedziczenie metod
Zawężanie listy wyjątków w podklasie
Rozszerzane listy wyjątków w podklasie
Klauzula try-with-resources
Przykład z użyciem wyjątków

Rozdział 11. Klasa Object

Object clone()
Płytka kopia
Głęboka kopia
boolean equals(Object obj)
Implementacja standardowa metody equals()
Implementacja equals() z wykorzystaniem klasy Objects
Przykład wywołania equals()
Zasady działania equals()
int hashCode()
Implementacja standardowa metody hashCode()
Implementacja hashCode() z wykorzystaniem klasy Objects
Przykład wywołania hashCode()
Konsekwencje nieodpowiedniego nadpisania metody hashCode()
Kontrakt pomiędzy equals() a hashCode()
String toString()
Implementacja domyślna toString()
Nadpisanie toString()
void notify(), notifyAll(), wait(.)
void finalize()
Wady metody finalize()

Rozdział 12. Typy generyczne

O co chodzi z błędami rzutowania?
Parametry generyczne
Wiele parametrów generycznych
Rozszerzanie typów generycznych
Zawężanie typu parametrów
Błędy kompilacji
Metody generyczne
Wildcards – generyczne argumenty w metodach
Ograniczenie typu parametru „z góry”
Przykład z kolekcją typu Car
Przykład z kolekcją typu Book
Ograniczenie typów parametrów „z dołu”

Rozdział 13. Który obiekt jest większy?

Interfejs Comparable
Porównywanie rosnąco
Porównywanie malejąco
Porównywanie na podstawie więcej niż jednej zmiennej
Zasady porównywania obiektów
Interfejs Comparator
Różnice pomiędzy Comparable a Comparator
Kiedy użyć Comparable?
Kiedy użyć Comparator?

Rozdział 14. Kolekcje

Interfejs Collection
Listy
ArrayList
LinkedList
Vector
Stack
ArrayDeque
Kolejki
PriorityQueue
Zbiory
HashSet
LinkedHashSet
TreeSet
Iteratory
Mapy
HashMap
LinkedHashMap
TreeMap
Operacje narzędziowe
Kolekcje niemodyfikowalne
Algorytmy

Rozdział 15. Paradygmat programowania funkcyjnego

Interfejs funkcyjny
Tworzenie interfejsu funkcyjnego
Wyrażenia lambda
Wbudowane interfejsy funkcyjne
Function
BiFunction
UnaryOperator
BinaryOperator
Predicate
Consumer
Supplier
Comparator
Referencje do metod
Referencja do metody statycznej
Referencja do metody instancyjnej obiektu
Referencja do metody instancyjnej typu
Referencja do konstruktora

Rozdział 16. Przetwarzanie strumieniowe

Interfejs Stream
Tworzenie strumienia
Operacje pośrednie i kończące
Stream API
Operacje pośrednie
Operacje kończące
Strumienie numeryczne
Współbieżne przetwarzanie strumieni
Przykład strumienia współbieżnego
Współbieżny dostęp do zasobu
Klasa Optional

Rozdział 17. I/O – wejście-wyjście programu

Reprezentacja pliku – klasa File
Ścieżka względna i bezwzględna
Określanie ścieżki w zależności od systemu operacyjnego
Operowanie na pliku
Metadane pliku
Strumienie wejścia-wyjścia
Strumienie bajtów
Strumienie znaków
RandomAccessFile
Serializacja
Wyłączenie z serializacji – słowo kluczowe transient
Serializacja obiektu zagnieżdżonego w obiekcie
Pakiet NIO
Bufory
Kanały
Selektory
Pakiet NIO 2
Path
Paths
Files

Rozdział 18. Kalendarz, data i czas

Jak w Javie reprezentowany jest czas
Kalendarz
Klasa Calendar
Klasa TimeZone
Klasa Locale
Klasa GregorianCalendar
Data i czas
Reprezentowanie daty do wersji 1.7 Javy
Reprezentowanie daty od wersji 1.8 Javy

Rozdział 19. Podstawy programowania współbieżnego

Proces a wątek
Wątek główny
Cykl życia wątku
NEW
RUNNABLE
BLOCKED, WAITING, TIMED_WAITING
TERMINATED
Tworzenie wątku
Klasa Thread
Interfejs Runnable
Synchronizacja wątków
Wyścig wątków
Atomowość operacji
Słowo kluczowe synchronized
Monitor
Słowo kluczowe volatile
Komunikacja między wątkami
Zakleszczenie wątków
Rozwiązanie problemu zakleszczenia wątków
Kolekcje bezpieczne w środowisku wielowątkowym

Rozdział 20. Podstawy JDBC

Komponenty
Nawiązywanie połączenia z bazą danych
Connection
DriverManager
DataSource
Zapytania
Statement
PreparedStatement
CallableStatement
Mapowanie ResultSet na kolekcję

Skorowidz

Autor

ISBN

978-83-289-0022-6

Liczba stron

Rok wydania

Wydawca

Opinie

Na razie nie ma opinii o produkcie.

Napisz pierwszą opinię o „JAVA TEORIA W PRAKTYCE”

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *