Java™ Rules
Addison Wesley (Verlag)
978-0-201-70916-2 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Java™ Rules distills the Java Language Specification into an extraordinary resource for every Java developer. Doug Dunn has eliminated obscure information only needed by JVM and compiler developers, and added crucial real-world guidance not found in the spec. The result: the most readable, accessible Java reference ever created. Java™ Rules offers a thorough overview of the Java 2 Platform, the java.lang, java.io, and java.util packages, and associated APIs and class libraries. Long-time consultant and trainer Doug Dunn introduces the inner workings of the language with exceptional clarity, detailing fine points and delivering expert tips for creating robust, efficient software. Topics covered include: lexical structure, compilation units, application programs, packages, JAR files, versioning, reference types, variables and constants, strings and arrays, and much more. For all beginning-to-intermediate level Java programmers, including experienced developers in other languages who want a Java tutorial and reference that respects their expertise.
Douglas Dunn is a Java programming consultant who has over ten years of experience as a mainstream business application programmer. He is currently working on additional volumes of Java™ Rules. 0201709163AB10152001
Preface.
About This Book.
A Java Tradition.
1. Lexical Structure.
Introduction.
White Space.
Indenting.
Comments.
Commenting Out Large Blocks of Code.
Identifiers.
Java Naming Conventions.
Keywords.
Literals.
Character Literals.
Escape Sequences.
String Literals.
Numeric Literals.
Class Literals.
Separators.
Operators.
2. Compilation Units.
Introduction.
The Terminology of Class Body Declarations.
The Definition of Fields in Java.
Recognizing Constructors in Source Code.
Anatomy of a Compilation Unit.
Special Initialization Methods.
The Significance of Textual Order.
Limit of One “public” Package Member.
Package Declarations.
Package Names.
The Members of a Package.
Using the SDK to Develop Packages.
Import Declarations.
Automatic Imports.
Redundant Imports.
Importing Nested Classes of All Sorts (Top-Level or Inner).
How Import Declarations are Used by a Compiler.
The Efficiency of Type-Import-on-Demand Declarations.
Type Declarations.
Class Type Declarations.
Interface Type Declarations.
The Definition of Top-Level Classes.
Helper Classes are Not Fundamentally Different.
Technical Arguments Against the Use of Helper Classes.
The Five Kinds of Classes and Interfaces.
“Public” Top-Level Classes.
Non-“public” Member Classes.
Local and Anonymous Classes.
Nested Interfaces.
Choosing Which Kind of Class to Use.
From “VectorEnumerator” to an Anonymous Class.
The Rationale for Containment and Inner Class Hierarchies.
Containment and Inner Class Hierarchies.
Containment Hierarchies.
Inner Class Hierarchies.
3. The “static” Modifier, “this,” and “super”.
Introduction.
The “static” Modifier.
“static” Fields.
“static” Methods.
“static” Classes.
The Definition of “static” Context.
The “static” Context in an Inner Class Hierarchy.
The “this” and “super” Keywords.
The Current Object (“this”).
The Direct Superclass (“super”).
Practical Uses of the “this” and “super” Keywords.
Using “super” to Reference Members in Different Packages.
Multiple Current Instances (a.k.a. Levels).
A Note About Deeply Nested Types.
Qualifying the “this” Keyword.
Qualifying the “new” Keyword.
Qualifying the “super” Keyword.
4. Primitive Data Types and Object.
Introduction.
The Definition of Data Types.
Data Type as a Set of Values.
The Object-Oriented Definition of Type.
Numeric Data Types.
Integral Types.
Floating-Point Types.
Understanding the Floating-Point Types.
The “char” Data Type.
The “boolean” Data Type.
The “null” Type.
The “Number” Class.
The “java.math” Package.
The “BigInteger” Class.
The “BigDecimal” Class.
Currency Calculations.
Inexact Results and Comparison Operators.
Rounding the Result of a Floating-Point Operation.
Using Integral Types to Store Monetary Values.
Primitive Type Wrapper Classes.
Parsing Strings for Primitive Type Values.
Converting Primitive Numeric Types to Strings.
Bit Pattern Manipulation.
Accessing Primitive Type System Properties.
Unicode Utility Methods.
The “Object” Class.
Reference Equality Versus the Equivalence Relationship.
Understanding Hash Tables.
The Five Housekeeping Methods.
The Comparison Methods.
What is Default Ordering?
What is Natural Ordering?
Reverse Order (or Descending) Sorts.
Sorting By More Than One Field.
The “Comparable” Interface.
The “Comparator” Interface.
5. Strings and Other Common Data Types.
Introduction.
Would-Be Mutator Methods.
The Length of a “String” or “StringBuffer”.
The Capacity of a “StringBuffer”.
Ensuring the Capacity of a “StringBuffer”.
“String” Indices.
Right-Open Intervals in “String” and “StringBuffer”.
Checked Exceptions in String and “StringBuffer”.
The “String” Class.
Case Mappings.
Comparing Strings.
Accessing Individual Characters or Substrings.
“char[]” to “String” Conversions and Vice Versa.
Translating Locally Encoded Strings.
Miscellaneous Methods in the “String” Class.
Unusual Constructors in the “String” Class.
The “StringBuffer” Class.
The Overloaded insert and append Methods.
Other Methods in the “StringBuffer” Class.
Other String-Related Classes.
The “StringCharacterIterator” Class.
The “StringReader” and “StringWriter” Classes.
Lexical Analysis.
The “BreakIterator” Class.
The “StringTokenizer” Class.
The “StreamTokenizer” Class.
String Concatenation Operations.
A Note about the Overloaded Binary + Operator.
Implicit String Conversions.
The Intern Mechanism.
Shared Character Buffers.
Displaying Diagnostic Messages on the Console.
Standard I/O.
The “print” and “println” Methods.
The Locale” Class.
The Default Locale.
Supported Locales.
The “Date” Class.
Date Comparisons.
The “GregorianCalendar” Class.
Instantiating the “GregorianCalendar” Class.
The Inconsistent Field Rule.
The Maximum DAY_OF_MONTH Rule.
Date and Time Fields in the Calendar Class.
Standard Default Values for Date and Time Fields.
Normalizing Date and Time Fields.
Date and Time Field Manipulation Methods.
The “TimeZone” Class.
Understanding the Difference between i18n and l10n.
The Localization of Common Data Types.
Formatting Numbers.
Formatting Dates and Times.
6. Arrays and The Collections Framework.
Introduction.
Array, Component, and Element Types.
Arrays.
The Canonical Form of the “for” Loop.
Array Classes Are Dynamically Created.
The Members of an Array Type.
Array Type Variable Declarations.
Initializing Array Type Variables.
Array Access Expressions.
A Bridge over Troubled Waters (the “toArray” Methods).
Untyped References versus Parameterized Types.
What Is Run-Time Type?
Time Complexities (or Big-O Notation).
Constant Time Operations.
Amortized Constant Time.
Logarithmic Time.
Linear Time.
Quadratic Time.
The Equivalence Relationship and Elements.
Duplicate Elements.
Using Mutable Objects as Elements in a “Set” or Keys in a “Map”.
The Collections Framework.
Bulk Operations.
The Principle of Maximum Generality.
The “Collection” Interface.
The Map Interface.
Housekeeping Methods for Containers.
General-Purpose Implementations.
Choosing a General-Purpose Implementation.
Performance Tuning the General-Purpose Implementations.
Special-Purpose Implementations.
“WeakHashMap”.
Views.
Synchronized Views.
Unmodifiable Views.
Range Views (Sublists, Subsets, and Submaps).
Collection Views of a Map.
List View of an Array.
Iterators.
List Iterators.
Using Collection Views to Iterate over a Map.
A Poor Man's Collection.
Synchronized Iterators.
Fail-Fast Iterators.
Iterating Backwards Through a “TreeSet” or “TreeMap”.
Al-Khwarizmi Concerning the Hindu Art of Reckoning.
Utility Methods for “Arrays” and Other “Collections”.
Sorting Containers.
Searching.
Cloning versus Copying a Container.
Shuffling.
Filling.
The Minimum and Maximum Elements.
Convenience Implementations.
An “equals” Method for Arrays.
Custom Implementations of the Core Collection Interfaces.
Abstract Implementations.
Optional Operations.
Restricted Containers.
Standard Constructors.
Multimaps and Multidimensional Arrays.
Multimaps.
Multidimensional Arrays.
Legacy Containers.
Index. 0201709163T10162001
Erscheint lt. Verlag | 10.10.2001 |
---|---|
Zusatzinfo | illustrations |
Verlagsort | Harlow |
Sprache | englisch |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► Java |
Mathematik / Informatik ► Informatik ► Web / Internet | |
ISBN-10 | 0-201-70916-3 / 0201709163 |
ISBN-13 | 978-0-201-70916-2 / 9780201709162 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich