Written by several of Java's inventors, The Java Programming Language, Third Edition provides a nearly indispensable guide to basic and advanced features in today's hottest programming language. Perfect for the intermediate or advanced developer, this book delivers a wealth of information on how to do more with Java. The first sections provide a nicely compact tour of Java basics. If you're a beginner, you'll get a glimpse of the fundamentals of Java quickly. (Most of this new edition has the more experienced reader in mind.) Subsequent chapters delve into basic and advanced language features of what can be done with classes, interfaces, and other design features in Java. The authors' explanations are notably clear and never pedantic. Many examples are illustrated by using simple mathematical problems, and the class-design samples for inheritance and interfaces all use comprehensible class names and concepts.
This title is outstanding when it comes to class design. It will definitely let any reader do more with classes, whether you want to make use of such features as "anonymous inner classes" and reflection (for loading classes dynamically), or do more with interfaces (including extending interfaces and tricks on changing data members in interfaces).
Prominent sections here include a complete guide to Java language statements, including keywords, literals, and support for Unicode. Later sections feature a nice, clear explanation of Java's complicated I/O classes, a fine tutorial on threading, and a solid introduction to using Java's collection classes. The book closes with a tour of some additional "core" Java packages that are available in the language.
In all, this up-to-the-minute guide to some of the more complex features in today's Java fills a valuable niche for any Java developer. Besides providing a glimpse into what the Java team at Sun is up to, this authoritative resource can help you master the finer points of class design, as well as make the most out of newly added features in the new JDK 1.3 standard. --Richard Dragan
Topics covered: QuickStart overview of Java, class and object design in Java, access control, construction and initialization, static methods, method overloading, class inheritance, redefining members, the protected keyword, the strictfp keyword and floating-point processing, cloning objects, interfaces (constants, methods, and modifiers), extending interfaces, marker interfaces, nested classes and interfaces (including static nested types, inner classes, and anonymous inner classes), tokens, operators, and expressions in Java, literals, keywords, operator precedence, control flow, Java exception handling, exception classes, the String and StringBuffer classes, threads, synchronization APIs and techniques (scheduling, thread groups, and thread local storage), the wrapper classes for Number types, Java reflection, loading classes, garbage collection (GC algorithms, finalization and reachability states), packages, JavaDoc documentation tags, tour of Java I/O stream classes, serialization techniques, new and legacy Java collections, miscellaneous utility classes, system programming with properties, processes and JVM shutdown; internationalization and localization techniques, and tour of additional Java "core" packages. [via]