Course Code:
3059
Duration:
28 hours
Prerequisites:
Znajomość zagadnien omawianych na kursie Java Fundamentals.
Overview:
Na szkoleniu uczestnik pozna konkretne zastosowania wybranych zagadnień, podstawowe problemy napotykane przy korzystaniu z nich oraz rolę w modelu aplikacji. Szkolenie obejmuje również podstawową wiedzę z zakresu standardowych funkcji bibliotecznych języka. Szkolenie wymaga znajomości środowiska developerskiego IDE służącego do budowania aplikacji Java (np. eclipse, netbeans). Szkolenie nie obejmuje zagadnień tworzenia interfejsu użytkownika.
Course Outline:
Klasy abstrakcyjne
- Zasady deklaracji i implementacji klas abstrakcyjnych
- Typowe problemy napotykane podczas pracy z klasami abstrakcyjnymi
Rola klas, klas abstrakcyjnych i interfejsów w modelu aplikacji
- Kompletny model obiektowy w języku Java
- Stopnie abstrakcji obiektowości Javy
- Model programowania zorientowanego na interfejsy oraz zastosowanie klas abstrakcyjnych i interfejsów w celu uelastycznienia aplikacji i uniezależnienia poszczególnych jej podsystemów od wzajemnej ich implementacji
- Zastosowania klas abstrakcyjnych w celu wymuszenia wspólnej funkcjonalności poszerzonej o dowolność implementacji taką, jaką oferują interfejsy
Rola obiektów dynamicznych i statycznych w modelu aplikacji
- Statyczność klas Javy oraz dynamizm obiektów tych klas
- Wprowadzenie rozróżnienia w funkcjonalności obu typu bytów w obrębie Javy oraz typowe zastosowania, i na ich przykładzie dobre praktyki w projektowaniu rozwiązań opartych na statycznych i dynamicznych bytach Javy
- Wprowadzenie do wzorca projektowego Singleton
- Wprowadzenie do wzorca projektowego Fabryka
Operacje na typach prostych oraz klasy opakowujące
- Niezwykle istotne fakty i techniki rozszerzające zastosowanie typów prostych w modelu obiektowym Javy
- Omówienie roli klas opakowujących typy proste oraz typowe zastosowania tego typu obiektów w aplikacji
Obiekty specjalne Javy, klasa String, StringBuilder i StringBuffer
- Przypomnienie podstawowych właściwości klasy String oraz omówienie sposobu traktowania obiektów klasy String przez wirtualną maszynę
- Zastosowanie klas buforujących i operujących na łańcuchach
Operacje formatowania i parsowania, wyrażenia regularne
- Wprowadzenie do wyrażeń regularnych w języku Java
- Omówienie zarówno podstawowych technik operowania na wyrażeniach regularnych (klasa String) jak i zaawansowanych technik opartych o dedykowane klasy obsługujące tego typu konstrukcje
- Tokenizacja oraz wyszukiwanie i dopasowywanie wzorców dla typów łańcuchowych
Operacje wejścia/wyjścia
- Dokładne omówienie mechanizmów Wej/Wyj Javy - klasy strumieniowe, klasy Writer oraz Reader, klasy opakowujące i buforujące strumienie Javy
- Otwieranie, pisanie do i zamykanie plików oraz gniazd sieciowych
Klasy wewnętrzne - dokładne omówienie
- Omówienie sposobu implementacji i zastosowań klas wewnętrznych w Javie oraz tak zwanych klas anonimowych
Wątki - dokładne omówienie, zastosowania i problemy
- Omówienie tematyki wątków, począwszy od mechanizmu abstrakcji wątków w Javie a skończywszy na synchronizowaniu wątków, łączeniu wątków w grupy, zaprezentowanie pul wątków i omówienie typowych problemów związanych z pracą z wątkami, takich jak zakleszczenia
Refleksje Javy - wprowadzenie i zastosowania
- Wprowadzenie do mechanizmu refleksji Javy
- Wykład obejmuje omówienie tematyki realizacji refleksji w języku Javy, ładowania i uruchamiania metod klas, instancjonalizację klas oraz poznawanie struktury stanu klas
Zagadnienie serializacji
- Wprowadzenie do zagadnienia serializacji obiektów Javy
- Co to jest serializacja, w jaki sposób serializować obiekt, zależne od siebie obiekty i jak unikać typowych problemów napotykanych przy tego typu zagadnieniach
- Typowe zastosowania serializacji na przykładzie RMI oraz CORBA
Sites Published:
United Arab Emirates - Java Advanced
Czech Republic - Java Advanced