Home > Store

Core Java for the Impatient

Core Java for the Impatient

eBook (Watermarked)

  • Your Price: $31.99
  • List Price: $39.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 discreetly watermarking it with your name, making it uniquely yours.

Also available in other formats.

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

Description

  • Copyright 2015
  • Dimensions: 7" x 9-1/8"
  • Pages: 512
  • Edition: 1st
  • eBook (Watermarked)
  • ISBN-10: 0-13-379155-6
  • ISBN-13: 978-0-13-379155-6

The release of Java SE 8 introduced significant enhancements that impact the Core Java technologies and APIs at the heart of the Java platform. Many old Java idioms are no longer required and new features like lambda expressions will increase programmer productivity, but navigating these changes can be challenging.

Core Java® for the Impatient is a complete but concise guide to Java SE 8. Written by Cay Horstmann—the author of Java SE 8 for the Really Impatient and Core Java™, the classic, two-volume introduction to the Java language—this indispensable new tutorial offers a faster, easier pathway for learning the language and libraries. Given the size of the language and the scope of the new features introduced in Java SE 8, there’s plenty of material to cover, but it’s presented in small chunks organized for quick access and easy understanding.

If you’re an experienced programmer, Horstmann’s practical insights and sample code will help you quickly take advantage of lambda expressions (closures), streams, and other Java language and platform improvements. Horstmann covers everything developers need to know about modern Java, including 

  • Crisp and effective coverage of lambda expressions, enabling you to express actions with a concise syntax
  • A thorough introduction to the new streams API, which makes working with data far more flexible and efficient
  • A treatment of concurrent programming that encourages you to design your programs in terms of cooperating tasks instead of low-level threads and locks
  • Up-to-date coverage of new libraries like Date and Time
  • Other new features that will be especially valuable for server-side or mobile programmers 

Whether you are just getting started with modern Java or are an experienced developer, this guide will be invaluable for anyone who wants to write tomorrow’s most robust, efficient, and secure Java code.

Sample Content

Table of Contents

Preface xxi

Acknowledgments xxiii

About the Author xxv

Chapter 1: Fundamental Programming Structures 1

1.1 Our First Program 2

1.2 Primitive Types 7

1.3 Variables 10

1.4 Arithmetic Operations 13

1.5 Strings 20

1.6 Input and Output 26

1.7 Control Flow 30

1.8 Arrays and Array Lists 37

1.9 Functional Decomposition 46

Exercises 49

Chapter 2: Object-Oriented Programming 53

2.1 Working with Objects 54

2.2 Implementing Classes 58

2.3 Object Construction 63

2.4 Static Variables and Methods 68

2.5 Packages 72

2.6 Nested Classes 79

2.7 Documentation Comments 84

Exercises 89

Chapter 3: Interfaces and Lambda Expressions 93

3.1 Interfaces 94

3.2 Static and Default Methods 99

3.3 Examples of Interfaces 102

3.4 Lambda Expressions 107

3.5 Method and Constructor References 110

3.6 Processing Lambda Expressions 112

3.7 Lambda Expressions and Variable Scope 116

3.8 Higher-Order Functions 120

3.9 Local Inner Classes 122

Exercises 124

Chapter 4: Inheritance and Reflection 127

4.1 Extending a Class 128

4.2 Object: The Cosmic Superclass 137

4.3 Enumerations 147

4.4 Runtime Type Information and Resources 151

4.5 Reflection 160

Exercises 169

Chapter 5: Exceptions, Assertions, and Logging 173

5.1 Exception Handling 174

5.2 Assertions 185

5.3 Logging 187

Exercises 194

Chapter 6: Generic Programming 199

6.1 Generic Classes 200

6.2 Generic Methods 201

6.3 Type Bounds 202

6.4 Type Variance and Wildcards 203

6.5 Generics in the Java Virtual Machine 208

6.6 Restrictions on Generics 211

6.7 Reflection and Generics 218

Exercises 221

Chapter 7: Collections 227

7.1 An Overview of the Collections Framework 228

7.2 Iterators 232

7.3 Sets 233

7.4 Maps 235

7.5 Other Collections 238

7.6 Views 244

Chapter 8: Streams 249

8.1 From Iterating to Stream Operations 250

8.2 Stream Creation 251

8.3 The filter, map, and flatMap Methods 252

8.4 Extracting Substreams and Combining Streams 254

8.5 Other Stream Transformations 254

8.6 Simple Reductions 255

8.7 The Optional Type 256

8.8 Collecting Results 259

8.9 Collecting into Maps 260

8.10 Grouping and Partitioning 262

8.11 Downstream Collectors 262

8.12 Reduction Operations 264

8.13 Primitive Type Streams 266

8.14 Parallel Streams 267

Exercises 269

Chapter 9: Processing Input and Output 273

9.1 Input/Output Streams, Readers, and Writers 274

9.2 Paths, Files, and Directories 284

9.3 URL Connections 292

9.4 Regular Expressions 293

9.5 Serialization 301

Exercises 307

Chapter 10: Concurrent Programming 311

10.1 Concurrent Tasks 312

10.2 Thread Safety 317

10.3 Parallel Algorithms 323

10.4 Threadsafe Data Structures 324

10.5 Atomic Values 329

10.6 Locks 331

10.7 Threads 337

10.8 Asynchronous Computations 341

10.9 Processes 345

Exercises 348

Chapter 11: Annotations 355

11.1 Using Annotations 356

11.2 Defining Annotations 361

11.3 Standard Annotations 364

11.4 Processing Annotations at Runtime 368

11.5 Source-Level Annotation Processing 371

Exercises 376

Chapter 12: The Date and Time API 379

12.1 The Time Line 380

12.2 Local Dates 382

12.3 Date Adjusters 385

12.4 Local Time 386

12.5 Zoned Time 387

12.6 Formatting and Parsing 390

12.7 Interoperating with Legacy Code 393

Exercises 394

Chapter 13: Internationalization 397

13.1 Locales 398

13.2 Number Formats 403

13.3 Currencies 403

13.4 Date and Time Formatting 404

13.5 Collation and Normalization 406

13.6 Message Formatting 408

13.7 Resource Bundles 410

13.8 Character Encodings 413

13.9 Preferences 413

Exercises 415

Chapter 14: Compiling and Scripting 419

14.1 The Compiler API 420

14.2 The Scripting API 424

14.3 The Nashorn Scripting Engine 428

14.4 Shell Scripting with Nashorn 437

Exercises 440

Index 443

Updates

Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership