Szkolenia Capstone Courseware

Cel szkolenia dlearning

Version 8.0

This course provides advanced training in developing software using the Java Platform, Standard Edition, or Java SE. It is intended for students with solid experience in structured and object-oriented Java programming, including use of the Collections API and exception handling. Generic types should be understood, at least at a basic level; the course does begin with a refresher and then a more advanced treatment of generic types.

After a quick introduction to the Java Time API, students get familiar with the I/O streams model, file handling, and object serialization, and learn to use streams to communicate over network sockets. A two-chapter unit covers multi-threaded programming and concurrency techniques. We look at dynamic typing in Java, in the Reflection API and with dynamic proxies, and understand the underpinnings of source-code annotations.

Finally, several chapters at the end of the course introduce unit-testing and test-driven-development practices. Here for the first time we introduce external libraries -- JUnit, and the Mockito dynamic-mocking library -- and the study is not entirely about technology but leans more into design and good practice.

Learning Objectives

  • Make effective use of Java generic types.
  • Understand the structure of streams in Java, and learn how to use streams to manage file I/O.
  • Learn how to use Java Serialization to internalize and externalize potentially complex graphs of objects.
  • Communicate between processes using network sockets.
  • Write multi-threaded Java applications that safely manage concurrent access to application state.
  • Use the Reflection API and dynamic proxies for highly generic tasks, discovery, or code-generation.
  • Use standard annotations and develop custom annotations to express meta-data in Java source files.
  • Build unit tests for Java classes using JUnit.
  • Write effective tests, and design classes for testability.
  • Understand test-driven development (TDD) and use dynamic mocking to support isolated testing.

Plan szkolenia Rozwiń listę

  1. Generics
    • Using Generics
    • Type Erasure
    • Type Boundaries
    • Wildcards
    • Generic Methods
    • Strengths and Weaknesses of Generics
    • Legacy Code and Generics
  2. The Time API
    • A History of Time ... in Java
    • Limitations of Date and Calendar
    • The Time API
    • Temporal Types
    • Accessors and Adjusters
    • Formatting
    • Decomposition Into Fields
    • Date Arithmetic
    • Managing Precision
    • Duration and Period
    • Time Zones and Offsets
    • Converting Between Time Zones
  3. The Java Streams Model
    • Delegation-Based Stream Model
    • InputStream and OutputStream
    • Media-Based Streams
    • Filtering Streams
    • Readers and Writers
    • Byte-Array Streams
    • String Readers and Writers
    • Closing Streams, Readers and Writers
  4. Working with Files
    • The File Class
    • Modeling Files and Directories
    • File Streams
    • Working with File Systems
    • The Path Interface
    • The Paths and Files Utilities
    • Processing with java.util.stream.Streams
  5. Delegating Streams
    • Buffering
    • Data Streams
    • Push-Back Parsing
    • Byte-Array Streams and String Readers and Writers
  6. Java Serialization
    • The Challenge of Object Serialization
    • Serialization API
    • Serializable Interface
    • ObjectInputStream and ObjectOutputStream
    • The Serialization Engine
    • Transient Fields
    • readObject and writeObject
    • Externalizable Interface
  7. Sockets
    • The OSI Reference Model
    • Network Protocols
    • The Socket Class
    • The ServerSocket Class
    • Connecting Through URL Objects
    • HTTP and Other TCP Servers
    • Datagram Clients and Servers
    • Non-Blocking Sockets
  8. Threads
    • Java Thread Model
    • Creating and Running Threads
    • Manipulating Thread State
    • Thread Synchronization
    • Synchronized Blocks and Methods
    • wait and notify
    • join and sleep
    • Multi-Threading in Servers
  9. Concurrency
    • The Concurrency API
    • Semaphore and Other Synchronizers
    • Concurrent Collections
    • Atomic Operations
    • Executor and ExecutorService
    • Thread Pools
    • Parallel Processing
  10. Reflection
    • Uses for Meta-Data
    • The Reflection API
    • The ClassClass
    • The java.lang.reflect Package
    • Reading Type Information
    • Navigating Inheritance Trees
    • Dynamic Instantiation
    • Dynamic Invocation
    • Reflecting on Generics
  11. Dynamic Proxies
    • The Proxy Pattern
    • Dynamic Proxies in Java
    • Use Cases
    • The InvocationHandler Interface
    • Proxy Classes
  12. Annotations
    • Aspect-Oriented Programming and Java
    • The Annotations Model
    • Annotation Types and Annotations
    • Built-In Annotations
    • Annotations vs. Descriptors (XML)
  13. Automated Unit Testing with JUnit
    • Automated Testing
    • JUnit and Related Tools
    • The @Test Annotation
    • The Assert Class Utility
    • Test Runners
    • Lifecycle Methods
    • Expecting Exceptions
    • Test Suites
  14. Writing Tests
    • Test Granularity
    • Reusing Test Logic
    • Recording and Comparing Output
    • Test Isolation
    • Controlling the Test Environment
    • Managing Dependencies
    • Non-Invasive Testing
    • Designing for Testability
    • Factories
    • Testing and Threads
  15. Test-Driven Development
    • Writing the Test First
    • The TDD Cycle
    • Advantages of TDD
    • Resistance to TDD
    • A Case Study
  16. Mocking
    • Mock Objects in Testing
    • Mock Objects in Test-Driven Development
    • Static vs. Dynamic Mocks
    • Stubbing
    • Verifying
    • Matching and Capturing
    • Using a Spy
    • Partial Mocking
