Course Outline
Generics
- Rationale, timing, and cost-benefit analysis of Generics
- Type Erasure
- Type Boundaries
- Wildcards
- Generic Methods
Multithreading
- Overview of the Java Thread System
- Managing Threads
- Interacting with Threads and Thread States
- Thread Synchronization
- Volatile Fields and Synchronized Methods
- The wait and notify pattern
- The join and sleep pattern
- Concurrency API
- Atomic Operations
- Thread Pools
Reflection
- Appropriate use cases and pitfalls of reflection
- Applications for Metadata
- The Reflection API
- The Class extends T> and Class> constructs
- The java.lang.reflect Package
- Reading Type Information
- Navigating Inheritance Trees
- Dynamic Instantiation
- Dynamic Invocation
- Reflecting on Generics
- Accessing private fields using reflection
Annotations
- Aspect-Oriented Programming (AOP)
- Built-In Annotations
- The Annotations Model
- Annotation Types and Usage
- Annotations vs. Descriptors (XML)
Multi-process Communication
- Shared Memory
- Sockets
- Non-Blocking Sockets
- TCP
- URL Objects
- HTTP and Other TCP Servers
- Datagram Clients and Servers
- Multithreading in Servers
Requirements
Participants should possess a solid understanding of Java and Object-Oriented Programming (OOP) concepts, including interfaces, inheritance, polymorphism, generics, collections, recursive methods, as well as the practical use of annotations and varargs.
Testimonials (3)
That we got a complex overview also about the context - for example why do we need some annotations and what they mean. I liked the practical part of the training - having to manually run the commands and call the rest api's
Alina - ACCENTURE SERVICES S.R.L
Course - Quarkus for Developers
interaction through exercises and also projects sharing
Claudiu - MSG system
Course - Advanced Spring Boot
The extra information that was shared, the training was not straightforward groovy, which was nice.