Core Java for the impatient

Bibliographic Information

Core Java for the impatient

Cay S. Horstmann

(Always learning)

Addison Wesley, c2015

  • : pbk

Search this Book/Journal
Note

Includes index

" Covers Java SE8 "--cover

Description and Table of Contents

Description

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 (R) 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 (TM), 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.

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

by "Nielsen BookData"

Related Books: 1-1 of 1
Details
Page Top