چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Java 8 in action : lambdas, streams, and functional-style programming

Raoul-Gabriel Urma; Mario Fusco; Alan Mycroft; Safari, an O'Reilly Media Company

قیمت نهایی

۴۴٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۰٪ تخفیف
  • تخفیف زمان‌دار−۵٬۰۰۰ تومان

۵٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۲۰۱۵
فرمت
PDF
زبان
انگلیسی
حجم فایل
۲٫۸ مگابایت

دربارهٔ کتاب

**Summary** __Java 8 in Action__ is a clearly written guide to the new features of Java 8. The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig in! Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. **About the Book** Every new version of Java is important, but Java 8 is a game changer. __Java 8 in Action__ is a clearly written guide to the new features of Java 8. It begins with a practical introduction to lambdas, using real-world Java code. Next, it covers the new Streams API and shows how you can use it to make collection-based code radically easier to understand and maintain. It also explains other major Java 8 features including default methods, Optional, CompletableFuture, and the new Date and Time API. This book is written for programmers familiar with Java and basic OO programming. **What's Inside** * How to use Java 8's powerful new features * Writing effective multicore-ready applications * Refactoring, testing, and debugging * Adopting functional-style programming * Quizzes and quick-check questions **About the Authors** **Raoul-Gabriel Urma** is a software engineer, speaker, trainer, and PhD candidate at the University of Cambridge. **Mario Fusco** is an engineer at Red Hat and creator of the lambdaj library. **Alan Mycroft** is a professor at Cambridge and cofounder of the Raspberry Pi Foundation. **Table of Contents** ## PART 1 FUNDAMENTALS 2. Java 8: why should you care? 3. Passing code with behavior parameterization 4. Lambda expressions ## PART 2 FUNCTIONAL-STYLE DATA PROCESSING 6. Introducing streams 7. Working with streams 8. Collecting data with streams 9. Parallel data processing and performance## PART 3 EFFECTIVE JAVA 8 PROGRAMMING 10. Refactoring, testing, and debugging 11. Default methods 12. Using Optional as a better alternative to null 13. CompletableFuture: composable asynchronousprogramming 14. New Date and Time API ## PART 4 BEYOND JAVA 8 16. Thinking functionally 17. Functional programming techniques 18. Blending OOP and FP: comparing Java 8 and Scala 19. Conclusions and where next for Java ## APPENDIXES 21. Miscellaneous language updates 22. Miscellaneous library updates 23. Performing multiple operations in parallelon a stream 24. Lambdas and JVM bytecode brief contents......Page 3 contents......Page 5 preface......Page 13 about this book......Page 15 --- Fundamentals......Page 19 Java 8: why should you care?......Page 20 Why is Java still changing?......Page 22 Functions in Java......Page 28 Streams......Page 33 Default methods......Page 37 Other good ideas from functional programming......Page 38 Summary......Page 40 Passing code with behavior parameterization......Page 41 Coping with changing requirements......Page 42 Behavior parameterization......Page 44 Tackling verbosity......Page 49 Real-world examples......Page 53 Summary......Page 55 Lambda expressions......Page 56 Lambdas in a nutshell......Page 57 Where and how to use lambdas......Page 60 Putting lambdas into practice: the execute around pattern......Page 64 Using functional interfaces......Page 67 Type checking, type inference, and restrictions......Page 73 Method references......Page 77 Putting lambdas and method references into practice!......Page 82 Useful methods to compose lambda expressions......Page 84 Similar ideas from mathematics......Page 87 Summary......Page 89 --- Functional-Style Data Processing......Page 91 Introducing streams......Page 92 What are streams?......Page 93 Getting started with streams......Page 96 Streams vs. collections......Page 99 Stream operations......Page 103 Summary......Page 106 Working with streams......Page 107 Filtering and slicing......Page 108 Mapping......Page 111 Finding and matching......Page 115 Reducing......Page 118 Putting it all into practice......Page 123 Numeric streams......Page 127 Building streams......Page 132 Summary......Page 136 Collecting data with streams......Page 138 Collectors in a nutshell......Page 140 Reducing and summarizing......Page 141 Grouping......Page 149 Partitioning......Page 155 The Collector interface......Page 160 Developing your own collector for better performance......Page 166 Summary......Page 171 Parallel data processing and performance......Page 173 Parallel streams......Page 174 The fork/join framework......Page 183 Spliterator......Page 189 Summary......Page 197 --- Effective Java 8 Programming......Page 198 Refactoring, testing & debugging......Page 199 Refactoring for improved readability and flexibility......Page 200 Refactoring object-oriented design patterns with lambdas......Page 206 Testing lambdas......Page 214 Debugging......Page 217 Summary......Page 220 Default methods......Page 221 Evolving APIs......Page 224 Default methods in a nutshell......Page 227 Usage patterns for default methods......Page 229 Resolution rules......Page 233 Summary......Page 238 Optional as better Alternative to null......Page 239 How do you model the absence of a value?......Page 240 Introducing the Optional class......Page 244 Patterns for adopting Optional......Page 245 Practical examples of using Optional......Page 254 Summary......Page 257 Composable Asynchronous Programming......Page 259 Futures......Page 261 Implementing an asynchronous API......Page 264 Make your code non-blocking......Page 268 Pipelining asynchronous tasks......Page 275 Reacting to a CompletableFuture completion......Page 283 Summary......Page 286 New Date & Time API......Page 287 LocalDate, LocalTime, Instant, Duration, and Period......Page 288 Manipulating, parsing, and formatting dates......Page 293 Working with different time zones and calendars......Page 299 Summary......Page 301 --- Beyond Java 8......Page 303 Thinking functionally......Page 304 Implementing and maintaining systems......Page 305 What’s functional programming?......Page 307 Recursion vs. iteration......Page 313 Summary......Page 317 Functional programming techniques......Page 318 Functions everywhere......Page 319 Persistent data structures......Page 322 Lazy evaluation with streams......Page 327 Pattern matching......Page 334 Miscellany......Page 338 Summary......Page 341 Blending OOP & FP - comparing Java 8 & Scala......Page 342 Introduction to Scala......Page 343 Functions......Page 350 Classes and traits......Page 354 Summary......Page 356 Review of Java 8 features......Page 357 What’s ahead for Java?......Page 361 The final word......Page 370 A.1 Annotations......Page 371 A.2 Generalized target-type inference......Page 374 B.1 Collections......Page 375 B.2 Concurrency......Page 378 B.3 Arrays......Page 380 B.4 Number and Math......Page 381 B.7 String......Page 382 Performing multiple operations in parallel on Stream......Page 383 C.1 Forking a stream......Page 384 C.2 Performance considerations......Page 391 D.1 Anonymous classes......Page 392 D.2 Bytecode generation......Page 393 D.3 InvokeDynamic to the rescue......Page 394 D.4 Code-generation strategies......Page 395 Index......Page 397 "A great and concise guide to what's new in Java8, with plenty of examples to get you going in a hurry." Jason Lee, Oracle Java 8 in Action is a clearly written guide to the features of Java 8. It begins with a practical introduction to lambdas, using real-world Java code. Next, it covers the new Streams API and shows how you can use it to make collection-based code radically easier to understand and maintain. It also explains other major Java 8 features including default methods, Optional, CompletableFuture, and the new Date and Time API. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig in! Inside: How to use Java 8's powerful features Writing effective multicore-ready applications Refactoring, testing, and debugging Adopting functional-style programming Quizzes and quick-check questions This book/course is made for programmers familiar with Java and basic OO programming. Raoul-Gabriel Urma is a software engineer, speaker, trainer, and PhD candidate at the University of Cambridge. Mario Fusco is an engineer at Red Hat and creator of the lambdaj library. Alan Mycroft is a professor at Cambridge and cofounder of the Raspberry Pi Foundation. The best guide to Java8 that will ever be written! William Wheeler, ProData Computer Systems The new Streams API and lambda examples are especially useful. Steve Rogers, CGTek, Inc. A must-have to get functional with Java 8. Mayur S. Patil, MIT Academy of Engineering NARRATED BY EZRA SIMELOFF Java 8 in Action is a clearly written guide to to the new features of Java 8. The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig in! Summary About the Book Every new version of Java is important, but Java 8 is a game changer. Java 8 in Action is a clearly written guide to the new features of Java 8. It begins with a practical introduction to lambdas, using real-world Java code. Next, it covers the new Streams API and shows how you can use it to make collection-based code radically easier to understand and maintain. It also explains other major Java 8 features including default methods, Optional, CompletableFuture, and the new Date and Time API. This book is written for programmers familiar with Java and basic OO programming. What's Inside How to use Java 8's powerful new features Writing effective multicore-ready applications Refactoring, testing, and debugging Adopting functional-style programming Quizzes and quick-check questions About the Authors Raoul-Gabriel Urma is a software engineer, speaker, trainer, and PhD candidate at the University of Cambridge. Mario Fusco is an engineer at Red Hat and creator of the lambdaj library. Alan Mycroft is a professor at Cambridge and cofounder of the Raspberry Pi Foundation.

قیمت نهایی

۴۴٬۰۰۰ تومان