In recent times, programmers have started realizing the benefits of functional programming and are beginning to rediscover the powerful style of this programming paradigm. Java has also realized its advantages and is slowly inching towards it. Taking a simple scenario where a need arises of handling a task asynchronously, the role of asynchronous programming comes into the picture. In these slides, you will have its deep understanding with some examples along with the comparison with Scala.