Pobierz konspekt szkolenia w formacie PDF

Dodatkowe informacje

Wymagania

Solid Java programming experience is essential -- especially object-oriented use of the language. Language features and techniques that are integral to some lab exercises include interfaces and abstract classes, threading, generics and collections, and recursive methods. Course 103, "Java Programming," is excellent preparation.

Poziom trudności
Czas trwania 5 dni
Certyfikat

The participants will obtain certificates signed by Capstone Courseware.

Prowadzący

Authorized Capstone Courseware Trainer.

Szkolenia powiązane tematycznieRozwiń listę

Java


Prosimy o wypełnienie poniższego formularza, jeśli chcą Państwo uzyskać więcej informacji o powyższym szkoleniu.






* pola oznaczone (*) są wymagane

Informacje o przetwarzaniu danych przez Compendium – Centrum Edukacyjne Spółka z o.o.

Administratorem danych osobowych jest Compendium – Centrum Edukacyjne Spółka z o.o. z siedzibą w Krakowie, ul. Tatarska 5,30-103 Kraków, e-mail: compendium@compendium.pl

W sprawach związanych z Pani/a danymi można kontaktować się z powołanym Inspektorem Ochrony Danych, e-mail iod@compendium.pl, lub pisząc na adres korespondencyjny Compendium – Centrum Edukacyjne Spółka z o.o. ul. Tatarska 5, 30-103 Kraków

Dane będą przetwarzane w celu przesyłania informacji handlowych, marketingowych oraz przesłaniu newslettera na podstawie wyrażonej zgody.

Dane mogą być udostępniane:

- pracownikom i współpracownikom Compendium – Centrum Edukacyjne Spółka z o.o., którzy muszą mieć dostęp do danych osobowych aby realizować Pani/a zamówienie, lub usługę
- podmioty przetwarzające dane na zlecenie Compendium – Centrum Edukacyjne Spółka z o.o., np. poczta, kurier, przewoźnik profesjonalny,
- uprawnione organy państwowe w tym organy nadzorcze w zakresie ich uprawnień.

Dane będą przechowywane przez okres realizacji zamówienia i usług posprzedażowych, a jeżeli tego okresu ustalić się nie da – do czasu wyrażenia przez Panią/a sprzeciwu.

Ma Pan/i prawo dostępu do swoich danych osobowych, ich sprostowania, usunięcia lub ograniczenia przetwarzania.

Ma Pan/i prawo do wniesienia sprzeciwu wobec dalszego przetwarzania, a w przypadku wyrażenia zgody na przetwarzanie danych do jej wycofania. Skorzystanie prawa cofnięcia zgody nie ma wpływu na przetwarzanie, które miało miejsce do momentu wycofania zgody.

Ma Pan/i także prawo do przenoszenia danych.

Informujemy, że Pana/Pani dane osobowe nie będą profilowane.

Przysługuje Pani/u prawo wniesienia skargi do organu nadzorczego Prezesa Urzędu Ochrony Danych Osobowych, w przypadku przetwarzania Pana/Pani danych osobowych w sposób naruszający przepisy RODO.

CENA 4600 PLN NETTO Czy wiesz, że możesz uzyskać do 100% dofinansowania na ten kurs?   Sprawdź jak »

zamknij

Kody rabatowe

Kod rabatowy, może dotyczyć (szkolenia, producenta, terminu). Jeżeli posiadasz kod rabatowy, to wpisz go w odpowiednie pole.
(kolor zielony oznacza wpisanie prawidłowego kodu | kolor czerwony oznacza, że wpisany kod jest nieprawidłowy)

FORMA SZKOLENIA ?

zamknij

Szkolenie stacjonarne

Szkolenia stacjonarne w Compendium CE odbywają się najczęściej w naszych lokalizacjach w Krakowie i Warszawie, ale także w miejscu ustalonym przez klienta. Grupa uczestnicząca w szkoleniu spotyka się w danym miejscu o określonym czasie i wraz z trenerem aktywnie uczestniczy w laboratoriach.

Szkolenie dlearning

W szkoleniach Compendium Distance Learning możesz uczestniczyć z dowolnego miejsca na świecie. Kursanci, dzięki zaawansowanej technologii, którą dostarcza Compendium CE, stale widzą i słyszą trenera, mogą mu zadawać pytania poprzez chat i mikrofon, a także uczestniczą w ćwiczeniach i laboratoriach, które rozwiązują wraz z prowadzącym. Po więcej informacji zajrzyj na stronę dlearning.eu

MATERIAŁY SZKOLENIOWE ?

zamknij

Materiały papierowe

Materiały tradycyjne: cena zawiera standardowe materiały wydawane w postaci książek papierowych, drukowanych lub innej, w zależności od ustaleń z producentem.

Materiały ctab

Materiały ctab: cena zawiera tablet ctab oraz materiały szkoleniowe w formie elektronicznej bądź tradycyjne materiały szkoleniowe i materiały dodatkowe dostarczone w wersji elektronicznej w zależności od ustaleń z producentem (w postaci dokumentów PDF lub EPUB). Tak dostarczone materiały są przystosowane pod kątem wyświetlania ich na tablecie ctab. Po więcej informacji zajrzyj na stronę ctab.

 

WYBIERZ TERMIN SZKOLENIA

Brak ustalonych terminów dla tego szkolenia.

Zaproponuj własny termin

Najbliższe szkolenia Capstone Courseware

Harmonogram szkoleń
Capstone Courseware