Using String and StringBuffer
- Why Two String Classes?
- Creating Strings and StringBuffers
- Accessor Methods
- More Accessor Methods
- Modifying StringBuffers
- Converting Objects to Strings
- Converting Strings to Numbers
- Strings and the Java Compiler
- Java Strings are First-Class Objects
Setting Program Attributes
- Using
Properties
to Manage Program Attributes- Command-Line Arguments
Accessing System Resources
- Using the System Class
- The Standard I/O Streams
- System Properties
- Forcing Finalization and Garbage Collection
- Providing Your Own Security Manager
- Introducing the Security Manager
- Writing a Security Manager
- Installing Your Security Manager
- Deciding What SecurityManager Methods to Override
- Miscellaneous System Methods
- The
Runtime
ObjectHandling Errors with Exceptions
- What's an Exception and Why Do I Care?
- Your First Encounter with Java Exceptions
- Java's Catch or Specify Requirement
- Dealing with Exceptions
- The ListOfNumbers Example
- Catching and Handling Exceptions
- The try Block
- The catch Block(s)
- The finally Block
- Putting It All Together
- Specifying the Exceptions Thrown by a Method
- How to Throw Exceptions
- The throw Statement
- The Throwable Class and Its Subclasses
- Creating Your Own Exception Classes
- Runtime Exceptions--The Controversy
Doing Two or More Tasks At Once: Threads
- What Is a Thread?
- Customizing a Thread's
run
Method
- Subclassing
Thread
and Overridingrun
- Implementing the
Runnable
Interface- The Life Cycle of a Thread
- Understanding Thread Priority
- Synchronizing Threads
- The Producer/Consumer Example
- Locking an Object
- Reaquiring a Lock
- Using the
notifyAll
andwait
Methods- Avoiding Starvation and Deadlock
- Grouping Threads
- The ThreadGroup Class
- Summary
Reading and Writing (but no 'rithmetic)
- Overview of I/O Streams
- Using the Data Sink Streams
- How to Use File Streams
- How to Use Pipe Streams
- Using the Processing Streams
- How to Concatenate Files
- Working with Filtered Streams
- How to Use DataInputStream and DataOutputStream
- Writing Your Own Filtered Streams
- Object Serialization
- Serializing Objects
- Providing Object Serialization foor Your Classes
- Working with Random Access Files
- Using Random Access Files
- Writing Filters for Random Access Files
- And the Rest