This website uses cookies to ensure you get the best experience on our website. Learn more

Parallel and Asynchronous Programming with Streams and CompletableFuture with Venkat Subramaniam

x

Parallel and Asynchronous Programming with Streams and CompletableFuture with Venkat Subramaniam

Java 8 makes it relatively easy to program with parallel streams and to implement asynchronous tasks using CompletableFuture. When someone says it’s easy, cautious programmers ask “What’s the catch?” Well, of course, that’s one of the major topic we’ll address in this deep dive session. We will start with a fast introduction to parallel and asynchronous programming with Java 8 and quickly delve into the gotchas, when to use these facilities, when to avoid them, and how and where to put them to good use.
x

Parallel and Asynchronous Programming with Streams and CompletableFuture by Venkat Subramaniam

Subscribe to Devoxx on YouTube @
Like Devoxx on Facebook @
Follow Devoxx on Twitter @

Java 8 makes it relatively easy to program with parallel streams and to implement asynchronous tasks using CompletableFuture. When someone says it’s easy, cautious programmers ask “What’s the catch?” Well, of course, that’s one of the major topic we’ll address in this deep dive session. We will start with a fast introduction to parallel and asynchronous programming with Java 8 and quickly delve into the gotchas, when to use these facilities, when to avoid them, and how and where to put them to good use.

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects.

Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com. You can reach him by email at venkats@agiledeveloper.com or on twitter at @venkat_s
x

CompletableFuture: The Promises of Java

Venkat Subramaniam, President, Agile Developer, Inc.

Traditionally Java has supported multithreading, and asynchronous programming in Java is a bit of novelty. Java 8 introduced CompletableFuture to bring the features that JavaScript promises to the Java universe. In this session, you will learn about CompletableFuture and how to make use of it.
x

Parallel Streams, CompletableFuture, and All That: Concurrency in Java 8

Kenneth Kousen, President, Kousen IT, Inc.

The Java 8 (and 9) standard library includes multiple techniques for taking advantage of parallelism and concurrency, including parallel streams and the CompletableFuture class. Combined with the ExecutorService and other classes from java.util.concurrent, they give developers a wide range of choices for optimizing program speed. This session reviews the options and trade-offs involved.
x

Get a Taste of Lambdas and Get Addicted to Streams by Venkat Subramaniam

Subscribe to Devoxx on YouTube @
Like Devoxx on Facebook @
Follow Devoxx on Twitter @

The first thing visible in Java 8 is the lambdas, but the real power is in Streams. If you're interested in immersing into lambdas and streams, this is the session for you. We will start with lambda expressions, learn about how to use them and how they get implemented under the hood. Then we will swiftly move into learning about streams, the abstractions they provide, and a variety of operations we can do with them. We will conclude with a discussion about lazy evaluations, infinite streams, and parallel collections.

Programming with Streams in Java 8 | Venkat Subramaniam

We all have heard about lambda expressions in Java 8, but the real unsung heroes of Java 8 are the streams. This presentation takes an example-driven approach to explore streams, their core capabilities from the application development point of view, and how to explore these capabilities to improve performance and efficiency.


Author:
Venkat Subramaniam
Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston.

He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects.

Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions.
View more trainings by Venkat Subramaniam at

Find more related tutorials at

Venkat Subramaniam, 2019 Groundbreaker Award Winner

Meet Venkat Subramaniam, recipient of the 2019 Groundbreaker Award presented by Oracle. See what he has to say on groundbreaking technology trends of augmented reality and how developers are bringing that future a little bit closer to us.

Functional Programming with Java 8 by Venkat Subramaniam

Subscribe to Devoxx on YouTube @
Like Devoxx on Facebook @
Follow Devoxx on Twitter @

Java 8 is the most significant change to the language since it's introduction, surpassing changes seen in any of the previous versions. It is not merely syntactical change or addition of a few extra features, it's a paradigm shift. Come to this presentation to learn about the power and capabilities of functional programming using Java 8 and how to benefit from those when building Java applications.

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects.

Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com. You can reach him by email at venkats@agiledeveloper.com or on twitter at @venkat_s

Think Async in Java 8 by Dmitry Aleksandrov

We will observe the evolution on asynchronous approaches in Java. We will come to the concept of Reactive programming. We will observe the necessary historical infrastructure evolved starting from the early Java. We then will learn how to use the new but forgotten Java 8 out of the box API CompletableFuture for reactive approach in java programming and unlock a better multithreading performance in intuitive way.

Dmitry Aleksandrov
Currently Principal Expert-Developer at T-Systems, Bulgarian JUG co-lead, conference co-org. Over one decade experience in Java Enterprise in areas like Banking, Insurance and Telecoms. But still very interested in dynamic languages on JVM and massive computations.

Java 9 and Beyond by Venkat Subramaniam

Java is evolving at a rapid pace. While Java 8 introduced the most significant change to the JDK and the language, each release of Java since then has added some distinctive features both to the core language and the JDK.

In this session we will dive into the significant changes to Java from Java 9 to the latest version.

We will take an example oriented approach to look into the features, discuss the pros and cons of using them.

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, and an instructional professor at the University of Houston.
He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects.

Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com.
x

Asynchronous programming in Java 8: how to use CompletableFuture by José Paumard

Subscribe to Devoxx on YouTube @
Like Devoxx on Facebook @
Follow Devoxx on Twitter @

