This Java Programming 2 - Java Advanced Developer course helps experienced developers expand their use of Java across more demanding software environments. You’ll work with advanced language features including generics, streams, concurrency, modules, annotations, reflection and secure coding. The course also helps you apply stronger design, maintainability and problem-solving skills in day-to-day development work, and supports your preparation for Oracle Certified Professional Java exams.