Java in a Nutshell: A Desktop Quick Reference
This updated edition of the Nutshell guide not only helps experienced Java programmers get the most out of versions through Java 17, it also serves as a learning path for new developers. Chock-full of examples that demonstrate how to take complete advantage of modern Java APIs and development best practices, this thoroughly revised book includes new material on recent enhancements to the Java object model that every developer should know about.

The first section provides a fast-paced, no-fluff introduction to the Java programming language and the core runtime aspects of the Java platform. The second section is a reference to core concepts and APIs that explains how to perform real programming work in the Java environment.

  • Get up to speed on language details through Java 17
  • Learn object-oriented programming using basic Java syntax
  • Explore generics, enumerations, annotations, and lambda expressions
  • Understand techniques used in object-oriented design
  • Examine how concurrency and memory are intertwined
  • Work with Java collections and handle common data formats
  • Delve into Java's latest I/O APIs including asynchronous channels
  • Become familiar with development tools in OpenJDK
1128305698
Java in a Nutshell: A Desktop Quick Reference
This updated edition of the Nutshell guide not only helps experienced Java programmers get the most out of versions through Java 17, it also serves as a learning path for new developers. Chock-full of examples that demonstrate how to take complete advantage of modern Java APIs and development best practices, this thoroughly revised book includes new material on recent enhancements to the Java object model that every developer should know about.

The first section provides a fast-paced, no-fluff introduction to the Java programming language and the core runtime aspects of the Java platform. The second section is a reference to core concepts and APIs that explains how to perform real programming work in the Java environment.

  • Get up to speed on language details through Java 17
  • Learn object-oriented programming using basic Java syntax
  • Explore generics, enumerations, annotations, and lambda expressions
  • Understand techniques used in object-oriented design
  • Examine how concurrency and memory are intertwined
  • Work with Java collections and handle common data formats
  • Delve into Java's latest I/O APIs including asynchronous channels
  • Become familiar with development tools in OpenJDK
65.99 In Stock
Java in a Nutshell: A Desktop Quick Reference

Java in a Nutshell: A Desktop Quick Reference

Java in a Nutshell: A Desktop Quick Reference

Java in a Nutshell: A Desktop Quick Reference

Paperback(8th ed.)

$65.99 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

This updated edition of the Nutshell guide not only helps experienced Java programmers get the most out of versions through Java 17, it also serves as a learning path for new developers. Chock-full of examples that demonstrate how to take complete advantage of modern Java APIs and development best practices, this thoroughly revised book includes new material on recent enhancements to the Java object model that every developer should know about.

The first section provides a fast-paced, no-fluff introduction to the Java programming language and the core runtime aspects of the Java platform. The second section is a reference to core concepts and APIs that explains how to perform real programming work in the Java environment.

  • Get up to speed on language details through Java 17
  • Learn object-oriented programming using basic Java syntax
  • Explore generics, enumerations, annotations, and lambda expressions
  • Understand techniques used in object-oriented design
  • Examine how concurrency and memory are intertwined
  • Work with Java collections and handle common data formats
  • Delve into Java's latest I/O APIs including asynchronous channels
  • Become familiar with development tools in OpenJDK

Product Details

ISBN-13: 9781098131005
Publisher: O'Reilly Media, Incorporated
Publication date: 03/21/2023
Edition description: 8th ed.
Pages: 479
Product dimensions: 6.00(w) x 9.00(h) x (d)

About the Author

Ben Evans is a Java Champion and Senior Principal Software Engineer at Red Hat. Previously he was Lead Architect for Instrumentation at New Relic, and co-founded jClarity, a performance tools startup acquired by Microsoft. He has also worked as Chief Architect for Listed Derivatives at Deutsche Bank and as Senior Technical Instructor for Morgan Stanley. He served for 6 years on the Java Community Process Executive Committee, helping define new Java standards. Ben is the author of six books, including "Optimizing Java", the new editions of "Java in a Nutshell" and the recently-updated "The Well-Grounded Java Developer" and writes regularly for Oracle's Java Magazine and other industry publications.

Jason Clark is a Principal Engineer and Architect at New Relic where he's worked on everything from petabyte-scale JVM data processing pipelines to Ruby instrumentation libraries. He was previously an Architect at WebMD building .Net-based web services. Jason is a regular conference speaker and co-author of The Well-Grounded Java Developer.

David Flanagan is a computer programmer who spends most of his time writing about JavaScript and Java. His books with O'Reilly include Java in a Nutshell, Java Examples in a Nutshell, Java Foundation Classes in a Nutshell, JavaScript: The Definitive Guide, and JavaScript Pocket Reference. David has a degree in computer science and engineering from the Massachusetts Institute of Technology.

Table of Contents

Foreword ix

Preface xi

Part I Introducing Java

1 Introduction to the Java Environment 3

The Language, the JVM, and the Ecosystem 4

A Brief History of Java and the JVM 8

The Lifecycle of a Java Program 10

Java Security 12

Comparing Java to Other Languages 13

Answering Some Criticisms of Java 14

2 Java Syntax from the Ground Up 19

Java Programs from the Top Down 20

Lexical Structure 20

Primitive Data Types 24

Expressions and Operators 33

Statements 50

Methods 71

Introduction to Classes and Objects 78

Arrays 82

Reference Types 90

Packages and the Java Namespace 94

Java Source File Structure 99

Defining and Running Java Programs 100

Summary 100

3 Object-Oriented Programming in Java 103

Overview of Classes 103

Fields and Methods 106

Creating and Initializing Objects 112

Subclasses and Inheritance 116

Data Hiding and Encapsulation 128

Abstract Classes and Methods 136

Modifier Summary 140

4 The Java Type System 143

Interfaces 144

Java Generics 152

Enums and Annotations 164

Lambda Expressions 169

Nested Types 177

Non-Denotable Types and var 188

Summary 189

5 Introduction to Object-Oriented Design in Java 191

Java Values 191

Important Methods of java.lang.Object 192

Aspects of Object-Oriented Design 197

Object-Oriented Design with Lambdas 208

Exceptions and Exception Handling 211

Safe Java Programming 213

6 Java's Approach to Memory and Concurrency 215

Basic Concepts of Java Memory Management 215

How the JVM Optimizes Garbage Collection 220

The HotSpot Heap 222

Finalization 226

Java's Support for Concurrency 229

Working with Threads 240

Summary 242

Part II Working with the Java Platform

7 Programming and Documentation Conventions 245

Naming and Capitalization Conventions 245

Practical Naming 247

Java Documentation Comments 249

Doclets 257

Conventions for Portable Programs 258

8 Working with Java Collections 261

Introduction to Collections API 261

Java Streams and Lambda Expressions 283

Summary 291

9 Handling Common Data Formats 293

Text 293

Numbers and Math 301

Java 8 Date and Time 306

Summary 312

10 File Handling and I/O 313

Classic Java I/O 313

Modern Java I/O 319

NIO Channels and Buffers 323

Async I/O 325

Networking 328

11 Classloading, Reflection, and Method Handles 335

Class Files, Class Objects, and Metadata 335

Phases of Classloading 337

Secure Programming and Classloading 340

Applied Classloading 342

Reflection 345

Method Handles 351

12 Java Platform Modules 355

Why Modules? 356

Writing Your Own Modules 359

Issues with Modules 369

Summary 371

13 Platform Tools 373

Command-Line Tools 373

Introduction to JShell 389

Summary 392

A Additional Tools 393

Index 415

From the B&N Reads Blog

Customer Reviews