Kurs Java Programowanie

Why take this course?
-
Wprowadzenie do javy
- Przegląd podstawowych konstrukcji języka Java: zmienne, typy danych, instrukcje sterujące.
- Tworzenie pierwszego programu w javie.
- Zrozumienie struktury programu (klasy, metody, obiekty).
-
Zarządzanie pamięcią
- Zarządzanie zasobami (garbage collection).
- Stosowanie klas
Integer
iString
, a także dylematy typów (generics).
-
Przeciążanie metod
- Różnice między metodami zwykłymi a przeciązalnymi.
- Przykłady użycia polimorfizmu w kontekście przeciązania metod.
-
Klasy i metody abstrakcyjne
- Tworzenie klas abstrakcyjnych.
- Zastosowanie interfejsów.
-
Rozszerzenia (extends) i implementacje (implements)
- Dywersyfikacja klas (klasy rozszerzające).
- Realizacja interfejsów i zdalne interfejsy (ScheduledExecutorService).
-
Kolekcje
- Przegląd różnych typów kolekcji w Java Collections Framework.
- Metody dostępne dla kolekcji (Iterators, Collections API, Stream API).
-
Wieloweśowne programowanie
- Tworzenie i używanie strumieni (streams).
- Pracownik z opcjonalnymi (Optional) i lambdami.
-
Thread i synchronizacja
- Tworzenie wątków (threading).
- Mechanizmy synchronizacji (locki, Condition variables, synchronized bloki).
-
I/O w Java
- Odczyt z i zapis do plików.
- Praca z zawartością binarną.
-
Podstawy GUI w Java
- Tworzenie interfejsów graficznych z wykorzystaniem Swing lub JavaFX.
- Umożliwienie reagowania na zdarzenia (event handling).
-
Tworzenie apletów
- Koncepcja i tworzenie apletów.
- Współdziałanie z appletviewer i włączenie apletów w stronach internetowych.
-
Połączenie z bazą danych
- Wykorzystanie JDBC do nawiązywania połączeń z bazami danych.
- Wysyłanie zapytań i przetwarzanie wyników (result sets).
-
Bezpośrednie rysowanie na komponentach
- Tworzenie prostych grafik i animacji.
- Praca z obiektami graficznymi (Shapes, Graphics2D).
-
Rozmieszczanie komponentów w interfejsie graficznym
- Użycie
BorderLayout
,BoxLayout
,FlowLayout
. - Absolutne pozycjonowanie elementów (AbsolutePositioning).
- Użycie
-
Java Advanced Features (JAF)
- Współbieżność i wielowywności (concurrency).
- Ochrona przed błędami w czasie rzeczywistym (Error handling in concurrent applications).
- Użycie
Future
,Callable
iExecutorService
.
-
Wsteczna kompatybilność (Backward Compatibility) i Java Modules
- Zarządzanie zależnościami między modułami.
- Ograniczenie dostępu do pakietów (Encapsulation).
-
Bezpieczeństwo w aplikacjach Java
- Odpowiedzialne używanie hasła (password) i szyfrowanie informacji (encryption, hashing).
- Bezpieczne komunikacja sieciowa (SSL/TLS).
-
Java 8 and beyond
- Nowe funkcje językowe wprowadzone w Java 8, takie jak lambdy, Streams i Optional.
- Przegląd nowych funkcji w kolejnych wersjach Javy (Java 9, Java 10 itd.).
-
Mikroserwisy i Spring Framework
- Tworzenie mikroserwisów z wykorzystaniem Spring Boot.
- Zarządzanie zależnościami (Dependency Injection).
-
Testowanie oprogramowania
- JUnit i TestNG do pisanja testów jednostkowych.
- Mockito do tworzenia mock obiektów w testach.
-
Podsumowanie i najlepsze praktyki
- Przegląd najlepszych praktyk programistycznych.
- Refaktoring kodu do poprawy jego jakości i utrudnienie błędów.
-
Rozszerzenia javy (Java Extensions)
- Tworzenie i używanie CGLIB, ASM czy ByteBuddy.
- Profilowanie i optymalizacja kodu z wykorzystaniem narzędzi takich jak JProfiler lub YourKit.
-
Java i Internet of Things (IoT)
- Wykorzystanie Java w kontekście IoT, np. z MQTT, Arduino czy Raspberry Pi.
-
Rozszerzenia javy przez użytkownika (Custom Classpath Extensions)
- Tworzenie i działanie ze wstępowymi klasami w klasy Javy.
-
Java 11, Java 12 i nowsze
- Przegląd najnowszego standardu javy i jego ulepszenia.
Kurs ten jest szczególnie zbalansowany i pokrywa szeroką gamę tematów, które są niezbędne dla programisty Java na różnych poziomach zaawansowania. Od podstaw do bardziej zaawansowanych koncepcji, takich jak wielowywności, testowanie, bezpieczeństwo i nowe funkcje językowe. Kurs ten może być wykorzystany jako przewodnik dla osób zaczynających, jak i jako punkt wyjścia do bardziej zaawansowanych tematów dla doświadczonych programistów Java.
Loading charts...