Official Oracle Curriculum
This is a second-level course for programmers learning the Java language. It rounds-out the topics that were taught in the previous course, Java SE: Programming I, and provides additional key skills for Java programmers, such as secure coding, modular programming, and database access.
This course uses today's main Java version for its practices (currently Java 11).
Java SE: Programming I
Functional Programming
Modular Programming
Streams and Parallel Streams
Java API Programming and Secure Coding Concepts
Collections and Generics
Exception Handling and Assertions