{"schema_version":"bf_book_companion_v1","release_id":"20261010T034321Z-reviewed-full-unique-works","book":{"amazon_purchase_url":"https://www.amazon.com/dp/1617293563?tag=bookfrontie00-20","asin":"1617293563","authors":["Raoul-Gabriel Urma","Mario Fusco","Alan Mycroft"],"book_id":"9781617293566","canonical_url":"https://bookfrontier.com/books/modern-java-in-action-9781617293566","cover_image_url":"https://img.bookfrontier.com/9781617293566.jpg?v=24b516ac1b2ca967","description":"Summary Manning's bestselling Java 8 book has been revised for Java 9! In Modern Java in Action , you'll build on your existing Java language skills with the newest features and techniques. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Modern applications take advantage of innovative designs, including microservices, reactive architectures, and streaming data. Modern Java features like lambdas, streams, and the long-awaited Java Module System make implementing these designs significantly easier. It's time to upgrade your skills and meet these challenges head on! About the Book Modern Java in Action connects new features of the Java language with their practical applications. Using crystal-clear examples and careful attention to detail, this book respects your time. It will help you expand your existing knowledge of core Java as you master modern additions like the Streams API and the Java Module System, explore new approaches to concurrency, and learn how functional concepts can help you write code that's easier to read and maintain. What's inside - Thoroughly revised edition of Manning's bestselling Java 8 in Action - New features in Java 8, Java 9, and beyond - Streaming data and reactive programming - The Java Module System About the Reader Written for developers familiar with core Java features. About the Author Raoul-Gabriel Urma is CEO of Cambridge Spark. Mario Fusco is a senior software engineer at Red Hat. Alan Mycroft is a University of Cambridge computer science professor; he cofounded the Raspberry Pi Foundation. Table of Contents PART 1 - FUNDAMENTALS - Java 8, 9, 10, and 11: what's happening? - Passing code with behavior parameterization - Lambda expressions PART 2 - FUNCTIONAL-STYLE DATA PROCESSING WITH STREAMS - Introducing streams - Working with streams - Collecting data with streams - Parallel data processing and performance PART 3 - EFFECTIVE PROGRAMMING WITH STREAMS AND LAMBDAS - Collection API enhancements - Refactoring, testing, and debugging - Domain-specific languages using lambdas PART 4 - EVERYDAY JAVA - Using Optional as a better alternative to null - New Date and Time API - Default methods - The Java Module System PART 5 - ENHANCED JAVA CONCURRENCY - Concepts behind CompletableFuture and reactive programming - CompletableFuture: composable asynchronous programming - Reactive programming PART 6 - FUNCTIONAL PROGRAMMING AND FUTURE JAVA EVOLUTION - Thinking functionally - Functional programming techniques - Blending OOP and FP: Comparing Java and Scala - Conclusions and where next for Java","forthcoming":false,"isbn13":"9781617293566","publication_date":"20181115","publisher":"Manning","slug":"modern-java-in-action","subtitle":"Lambdas, Streams, Functional and Reactive Programming","title":"Modern Java in Action"},"discovery":{"categories":{"all":[{"bisac_code":"COM051280","confidence_band":"medium","label":"Java Programming","score":0.8176,"source":"bisac_hint_model"},{"bisac_code":"COM051210","confidence_band":"medium","label":"Object-Oriented Programming","score":0.7953,"source":"bisac_hint_model"},{"bisac_code":"COM051010","confidence_band":"medium","label":"Programming Languages","score":0.7712,"source":"bisac_hint_model"}],"hint":[{"bisac_code":"COM051280","confidence_band":"medium","label":"Java Programming","score":0.8176,"source":"bisac_hint_model"},{"bisac_code":"COM051210","confidence_band":"medium","label":"Object-Oriented Programming","score":0.7953,"source":"bisac_hint_model"},{"bisac_code":"COM051010","confidence_band":"medium","label":"Programming Languages","score":0.7712,"source":"bisac_hint_model"}],"publisher":[{"bisac_code":"COM051210","confidence_band":"high","label":"Object-Oriented Programming","score":1,"source":"onix_publisher_code"},{"bisac_code":"COM051230","confidence_band":"high","label":"Software Development","score":1,"source":"onix_publisher_code"},{"bisac_code":"COM051280","confidence_band":"high","label":"Java Programming","score":1,"source":"onix_publisher_code"}]},"genres":[{"label":"Java Programming","score":0.8176,"slug":"java-programming"},{"label":"Object-Oriented Programming","score":0.7953,"slug":"object-oriented-programming"},{"label":"Programming Languages","score":0.7712,"slug":"programming-languages"}],"reader_fit":["Developers familiar with core Java seeking newer language features"],"related_lists":[],"series":null,"similar_books":[{"authors":["Joshua Bloch"],"book_id":"9780134685991","cover_image_url":"https://img.bookfrontier.com/9780134685991.jpg?v=5735bc9d90fb1576","score":0.7801,"title":"Effective Java","url":"https://bookfrontier.com/books/9780134685991"},{"authors":["Benjamin Evans","David Flanagan"],"book_id":"9781492037255","cover_image_url":"https://img.bookfrontier.com/9781492037255.jpg?v=2acafdbfccbfb8fc","score":0.7354,"title":"Java in a Nutshell","url":"https://bookfrontier.com/books/9781492037255"},{"authors":["Bear Bibeault","Yehuda Katz","Aurelio De Rosa"],"book_id":"9781617292071","cover_image_url":"https://img.bookfrontier.com/9781617292071.jpg?v=23343b3fd2f4cc4a","score":0.7314,"title":"Jquery in Action","url":"https://bookfrontier.com/books/9781617292071"},{"authors":["Cay S. Horstmann"],"book_id":"9780135404546","cover_image_url":"https://img.bookfrontier.com/9780135404546.jpg?v=977655c02be5472a","score":0.7311,"title":"Core Java for the Impatient","url":"https://bookfrontier.com/books/9780135404546"},{"authors":["Marc Loy","Patrick Niemeyer","Daniel Leuck"],"book_id":"9781492056270","cover_image_url":"https://img.bookfrontier.com/9781492056270.jpg?v=722c35ff6b6e47b9","score":0.7182,"title":"Learning Java","url":"https://bookfrontier.com/books/9781492056270"},{"authors":["Brian Goetz","Tim Peierls","Joshua Bloch","Joseph Bowbeer"],"book_id":"9780321349606","cover_image_url":"https://img.bookfrontier.com/9780321349606.jpg?v=9b1275a03c5d539a","score":0.7137,"title":"Java Concurrency in Practice","url":"https://bookfrontier.com/books/9780321349606"},{"authors":["Sebastian Aigner","Roman Elizarov","Svetlana Isakova","Dmitry Jemerov"],"book_id":"9781617299605","cover_image_url":"https://img.bookfrontier.com/9781617299605.jpg?v=b3bc77e3005e180c","score":0.7083,"title":"Kotlin in Action, Second Edition","url":"https://bookfrontier.com/books/9781617299605"},{"authors":["Marijn Haverbeke"],"book_id":"9781593279509","cover_image_url":"https://img.bookfrontier.com/9781593279509.jpg?v=c4a52e72b3ee91f3","score":0.7036,"title":"Eloquent Javascript, 3rd Edition","url":"https://bookfrontier.com/books/9781593279509"}],"topics":[],"what_you_get":["Themes: Functional programming, Java stream processing, Reactive programming.","Reading lane: Java Programming and Object Oriented Programming.","Publisher: Manning."]},"llm_signals":{"confidence":0.98,"pacing":"unknown","reader_fit":["Developers familiar with core Java seeking newer language features"],"themes":["Functional programming","Java stream processing","Reactive programming"],"tropes":[]},"source_presence":{"amazon":true,"book_detail":true,"goodreads":true,"llm_signals":true,"similarity_seed":true},"stats":{"amazon_ratings_count":208,"goodreads_ratings_count":711,"goodreads_reviews_count":84,"quality_score":0.9192}}