- Review the fundamental of thread programming, lock usage,
- Learn some advanced topics for concurrent programming, such as Java Memory Model, JVM IO/NIO mechanism etc.
- Learn in practice: Fork/Join Framework
- Learn in practice: Concurrent Collections
- Learn in practice: how to do testing for concurrent applications.
- Learn in practice: Java Asynchronous Programming (Future, FutureTask, Guava.ListenableFuture, Java8.CompletableFuture, etc.)
- Learn in practice: use RxJava/Reactor for Java Reactive Programming.
- One technical talk to present the learning and practice.