Home > Store > Programming > Java

Java SE 8 for the Really Impatient

Register your product to gain access to bonus material or receive a coupon.

Java SE 8 for the Really Impatient

Best Value Purchase

Book + eBook Bundle

  • Your Price: $43.19
  • List Price: $71.98
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

More Purchase Options

Book

  • Your Price: $31.99
  • List Price: $39.99
  • Usually ships in 24 hours.

eBook (Watermarked)

  • Your Price: $25.59
  • List Price: $31.99
  • Includes EPUB, MOBI, and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    MOBI MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.

Description

  • Copyright 2014
  • Dimensions: 7" x 9-1/8"
  • Pages: 240
  • Edition: 1st
  • Book
  • ISBN-10: 0-321-92776-1
  • ISBN-13: 978-0-321-92776-7

Eagerly anticipated by millions of programmers, Java SE 8 is the most important Java update in many years. The addition of lambda expressions (closures) and streams represents the biggest change to Java programming since the introduction of generics and annotations.

Now, with Java SE 8 for the Really Impatient, internationally renowned Java author Cay S. Horstmann concisely introduces Java 8’s most valuable new features (plus a few Java 7 innovations that haven’t gotten the attention they deserve). If you’re an experienced Java programmer, Horstmann’s practical insights and sample code will help you quickly take advantage of these and other Java language and platform improvements. This indispensable guide includes

  • Coverage of using lambda expressions (closures) to write computation “snippets” that can be passed to utility functions
  • The brand-new streams API that makes Java collections far more flexible and efficient
  • Major updates to concurrent programming that make use of lambda expressions (filter/map/reduce) and that provide dramatic performance improvements for shared counters and hash tables
  • A full chapter with advice on how you can put lambda expressions to work in your own programs
  • Coverage of the long-awaited introduction of a well-designed date/time/calendar library (JSR 310)
  • A concise introduction to JavaFX, which is positioned to replace Swing GUIs, and to the Nashorn Javascript engine
  • A thorough discussion of many small library changes that make Java programming more productive and enjoyable

This is the first title to cover all of these highly anticipated improvements and is invaluable for anyone who wants to write tomorrow’s most robust, efficient, and secure Java code. 

Sample Content

Online Sample Chapter

Java SE 8 for the Really Impatient: Programming with Lambdas

Sample Pages

Download the sample pages (includes Chapter 3 and Index)

Table of Contents

Preface xiii
About the Author xv

Chapter 1: Lambda Expressions 1
1.1 Why Lambdas? 2
1.2 The Syntax of Lambda Expressions 4
1.3 Functional Interfaces 6
1.4 Method References 8
1.5 Constructor References 9
1.6 Variable Scope 10
1.7 Default Methods 14
1.8 Static Methods in Interfaces 16
Exercises 18

Chapter 2: The Stream API 21
2.1 From Iteration to Stream Operations 22
2.2 Stream Creation 24
2.3 The filter, map, and flatMap Methods 25
2.4 Extracting Substreams and Combining Streams 26
2.5 Stateful Transformations 27
2.6 Simple Reductions 28
2.7 The Optional Type 29
2.8 Reduction Operations 31
2.9 Collecting Results 33
2.10 Collecting into Maps 34
2.11 Grouping and Partitioning 36
2.12 Primitive Type Streams 39
2.13 Parallel Streams 40
2.14 Functional Interfaces 42
Exercises 44

Chapter 3: Programming with Lambdas 47
3.1 Deferred Execution 48
3.2 Parameters of Lambda Expressions 49
3.3 Choosing a Functional Interface 50
3.4 Returning Functions 53
3.5 Composition 54
3.6 Laziness 56
3.7 Parallelizing Operations 57
3.8 Dealing with Exceptions 58
3.9 Lambdas and Generics 61
3.10 Monadic Operations 63
Exercises 64

Chapter 4: JavaFX 69
4.1 A Brief History of Java GUI Programming 70
4.2 Hello, JavaFX! 71
4.3 Event Handling 72
4.4 JavaFX Properties 73
4.5 Bindings 75
4.6 Layout 80
4.7 FXML 86
4.8 CSS 90
4.9 Animations and Special Effects 91
4.10 Fancy Controls 94
Exercises 97

Chapter 5: The New Date and Time API 101
5.1 The Time Line 102
5.2 Local Dates 104
5.3 Date Adjusters 107
5.4 Local Time 108
5.5 Zoned Time 109
5.6 Formatting and Parsing 112
5.7 Interoperating with Legacy Code 115
Exercises 116

Chapter 6: Concurrency Enhancements 119
6.1 Atomic Values 120
6.2 ConcurrentHashMap Improvements 123
6.3 Parallel Array Operations 128
6.4 Completable Futures 130
Exercises 134

Chapter 7: The Nashorn Javascript Engine 137
7.1 Running Nashorn from the Command Line 138
7.2 Running Nashorn from Java 139
7.3 Invoking Methods 140
7.4 Constructing Objects 141
7.5 Strings 142
7.6 Numbers 143
7.7 Working with Arrays 144
7.8 Lists and Maps 145
7.9 Lambdas 146
7.10 Extending Java Classes and Implementing Java Interfaces 146
7.11 Exceptions 148
7.12 Shell Scripting 148
7.13 Nashorn and JavaFX 152
Exercises 154

Chapter 8: Miscellaneous Goodies 157
8.1 Strings 158
8.2 Number Classes 158
8.3 New Mathematical Functions 159
8.4 Collections 160
8.5 Working with Files 163
8.6 Annotations 167
8.7 Miscellaneous Minor Changes 171
Exercises 174

Chapter 9: Java 7 Features That You May Have Missed 179
9.1 Exception Handling Changes 180
9.2 Working with Files 183
9.3 Implementing the equals, hashCode, and compareTo Methods 188
9.4 Security Requirements 190
9.5 Miscellaneous Changes 193
Exercises 196

Index 199

Updates

Submit Errata

More Information

Buy Together and Save

Total for all: $151.98 Add to cart

ONE MONTH ACCESS!

WITH PURCHASE


Get unlimited 30-day access to thousands of Books & Training Videos about technology, professional development and digital media If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months.