This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.
Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"
If you’re new to Java—or new to programming—this best-selling book will guide you through the language features and APIs of Java 11. With fun, compelling, and realistic examples, authors Marc Loy, Patrick Niemeyer, and Daniel Leuck introduce you to Java fundamentals—including its class libraries, programming techniques, and idioms—with an eye toward building real applications.
You’ll learn powerful new ways to manage resources and exceptions in your applications—along with core language features included in recent Java versions.
• Develop with Java, using the compiler, interpreter, and other tools
• Explore Java’s built-in thread facilities and concurrency package
• Learn text processing and the powerful regular expressions API
• Write advanced networked or web-based applications and services
Author(s): Marc Loy, Patrick Niemeyer, Daniel Leuck Edition: 5 Publisher: O'Reilly Year: 2020
Language: English Commentary: Vector PDF Pages: 518 City: Sebastopol, CA Tags: Programming; Multithreading; Java; Web Applications; Logging; Application Development; Object-Oriented Programming; Networking; Error Handling; Elementary; Desktop
Cover
Copyright
Table of Contents
Preface
Who Should Read This Book
New Developments
New in This Edition (Java 11, 12, 13, 14)
Using This Book
Online Resources
Conventions Used in This Book
Using Code Examples
O’Reilly Online Learning
How to Contact Us
Acknowledgments
Chapter 1. A Modern Language
Enter Java
Java’s Origins
Growing Up
A Virtual Machine
Java Compared with Other Languages
Safety of Design
Simplify, Simplify, Simplify…
Type Safety and Method Binding
Incremental Development
Dynamic Memory Management
Error Handling
Threads
Scalability
Safety of Implementation
The Verifier
Class Loaders
Security Managers
Application and User-Level Security
A Java Road Map
The Past: Java 1.0–Java 11
The Present: Java 14
The Future
Availability
Chapter 2. A First Application
Java Tools and Environment
Installing the JDK
Installing OpenJDK on Linux
Installing OpenJDK on macOS
Installing OpenJDK on Windows
Configuring IntelliJ IDEA and Creating a Project
Running the Project
Grabbing the Learning Java Examples
HelloJava
Classes
The main() Method
Classes and Objects
Variables and Class Types
HelloComponent
Inheritance
The JComponent Class
Relationships and Finger-Pointing
Package and Imports
The paintComponent() Method
HelloJava2: The Sequel
Instance Variables
Constructors
Events
The repaint() Method
Interfaces
Goodbye and Hello Again
Chapter 3. Tools of the Trade
JDK Environment
The Java VM
Running Java Applications
System Properties
The Classpath
javap
Modules
The Java Compiler
Trying Java
JAR Files
File Compression
The jar Utility
The pack200 Utility
Building Up
Chapter 4. The Java Language
Text Encoding
Comments
Javadoc Comments
Variables and Constants
Types
Primitive Types
Reference Types
Inferring Types
Passing References
A Word About Strings
Statements and Expressions
Statements
Expressions
Arrays
Array Types
Array Creation and Initialization
Using Arrays
Anonymous Arrays
Multidimensional Arrays
Types and Classes and Arrays, Oh My!
Chapter 5. Objects in Java
Classes
Declaring and Instantiating Classes
Accessing Fields and Methods
Static Members
Methods
Local Variables
Shadowing
Static Methods
Initializing Local Variables
Argument Passing and References
Wrappers for Primitive Types
Method Overloading
Object Creation
Constructors
Working with Overloaded Constructors
Object Destruction
Garbage Collection
Packages
Importing Classes
Custom Packages
Member Visibility and Access
Compiling with Packages
Advanced Class Design
Subclassing and Inheritance
Interfaces
Inner Classes
Anonymous Inner Classes
Organizing Content and Planning for Failure
Chapter 6. Error Handling and Logging
Exceptions
Exceptions and Error Classes
Exception Handling
Bubbling Up
Stack Traces
Checked and Unchecked Exceptions
Throwing Exceptions
try Creep
The finally Clause
try with Resources
Performance Issues
Assertions
Enabling and Disabling Assertions
Using Assertions
The Logging API
Overview
Logging Levels
A Simple Example
Logging Setup Properties
The Logger
Performance
Real-World Exceptions
Chapter 7. Collections and Generics
Collections
The Collection Interface
Collection Types
The Map Interface
Type Limitations
Containers: Building a Better Mousetrap
Can Containers Be Fixed?
Enter Generics
Talking About Types
“There Is No Spoon”
Erasure
Raw Types
Parameterized Type Relationships
Why Isn’t a List a List