Java – przygotowanie do egzaminu OCPJP
Najbliższe terminy tego szkolenia
Standardy JSystems
- Wszyscy nasi trenerzy muszą być praktykami i osiągać średnią z ankiet minimum 4.75 na 5. Nie ma wśród nas trenerów-teoretyków. Każdy trener JSystems ma bogate doświadczenie komercyjne w zakresie tematów z których prowadzi szkolenia.
- Wszystkie szkolenia mają format warszatowy. Każde zagadnienie teoretyczne jest poparte rzędem warsztatów w ściśle określonym formacie.
- Terminy gwarantowane na 100%. Jeśli jakiś termin jest oznaczony jako gwarantowany, oznacza to że odbędzie się nawet jeśli część grupy wycofa się z udziału. Ryzyko ponosimy my jako organizator.
Program szkolenia
- Klasy
- Implementacja enkapsulacji
- Implementacja dziedziczenia z użyciem modyfikatorów dostępności
- Implementacja polimorfizmu
- Przeciążanie metod hashCode, equals i toString
- Wykorzystanie klas niemodyfikowalnych i typu Singleton
- Wykorzystanie „static” w blokach inicjalizujących, zmiennych, metodach i klasach
- Zaawansowane aspekty klas
- Tworzenie kodu wykorzystującego abstrakcyjne klasy i metody
- Wykorzystanie w kodzie „final”
- Tworzenie klas wewnętrznych, w tym statycznych klas wewnętrznych, klas lokalnych, zagnieżdżonych i anonimowych
- Typy wyliczeniowe, w tym metody i konstruktory
- Wykorzystanie interfejsów i adnotacji @Override
- Wykorzystanie wyrażeń Lambda
- Typy generyczne i kolekcje
- Tworzenie i używanie klas generycznych
- Tworzenie i używanie ArrayList, TreeSet, TreeMap i ArrayDeque
- Wykorzystanie interfejsów java.util.Comparator i java.lang.Comparable
- Strumienie i filtry
- Iteracja forEch na strumieniach i listach
- Interfejs Stream
- Filtrowanie kolekcji z użyciem wyrażeń Lambda
- Wbudowane interfejsy Lambda
- Wykorzystanie wbudowanych w pakiet java.util.function interfejsów: Predicate, Consumer, Function, Supplier
- Wykorzystanie prymitywnych i binarnych wersji funkcjonalności interfejsów
- Wykorzystanie interfejsu UnaryOperator
- Strumienie
- Wydobywanie danych z obiektu przy użyciu peek() i map()
- Przeszukiwanie strumieni z użyciem metod findFirst, findAny, anyMatch, allMatch,noneMatch
- Wykorzystanie klasy Optional
- Wykorzystanie metod klasy Stream
- Sortowanie kolekcji z użyciem Stream API
- Zapisywanie wyników do kolekcji z użyciem group/partition, klasy Collectors
- Użycie metod flatMap()
- Wyjątki i asercje
- Użycie konstrukcji try-catch i throw
- Wykorzystanie catch i finally
- Wyrażenie try-with-resources
- Tworzenie własnych wyjątków
- API daty i czasu
- Tworzenie i zarządzanie zdarzeniami opartymi o datę i czas z użyciem LocalDate, LocalTime,LocalDateTime,
- Instant, Period i Duration
- Praca z datą i czasem z uwzględnieniem stref czasowych
- Przetwarzanie danych wejściowych i wyjściowych
- Zapis i odczyt danych z konsoli
- Użycie BufferedReader, BufferedWriter, File, FileReader, FileWriter, FileInputStream, FileOutputStream,
- ObjectOutputStream, ObjectInputStream i PrintWriter
- Wykorzystanie interfejsu Path do operowania na ścieżkach plików i katalogów
- Użycie klasy Files do sprawdzania , odczytu,kasowania, kopiowania, przenoszenia i zarządzania metadanymi plików i katalogów
- Używanie Streams API z NIO.2
- Programowanie współbieżne
- Tworzenie wątków z użyciem Runnable, Callable oraz wykorzystanie ExecutorService do zrównoleglenia wykonywania zadań.
- Potencjalne problemy wynikające z wielowątkowości – blokady, wyścig
- Użycie „synchronized” i pakietu java.util.concurrent.atomic do kontroli kolejności wykonania wątków.
- Wykorzystanie kolekcji i klas pakietu java.util.concurrent, w tym CyclicBarrier i CopyOnWriteArrayList
- Użycie Fork i Join
- Równoległe przetwarzanie strumieni, redukcje, dekompozycje i łączenie procesów.
- Tworzenie aplikacji bazodanowych z użyciem JDBC
- Interfejsy Driver, Connection, Statement, ResultSet i ich wzajemne powiązania
- Łączenie z bazą danych przy użyciu DriverManager
- Tworzenie zapytań i odbieranie danych z bazy danych. Iteracja po wynikach. Właściwe zamykanie kursorów i połączeń.
- Lokalizacje
- Odczyt i zmiana locale przy użyciu obiektu Locale
- Tworzenie i odczyt pliku Properties
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!Stanowisko robocze
Do tego szkolenia każdy uczestnik otrzymuje dostęp do indywidualnej wirtualnej maszyny w chmurze. Ma ona zainstalowane i skonfigurowane wszystko co potrzebne do realizacji szkolenia. Maszyna będzie dostępna przez cały okres szkolenia.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia
Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Java
Jestem programistą z ponad 15-letnim doświadczeniem. W trakcie swojej kariery kilka razy zmieniałem obszary, z którymi miałem do czynienia (poczynając od niskopoziomowego programowania w C, poprzez fullstackowe zabawy w RubyOnRails, aż do prawdziwego backendu w Javie). Odkąd pamiętam, zawsze lubiłem dzielić się wiedzą z innymi i sprawiało to satysfakcję obu stronom tego procesu. Dlatego naturalną konsekwencją było to, iż zostałem kilka lat temu profesjonalnym trenerem IT.
Prowadzenie szkoleń pozwala mi również na każdorazowe powtórzenie i ugruntowanie swojej wiedzy, co potem bardzo przydaje się w pracy projektowej. Natomiast to, co daje mi największe zadowolenie jako trenerowi, to sytuacja gdy uczeń przerośnie mistrza - wtedy wiem, że dałem z siebie wszystko, a moja praca przyniosła owoce.