The best Java programs combine excellent software designs with modern language features. This course will teach you some lesser known features of Java, such as functional programming, I/O, serialization, and reflection. Strengthen your software design intuition by exploring the design ideas that underpin understandable, extensible and scalable software systems. Learn the basic concepts and techniques of concurrent programming in Java, so your programs can take advantage of modern, multi-core hardware.
Overview
Syllabus
- Introduction to Advanced Java Programming Techniques
- In this lesson, you'll be introduced to the course and what to expect!
- Functional Programming in Java
- In this lesson, you'll learn how to implement lambdas, functional interfaces, and other Java functional programming tools.
- Working with Files & I/O
- In this lesson, you'll learn how to use files and streams in Java.
- Design Patterns
- In this lesson, you'll learn about common design patterns and when to use them.
- Reflection
- In this lesson, you'll learn reflection, the ability of a program to examine its own structure at runtime.
- Introduction to Concurrent Programming
- In this lesson, you'll be introduced to concurrency and threading in Java.
- Parallel Web Crawler
- In this lesson, you will create a parallel web crawler to replace legacy code at a large company.
Taught by
Dustin Hellstern