Szkolenie dostępne na zamówienie
Przygotowanie do uzyskania certyfikatu OCP Java Developer
Najpopularniejszy i uznany na rynku certyfikat dla programistów Java
Czas trwania szkolenia:5 dni (40h)
Poziom zaawansowania:
Kod kursu:OCPJD
Przygotowanie do uzyskania certyfikatu OCP Java Developer
Cele szkolenia
- Nabycie wiedzy i umiejętności programowania w języku Java w stopniu pozwalającym na przystąpienie do egzaminu uprawniającego do otrzymania certyfikatu OCPJD
- Szczegółowe przedstawienie (zarówno od strony teoretycznej, jak i praktycznej) zagadnień obejmowanych przez egzamin, zwracając jednocześnie uwagę uczestników na specyficzne aspekty poszczególnych elementów języka Java
Dla kogo?
- Osoby chcące przystąpić do egzaminu Oracle Certified Professional
- Osoby chcące usystematyzować wiedzę w zakresie programowania w języku Java
Zalety
- Szkolenie jest stale uaktualniane do pojawiających się kolejnych wersji języka w oparciu o wymagania najnowszych wersji certyfikatów
- W trakcie kursu uczestnicy przyglądają się specyficznym aspektom języka zawartym w egzaminach, poznają przykładowe pytania i realizują próbne testy cząstkowe i całościowe
- Szkolenie jest prowadzone przez trenerów, którzy uzyskali certyfikat OCPJD i wiedzą jak się do niego przygotować
- Oprócz przygotowania do egzaminu szkolenie pomaga usystematyzować wiedzę dla programistów Java oraz może być sposobem na migrację do Javy z innego języka programowania
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Wymagania
- Od uczestników wymagana jest umiejętność programowania w stopniu podstawowym w dowolnym obiektowym języku
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program
Wprowadzenie
- Podstawowe informacje o certyfikacie OCP Java Developer
- Podejście do egzaminu - formalności
- Zasoby internetowe
Podstawy języka Java
- Struktura klas, interfejsów i ich komponentów
- Wykonywalne klasy Java, metoda main()
- Pakiety, importowanie klas, import statyczny
- Zakres widoczności, modyfikatory
Typy danych
- Deklaracja i inicjalizacja zmiennych, identyfikatory
- Zmienne typów prostych, tablicowych, wyliczeniowych, klasy opakowujące
- Zmienne typów obiektowych, referencje do obiektów
- Operatory przypisania, arytmetyczne, logiczne, priorytet operatorów
Instrukcje sterujące wykonaniem programu
- Instrukcje warunkowe: if, else, switch
- Pętle for, for-each, while, do-while
- Instrukcje break, continue, wykorzystanie etykiet
Operacje na tablicach
- Tablice obiektów, deklaracja, alokacja, inicjalizacja
- Tablice wielowymiarowe
Pola, metody i enkapsulacja
- Zasięg zmiennych
- Zmienne składowe obiektu i klasy (pola)
- Deklaracja metod, parametry, wartość zwracana
- Przekazywanie argumentów do metod
- Przeładowanie metod (overload)
- Konstruktory, bloki inicjalizacyjne
- Cykl życia obiektu
- Enkapsulacja
Dziedziczenie
- Dziedziczenie z użyciem klas i interfejsów
- Dziedziczenie a zakres widoczności
- Dziedziczenie a przypisania, operator instanceof
- Używanie konstruktorów i metod nadklasy
- Polimorfizm, rzutowanie, overload a override
Wyjątki i asercje
- Koncepcja sytuacji wyjątkowych w Java
- Typy sytuacji wyjątkowych (klasy Exception, RuntimeException, Error)
- Obsługa wyjątków (klauzule try, catch, multi-catch, finally, try-with-resources)
- Przegląd wybranych wyjątków
- Tworzenie zasobów auto-closeable
- Wykorzystanie asercji
Praca z podstawowymi klasami z JDK
- Klasa String, StringBuffer, StringBuilder
- Operacje na napisach, równość napisów
- Interfejs List, klasa ArrayList
Przykładowy test OCA
Zaawansowane pojęcia związane z klasami
- Użycie klas: static inner class, local class, nested class, anonymous inner class
- Użycie typu enum
- Tworzenie i używanie wyrażeń lambda
- Podstawowe wzorce projektowe
Kolekcje oraz typy generyczne
- Tworzenie i wykorzystywanie klas ArrayList, TreeSet, TreeMap, ArrayDeque
- Wykorzystanie interfejsów java.util.Comparator i java.lang.Comparable
- Koncepcja strumieni w kontekście kolekcji
- Tworzenie i wykorzystywanie typów generycznych
Interfejsy funkcyjne oraz Stream API
- Wyrażenie lambda
- Przegląd interfejsów funkcyjnych w pakiecie java.util.function
- Wersje interfejsów funkcjonalnych dla typów prostych
- Wyszukiwanie danych przy użyciu metod findFirst(), findAny(), anyMatch(), allMatch(), noneMatch()
- Sortowanie danych
- Użycie metod z klasy Collectors
- Wykorzystanie klasy Optional
Zagadnienia związane z Date/Time API
- Użycie klas LocalDate, LocalTime, LocalDateTime, Instant, Period i Duration
- Zarządzanie kodem obsługującym różne strefy czasowe
- Formatowanie dat
Obsługa Wejścia/Wyjścia
- Koncepcja strumieni w Java
- Rodzaje strumieni
- Strumienie Binarne (InputStream, OuputStream i pochodne)
- Strumienie Znakowe (Reader, Writer i pochodne)
- Zagadnienia kodowania w strumieniach znakowych
- Łączenie strumieni
- Strumienie skojarzone z plikami oraz interakcja z systemem plików klasy (File, RandomAccessFile, FileOutputStream,FileInputStream)
- Interfejs Serializable
- Serializacja obiektów do strumieni (ObjectOutputStream,ObjectInputStream)
- Modyfikacja domyślnej serializacji
- Standardowe wejście/wyjście
- Przykłady strumieni specjalizowanych
File I/O z NIO.2
- Operowanie na ścieżkach do plików i katalogów z użyciem klasy Path
- Kopiowanie, przenoszenie, usuwanie plików z użyciem klasy Files
- Rekurencyjna nawigacja po drzewie katalogów
- Odczyt i zmiana atrybutów plików i katalogów
- Znajdowanie plików przy użyciu klasy PathMatcher
Podstawy JDBC
- Rejestracja sterownika
- Wykonywanie zapytań
- Transakcje
- Projektowanie warstwy dostępu do danych
Wydajność i zarządzanie zasobami
- Struktura pamięci
- Metoda finalize i Garbage Collector
- Monitorowanie zasobów wirtualnej maszyny
Programowanie aplikacji wielowątkowych
- Konstrukcja wątków w Javie (Runnable i Thread)
- Cykl życia wątku
- Scheduler (zasada działania i priorytety)
- Metody yield, join, sleep
- Grupy wątków
- Zagadnienia synchronizacji (wait, notify, notifyAll, zakleszczenie, zagłodzenie)
- Klasy pakietu java.util.concurrent
- Wykonawcy i pule
- Fork/Join
Internacjonalizacja i lokalizacja aplikacji
- Odczyt i zmiana ustawień językowych
- Tworzenie pakietów zasobów dla poszczególnych języków
- Ładowanie i używanie zasobów językowych w aplikacji
- Formatowanie danych z użyciem NumberFormat, DateFormat
Moduły Java
- Java Platform Module System
- Architektura modułów
- Deskryptor modułu
- Usługi