Skip to content
KnowledgeCity

Java Programming Advanced

Learn current development techniques using the modern Java programming language
Preview the first lesson free — get full access to all 29 lessons.
Course: On-Demand
Advanced Provider Scott Stanlick  11 chapters ·  29 Lessons ·  2h 30m  in Arabic, German, English, Spanish, French, Portuguese, Chinese 

Course Description

In this Java Programming Advanced course, you will learn about the myriad advances in the language, without having to scour the internet for clues. The Java language has evolved in many ways, with this course concentrating on the advances most pertinent to software engineers.

From new collection classes and functional programming, efficient thread pool executors, redesigned NIO and date time APIs, to extensions in the type system this course is a full meal. Not only will we discuss the merits of each individual topic, but we’ll also drill down into live coding examples where you can begin to see how the concept manifests itself in working code. Almost every lesson provides coding examples chock full of unit tests that prove the concept is delivering the correct results at runtime.

What You'll Learn

  • Describe the capabilities of the current version of Java, including its version history and type system
  • Apply functional programming with lambdas, functional interfaces, and higher-level functions
  • Build stream pipelines using filtering, mapping, grouping, reducing, ordering, statistics, and limits
  • Manage concurrency with threads, thread life cycles, thread pools, and schedulers
  • Work with the modern file APIs by comparing java.io.File and java.nio.Path for reading, writing, and file metadata
  • Use the new date and time APIs covering time, duration, date, and period

Key Takeaways

  • The course concentrates on the advances in the Java language most pertinent to software engineers, including new collection classes, functional programming, thread pool executors, redesigned NIO and date time APIs, and type system extensions.
  • It contrasts imperative versus declarative programming and introduces lambdas, functional interfaces, and higher-level functions.
  • It covers design patterns, including creational, structural, and behavioral patterns.
  • It compares legacy date and calendar support with the modern date and time APIs covering time, duration, date, and period.
  • Almost every lesson provides live coding examples with unit tests that prove each concept delivers the correct results at runtime.

Frequently Asked Questions

Who is this course for?

The course concentrates on the advances in the Java language most pertinent to software engineers.

What topics does this course cover?

It covers new collection classes and functional programming, efficient thread pool executors, redesigned NIO and date time APIs, extensions in the type system, and design patterns, with lessons ranging from Java version history and type systems to threads, file APIs, and date and time APIs.

Does the course include hands-on coding examples?

Yes. It drills down into live coding examples, and almost every lesson provides coding examples with unit tests that prove the concept delivers the correct results at runtime.

What skills will I gain from this course?

You will assess programming idioms using new libraries and APIs, recognize coding patterns that can take your software to new heights, explain how the new APIs streamline your programming workflows, and identify new approaches to solving recurring software problems.