- System Library Essential Classes: theory 2 h, practice 2 h
- System
- Math
- Object
- Strings
- Primitive Wrapper Class
- Working with Regular Expressions
- Properties
2. Input-Output: theory 3 h, practice 5 h
- I/O class library
- Networking
- Formatting Output
3. Threads: theory 3 h, practice 7 h
- Thread
- Thread control
- Critical sections
- Thread control in critical section
- Synchronization primitives library java.util.concurrent
4. Collections: theory 1.5 h, practice 3.5 h
- Overview of collection API
- Collections
- Set
- Map
- Applicability of various data structures in different situations
- Collection elements comparison mechanism
- Synchronized and unsynchronized collections
- The Reflection API: theory 0.5 h, practice 0.75 h
- Creating new class instances with the Reflection API
- Introspection on class fields
- Introspection on class methods
6. Annotations: theory 0.5 h, practice 1 h
- Using Annotations
- Standard Annotations
- Custom Annotations
7. Java 8 Lambda Expressions: theory 1.75 h, practice 1 h
- Introduction to “Lambda Expressions”
- The lambda syntax
- Functional interfaces
- Method references
- Constructor references
8. Streams and Collectors: theory 1.5 h, practice 3.5 h
- Introduction: map / filter / reduce
- What is a « Stream »
- Patterns to build a Stream
- Operations on a Stream
- Optionals
- Collectors
9. Java 8 Date and Time API: theory 0.75 h, practice 1.75 h
- Problems with Date and Time classes in Java 7
- Design Principles of Java 8 Date and Time API
- Java 8 Date Time classes
- Java 8 Date Time enums
- Period and duration
- Date API utilities
- Temporal adjusters
Total: theory 14,5h (36%), practice 25,5h (64%)