Beginning Java 8 Language Features

Lambda Expressions, Inner Classes, Threads, I/O, Collections, and Streams

  • Authors
  • Kishori¬†Sharan

Table of contents

  1. Front Matter
    Pages i-xxxi
  2. Kishori Sharan
    Pages 1-40
  3. Kishori Sharan
    Pages 41-74
  4. Kishori Sharan
    Pages 75-102
  5. Kishori Sharan
    Pages 103-122
  6. Kishori Sharan
    Pages 123-171
  7. Kishori Sharan
    Pages 173-279
  8. Kishori Sharan
    Pages 281-358
  9. Kishori Sharan
    Pages 359-387
  10. Kishori Sharan
    Pages 389-422
  11. Kishori Sharan
    Pages 423-483
  12. Kishori Sharan
    Pages 485-517
  13. Kishori Sharan
    Pages 519-595
  14. Kishori Sharan
    Pages 597-657
  15. Back Matter
    Pages 659-670

About this book


Beginning Java 8 Language Features covers essential and advanced features of the Java programming language such as the new lambda expressions (closures), inner classes, threads, I/O, Collections, garbage collection, streams, and more. Author Kishori Sharan provides over 60 diagrams and 290 complete programs to help you visualize and better understand the topics covered in this book.

The book starts with a series of chapters on the essential language features provided by Java, including annotations, inner classes, reflection, and generics. These topics are then complemented by details of how to use lambda expressions, allowing you to build powerful and efficient Java programs. The chapter on threads follows this up and discusses everything from the very basic concepts of a thread to the most advanced topics such as synchronizers, the fork/join framework, and atomic variables.

This book contains unmatched coverage of Java I/O, including NIO 2.0, the Path API, the FileVisitor API, the watch service and asynchronous file I/O. With this in-depth knowledge, your data- and file-management programs will be able to take advantage of every feature of Java's powerful I/O framework.

Finally, you'll learn how to use the Stream API, a new, exciting addition to Java 8, to perform aggregate operations on collections of data elements using functional-style programming. You'll examine the details of stream processing such as creating streams from different data sources, learning the difference between sequential and parallel streams, applying the filter-map-reduce pattern, and dealing with optional values.

Bibliographic information