Book description
Core Java® has long been recognized as the leading, no-nonsense tutorial and reference for experienced programmers who want to write robust Java code for real-world applications. Now, Core Java®, Volume I-Fundamentals, Tenth Edition, has been extensively updated to reflect the most eagerly awaited and innovative version of Java in years: Java SE 8. Rewritten and reorganized to illuminate new Java SE 8 features, idioms, and best practices, it contains hundreds of example programs-all carefully crafted for easy understanding and practical applicability.
Writing for serious programmers solving real-world problems, Cay Horstmann helps you achieve a deep understanding of the Java language and library. In this first volume of the two-volume work, Horstmann focuses on fundamental language concepts and the foundations of modern user interface programming. You'll find in-depth coverage of topics ranging from Java object-oriented programming to generics, collections, lambda expressions, Swing UI design, and the latest approaches to concurrency and functional programming. This guide will help you
- Leverage your existing programming knowledge to quickly master core Java syntax
- Understand how encapsulation, classes, and inheritance work in Java
- Master interfaces, inner classes, and lambda expressions for functional programming
- Improve program robustness with exception handling and effective debugging
- Write safer, more readable programs with generics and strong typing
- Use pre-built collections to collect multiple objects for later retrieval
- Master concurrent programming techniques from the ground up
- Build modern cross-platform GUIs with standard Swing components
- Deploy configurable applications and applets, and deliver them across the Internet
- Simplify concurrency and enhance performance with new functional techniques
If you're an experienced programmer moving to Java SE 8, Core Java®, Tenth Edition, will be your reliable, practical companion-now and for many years to come.
Look for the companion volume, Core Java®, Volume II-Advanced Features, Tenth Edition (ISBN-13: 978-0-13-417729-8), for coverage of Java 8 streams, input and output, XML, databases, annotations, and other advanced topics.
Register your productor convenient access to downloads, updates, and corrections as they become available. See inside the book for information.
Table of contents
- About This E-Book
- Title Page
- Copyright Page
- Contents
- Preface
- Acknowledgments
- Chapter 1. An Introduction to Java
- Chapter 2. The Java Programming Environment
-
Chapter 3. Fundamental Programming Structures in Java
- 3.1 A Simple Java Program
- 3.2 Comments
- 3.3 Data Types
- 3.4 Variables
-
3.5 Operators
- 3.5.1 Mathematical Functions and Constants
- 3.5.2 Conversions between Numeric Types
- 3.5.3 Casts
- 3.5.4 Combining Assignment with Operators
- 3.5.5 Increment and Decrement Operators
- 3.5.6 Relational and boolean Operators
- 3.5.7 Bitwise Operators
- 3.5.8 Parentheses and Operator Hierarchy
- 3.5.9 Enumerated Types
- 3.6 Strings
- 3.7 Input and Output
- 3.8 Control Flow
- 3.9 Big Numbers
- 3.10 Arrays
- Chapter 4. Objects and Classes
- Chapter 5. Inheritance
- Chapter 6. Interfaces, Lambda Expressions, and Inner Classes
- Chapter 7. Exceptions, Assertions, and Logging
-
Chapter 8. Generic Programming
- 8.1 Why Generic Programming?
- 8.2 Defining a Simple Generic Class
- 8.3 Generic Methods
- 8.4 Bounds for Type Variables
- 8.5 Generic Code and the Virtual Machine
-
8.6 Restrictions and Limitations
- 8.6.1 Type Parameters Cannot Be Instantiated with Primitive Types
- 8.6.2 Runtime Type Inquiry Only Works with Raw Types
- 8.6.3 You Cannot Create Arrays of Parameterized Types
- 8.6.4 Varargs Warnings
- 8.6.5 You Cannot Instantiate Type Variables
- 8.6.6 You Cannot Construct a Generic Array
- 8.6.7 Type Variables Are Not Valid in Static Contexts of Generic Classes
- 8.6.8 You Cannot Throw or Catch Instances of a Generic Class
- 8.6.9 You Can Defeat Checked Exception Checking
- 8.6.10 Beware of Clashes after Erasure
- 8.7 Inheritance Rules for Generic Types
- 8.8 Wildcard Types
- 8.9 Reflection and Generics
- Chapter 9. Collections
- Chapter 10. Graphics Programming
- Chapter 11. Event Handling
- Chapter 12. User Interface Components with Swing
-
Chapter 13. Deploying Java Applications
- 13.1 JAR Files
- 13.2 Storage of Application Preferences
- 13.3 Service Loaders
-
13.4 Applets
- 13.4.1 A Simple Applet
- 13.4.2 The applet HTML Tag and Its Attributes
- 13.4.3 Use of Parameters to Pass Information to Applets
- 13.4.4 Accessing Image and Audio Files
- 13.4.5 The Applet Context
- 13.4.6 Inter-Applet Communication
- 13.4.7 Displaying Items in the Browser
- 13.4.8 The Sandbox
- 13.4.9 Signed Code
- 13.5 Java Web Start
-
Chapter 14. Concurrency
- 14.1 What Are Threads?
- 14.2 Interrupting Threads
- 14.3 Thread States
- 14.4 Thread Properties
-
14.5 Synchronization
- 14.5.1 An Example of a Race Condition
- 14.5.2 The Race Condition Explained
- 14.5.3 Lock Objects
- 14.5.4 Condition Objects
- 14.5.5 The synchronized Keyword
- 14.5.6 Synchronized Blocks
- 14.5.7 The Monitor Concept
- 14.5.8 Volatile Fields
- 14.5.9 Final Variables
- 14.5.10 Atomics
- 14.5.11 Deadlocks
- 14.5.12 Thread-Local Variables
- 14.5.13 Lock Testing and Timeouts
- 14.5.14 Read/Write Locks
- 14.5.15 Why the stop and suspend Methods Are Deprecated
- 14.6 Blocking Queues
- 14.7 Thread-Safe Collections
- 14.8 Callables and Futures
- 14.9 Executors
- 14.10 Synchronizers
- 14.11 Threads and Swing
- Appendix A. Java Keywords
- Index
- Code Snippets
Product information
- Title: Core Java® Volume I—Fundamentals, Tenth Edition
- Author(s):
- Release date: December 2015
- Publisher(s): Pearson
- ISBN: 9780134177335
You might also like
article
Run Llama-2 Models Locally with llama.cpp
Llama is Meta’s answer to the growing demand for LLMs. Unlike its well-known technological relative, ChatGPT, …
article
Use Github Copilot for Prompt Engineering
Using GitHub Copilot can feel like magic. The tool automatically fills out entire blocks of code--but …
article
Three Ways to Sell Value in B2B Markets
As customers face pressure to reduce costs while maintaining profitability, value-based selling (VBS) has become critical …
article
Why the Power of Technology Rarely Goes to the People
Throughout history, the advantages and costs of technological innovations have been unevenly distributed between the powerful …