Atnaujinkite slapukų nuostatas

Java in a Nutshell: A Desktop Quick Reference 8th New edition [Minkštas viršelis]

3.85/5 (1114 ratings by Goodreads)
  • Formatas: Paperback / softback, 470 pages, aukštis x plotis: 229x152 mm
  • Išleidimo metai: 07-Mar-2023
  • Leidėjas: O'Reilly Media
  • ISBN-10: 1098131002
  • ISBN-13: 9781098131005
Kitos knygos pagal šią temą:
  • Formatas: Paperback / softback, 470 pages, aukštis x plotis: 229x152 mm
  • Išleidimo metai: 07-Mar-2023
  • Leidėjas: O'Reilly Media
  • ISBN-10: 1098131002
  • ISBN-13: 9781098131005
Kitos knygos pagal šią temą:

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

Foreword ix
Preface xi
Part I Introducing Java
1 Introduction to the Java Environment
3(1)
The Language, the JVM, and the Ecosystem
3(8)
Comparing Java to Other Languages
11(1)
Answering Some Criticisms of Java
12(4)
A Brief History of Java and the JVM
16(2)
Summary
18(1)
2 Java Syntax from the Ground Up
19(1)
Java Programs from the Top Down
20(1)
Lexical Structure
20(5)
Primitive Data Types
25(9)
Expressions and Operators
34(18)
Statements
52(22)
Methods
74(7)
Introduction to Classes and Objects
81(5)
Arrays
86(8)
Reference Types
94(4)
Packages and the Java Namespace
98(5)
Java Source File Structure
103(1)
Defining and Running Java Programs
104(1)
Summary
105(2)
3 Object-Oriented Programming in Java
107(1)
Overview of Classes and Records
107(4)
Fields and Methods
111(6)
Creating and Initializing Objects
117(5)
Subclasses and Inheritance
122(13)
Data Hiding and Encapsulation
135(8)
Abstract Classes and Methods
143(5)
Modifier Summary
148(2)
Summary
150(1)
4 The Java Type System
151(1)
Interfaces
152(10)
Java Generics
162(13)
Enums and Annotations
175(5)
Lambda Expressions
180(7)
Nested Types
187(11)
Describing the Java Type System
198(3)
Summary
201(4)
5 Introduction to Object-Oriented Design in Java
205(1)
Java Values
205(2)
Important Common Methods
207(5)
Constants
212(1)
Working with Fields
212(1)
Field Inheritance and Accessors
213(2)
Singleton
215(2)
Factory Methods
217(1)
Builders
218(2)
Interfaces Versus Abstract Classes
220(2)
Do Default Methods Change Java's Inheritance Model?
222(1)
OOD Using Lambdas
223(2)
OOD Using Sealed Types
225(2)
OOD Using Records
227(1)
Instance Methods or Class Methods?
228(2)
Composition Versus Inheritance
230(2)
Exceptions and Exception Handling
232(2)
Safe Java Programming
234(3)
6 Java's Approach to Memory and Concurrency
237(1)
Basic Concepts of Java Memory Management
237(4)
How the JVM Optimizes Garbage Collection
241(2)
The HotSpot Heap
243(5)
Finalization
248(1)
Java's Support for Concurrency
249(12)
Working with Threads
261(2)
Summary
263(4)
Part II Working with the Java Platform
7 Programming and Documentation Conventions
267(1)
Naming and Capitalization Conventions
267(2)
Practical Naming
269(2)
Java Documentation Comments
271(8)
Doclets
279(1)
Conventions for Portable Programs
280(2)
Summary
282(1)
8 Working with Java Collections
283(1)
Introduction to Collections API
283(23)
Java Streams and Lambda Expressions
306(11)
Summary
317(2)
9 Handling Common Data Formats
319(1)
Text
319(10)
Numbers and Math
329(5)
Date and Time
334(7)
Summary
341(2)
10 File Handling and I/O
343(24)
Classic Java I/O
343(6)
Modern Java I/O
349(4)
NIO Channels and Buffers
353(3)
Async I/O
356(3)
Networking
359(6)
Summary
365(2)
11 Classloading, Reflection, and Method Handles
367(22)
Class Files, Class Objects, and Metadata
367(3)
Phases of Classloading
370(2)
Secure Programming and Classloading
372(2)
Applied Classloading
374(3)
Reflection
377(7)
Method Handles
384(5)
12 Java Platform Modules
389(18)
Why Modules?
390(4)
Writing Your Own Modules
394(9)
Issues with Modules
403(3)
Summary
406(1)
13 Platform Tools
407(24)
Command-Line Tools
407(18)
Introduction to JShell
425(3)
Introduction to Java Flight Recorder (JFR)
428(1)
Summary
429(2)
Appendix. Beyond Java 17 431(10)
Index 441
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. A regular conference speaker, Jason contributes to the open source project Shoes, which aims to make GUI programming easy and fun for beginners and students. 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.