Home > Store

Core Java, Volume I--Fundamentals, 8th Edition

Register your product to gain access to bonus material or receive a coupon.

Core Java, Volume I--Fundamentals, 8th Edition


  • Sorry, this book is no longer in print.
Not for Sale


  • Copyright 2008
  • Edition: 8th
  • Book
  • ISBN-10: 0-13-235476-4
  • ISBN-13: 978-0-13-235476-9

This revised edition of the classic Core Java™, Volume I–Fundamentals, is the definitive guide to Java for serious programmers who want to put Java to work on real projects.

Fully updated for the new Java SE 6 platform, this no-nonsense tutorial and reliable reference illuminates the most important language and library features with thoroughly tested real-world examples. The example programs have been carefully crafted to be easy to understand as well as useful in practice, so you can rely on them as an outstanding starting point for your own code.

Volume I is designed to quickly bring you up to speed on what’s new in Java SE 6 and to help you make the transition as efficiently as possible, whether you’re upgrading from an earlier version of Java or migrating from another language. The authors concentrate on the fundamental concepts of the Java language, along with the basics of user-interface programming. You’ll find detailed, insightful coverage of 

  • Java fundamentals
  • Object-oriented programming
  • Interfaces and inner classes
  • Reflection and proxies
  • The event listener model
  • GUI programming with Swing
  • Packaging applications
  • Exception handling
  • Logging and debugging
  • Generic programming
  • The collections framework
  • Concurrency

For detailed coverage of XML processing, networking, databases, internationalization, security, advanced AWT/Swing, and other advanced features, look for the forthcoming eighth edition of Core Java™, Volume II—Advanced Features (ISBN: 978-0-13-235479-0).


Author's Site

Visit the author's website at horstmann.com/corejava.

Sample Content

Online Sample Chapter

Understanding Inheritance in Java

Downloadable Sample Chapter

Download Chapter 5: Inheritance

Table of Contents

Preface xix

Acknowledgments xxv

Chapter 1: An Introduction to Java 1

Java As a Programming Platform 2

The Java “White Paper” Buzzwords 2

Java Applets and the Internet 7

A Short History of Java 9

Common Misconceptions about Java 11

Chapter 2: The Java Programming Environment 15

Installing the Java Development Kit 16

Choosing a Development Environment 21

Using the Command-Line Tools 22

Using an Integrated Development Environment 25

Running a Graphical Application 28

Building and Running Applets 31

Chapter 3: Fundamental Programming Structures in Java 35

A Simple Java Program 36

Comments 39

Data Types 40

Variables 44

Operators 46

Strings 53

Input and Output 63

Control Flow 71

Big Numbers 88

Arrays 90

Chapter 4: Objects and Classes 105

Introduction to Object-Oriented Programming 106

Using Predefined Classes 111

Defining Your Own Classes 122

Static Fields and Methods 132

Method Parameters 138

Object Construction 144

Packages 15

The Class Path 160

Documentation Comments 162

Class Design Hints 167

Chapter 5: Inheritance 171

Classes, Superclasses, and Subclasses 172

Object: The Cosmic Superclass 192

Generic Array Lists 204

Object Wrappers and Autoboxing 211

Methods with a Variable Number of Parameters 214

Enumeration Classes 215

Reflection 217

Design Hints for Inheritance 238

Chapter 6: Interfaces and Inner Classes 241

Interfaces 242

Object Cloning 249

Interfaces and Callbacks 255

Inner Classes 258

Proxies 275

Chapter 7: Graphics Programming 281

Introducing Swing 282

Creating a Frame 285

Positioning a Frame 288

Displaying Information in a Component 294

Working with 2D Shapes 299

Using Color 307

Using Special Fonts for Text 310

Displaying Images 318

Chapter 8: Event Handling 323

Basics of Event Handling 324

Actions 342

Mouse Events 349

The AWT Event Hierarchy 357

Chapter 9: User Interface Components with Swing 361

Swing and the Model-View-Controller Design Pattern 362

Introduction to Layout Management 368

Text Input 377

Choice Components 385

Menus 406

Sophisticated Layout Management 424

Dialog Boxes 452

Chapter 10: Deploying Applications and Applets 493

JAR Files 494

Java Web Start 501

Applets 516

Storage of Application Preferences 539

Chapter 11: Exceptions, Logging, Assertions, and Debugging 551

Dealing with Errors 552

Catching Exceptions 559

Tips for Using Exceptions 568

Using Assertions 571

Logging 575

Debugging Tips 591

Using a Debugger 607

Chapter 12: Generic Programming 613

Why Generic Programming? 614

Definition of a Simple Generic Class 616

Generic Methods 618

Bounds for Type Variables 619

Generic Code and the Virtual Machine 621

Restrictions and Limitations 626

Inheritance Rules for Generic Types 630

Wildcard Types 632

Reflection and Generics 640

Chapter 13: Collections 649

Collection Interfaces 650

Concrete Collections 658

The Collections Framework 689

Algorithms 700

Legacy Collections 707

Chapter 14: Multithreading 715

What Are Threads? 716

Interrupting Threads 728

Thread States 730

Thread Properties 733

Synchronization 736

Blocking Queues 764

Thread-Safe Collections 771

Callables and Futures 774

Executors 778

Synchronizers 785

Threads and Swing 794

Appendix 809

Index 813


Download the Preface


Download the Index


Submit Errata

More Information

Unlimited one-month access with your purchase
Free Safari Membership