Java 8 saw the introduction of a new API to handle asynchronous patterns. This API is built on two elements: the CompletionStage interface and the CompletableFuture class. This presentation aims to explain how the patterns introduced by this interface and it implementing class are new to the Java platform, and how they fill the gap in the old Future patterns. The different models are precisely presented: how to create complex asynchronous processing pipelines, how to deal with exceptions, how to test such a complex code. Many examples are shown, from the classical question of remote service access to testing asynchronous REST Service. We will show the new patterns introduced to chain asynchronous operations and how to deal with special threads, especialy in GUI environments. We will also describe new ideas in CDI: asynchronous events.

Exploring Collectors by Venkat Subramaniam

One of the most intriguing classes in the JDK is the Collectors utility class, with a collection of some highly powerful functions that are useful during the reduce operation of streams.

The functions that are in this class have so much to offer and yet, due to their complex nature, often are not used as much as they should be. Using well defined live coded examples, we will take up several common programming problems.

Discuss them quickly and drive the implementation of these using the Collectors methods. By the end of this presentation you will know more throughly the power of Collectors and how to apply the methods in there.

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, and an instructional professor at the University of Houston.
He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects.

Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com.

Java Streams vs Reactive Streams: Which, When, How, and Why? by Venkat Subramaniam

Java 8 introduced Streams and Java 9 now has Reactive API. Which one should we choose, when should we choose them, why, and how to use one vs. the other. This session will answer all those questions, by diving deep into the APIs using live code examples.

Venkat Subramaniam
From Agile Developer, Inc.
Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, and an instructional professor at the University of Houston.

He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with sustainable agile practices on their software projects.

Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com.

Introduction to Java 8 ParallelStream

In this video tutorial you will learn what is ParallelStream in java8 and way to create ParallelStream using a demo project.
Below is the GitHub link to download source Code:

The Power and Perils of Parallel Streams

Venkat Subramaniam, President, Agile Developer, Inc.

“If streams can be parallel, why not make them parallel all the time?” is a common question from developers being introduced to Java 8 streams. This session tackles three separate topics:
1. When to consider parallelization and when not to
2. How to parallelize, how to decide on the number of threads, and how to control the threads pool
3. Some common mistakes people make when using parallel streams

The goal of the session is to explain when and how to make good use of parallel streams.
x

Asynchronous API with CompletableFuture: Performance Tips and Tricks

Sergey Kuksenko, Oracle

Since Java 8, CompletableFuture has enabled asynchronous, future-based programming in Java and is one of the most powerful features suitable for creating asynchronous APIs. This presentation, based on real project experience, goes beyond the CompletableFuture public API. It reveals internal details and shows who stands to benefit from it for better performance.

Using Java CompletionStage in Asynchronous Programming

Kuassi Mensah, Director, Product Management, Oracle
Douglas Surber, CMTS, Oracle

Java 8 introduced java.util.concurrent.CompletionStage and its concrete implementation, CompletableFuture. These types represent the notion of a monad, a design pattern useful in constructing asynchronous programs, among many other uses. This session demonstrates the use of CompletionStage in asynchronous code, using examples based on ADBA (the proposed Asynchronous Database Access standard) and AoJ (ADBA over JDBC). The session includes a live demo of ADBA.

Running Multiple Futures in Parallel in java 8 | CompletableFuture

In this video tutorial we will learn how to run Multiple Futures in Parallel in java 8 using a demo project.
Below is the GitHub link to download source

Venkat Subramaniam Explains Java Modules: Why and How

What's a module, why do we need them, how do we use them?

Fundamentally, Java modules were not created for you and me, they were created to make the Java programming language itself modular. If you ever wake up in the middle of the night and say I wish I had it, it is there waiting for you... in a module.

Dr. Venkat Subramaniam is known for his contagious enthusiasm for software development. As a truly polyglot programmer, he believes in mastering technologies that improve robustness and productivity, irrespective of their source, and putting them to effective use.

An award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston, Venkat has mentored tens of thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects.

Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Programming Kotlin: Create Elegant, Expressive, and Performant JVM and Android Applications. Venkat is a well-recognized person in the software communities. He was once a recipient of the MicroSoft MVP award. He has received JavaOne RockStar award three years in a row and was inducted into the Java Champions program in 2013 for his efforts in motivating and inspiring software developers around the world.

Venkat has been in the training, consulting, and mentoring business since 1996. He is recognized for his pragmatic approach, dislike for accidental complexity, continuous effort to seek minimalistic design, and simpler solutions.

Prior to starting his own company, Venkat worked in various positions, from Programmer Analyst to Systems Architect, at organizations like Halliburton, Raytheon, and Invensys.

Over the past two decades, many organizations around the world have sought consulting and mentoring services of our organization. Some of our clients include Accelinnova, Aspen Technologies, Baylor College of Medicine, Beachbody, Bechtel, Best Buy, CME Group, Careworks, Consid, Energy Transfer, Fugro Chance, GE Health, Gilt, Halliburton, Idera, Invensys, Mentor Graphics, Nationwide, Neiman Marcus, NetIQ, Nike, Nokia, Perceptive, Pitney Bowes, Roche, Schlumberger, Seismic Micro, State of Georgia, Tideworks Technologies, and the US Government.





#java
#javamodules
#softwaredevelopment

A Few Hidden Treasures in Java 8

From master presenter and rock star Venkat Subramaniam: Sure, Java 8 has lambdas and streams, but the JDK has gone through a significant makeover to make good use of lambdas and streams. Furthermore, some of the new functional interfaces have far more than abstract methods. This presentation goes beyond lambdas and streams and takes a look at some of the fun-filled, useful elements of the JDK that will help us make better use of lambdas and streams.

Blog:

Chapters:
String joining -
Static interface methods -
Default methods -
Sorting collections of objects -
Grouping -
Combining predicates and functions -
Map’s convenience functions -
Parallelizing streams -

Shares

x

Check Also

x

Menu