Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the concept of lazy evaluation in Java through this insightful conference talk. Delve into how the introduction of lambdas in Java 8 has enabled the adoption of lazy patterns and data structures typically found in functional programming languages. Examine how streams exemplify laziness in native Java APIs, and discover other scenarios where lazy evaluation offers effective solutions to common problems. Learn how laziness can process potentially infinite data sets and delay expensive computations until necessary. Investigate advanced applications of laziness, such as the reader monad for reducing dependency injection and trampolines for preventing stack overflow in recursive calls. Gain practical knowledge through a combination of slides and live coding sessions, illustrating the implementation and benefits of lazy techniques in Java programming.