Course Outline
Generics
- Benefits and trade-offs of using Generics
- Understanding Type Erasure
- Type Boundaries
- Wildcards
- Generic Methods
Multithreading
- Overview of the Java Thread System
- Thread Management Techniques
- Interacting with Threads and Managing Thread States
- Thread Synchronization Strategies
- Volatile Fields and Synchronized Methods
- The wait and notify Pattern
- The join and sleep Pattern
- Introduction to the Concurrency API
- Atomic Operations
- Thread Pools
Reflection
- Appropriate Scenarios for Using Reflection
- Utilizing Reflection for Meta-Data Handling
- Introduction to the Reflection API
- The Class Class
- The java.lang.reflect Package
- Reading Type Information
- Navigating Inheritance Hierarchies
- Dynamic Instantiation
- Dynamic Invocation
- Reflecting on Generics
- Accessing Private Fields via Reflection
Annotations
- Aspect-Oriented Programming (AOP)
- Built-In Annotations
- The Annotations Model
- Annotation Types and Custom Annotations
- Annotations vs. Descriptors (XML)
Multi-Process Communication
- Shared Memory Mechanisms
- Sockets
- Non-Blocking Sockets
- TCP Protocol
- URL Objects
- HTTP and Other TCP Servers
- Datagram Clients and Servers
- Implementing Multi-Threading 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 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.