|
1. Review of Java Fundamentals - The Java Architecture
- Forms for Java Software
- Three Platforms
- The Java Language
- Numeric Types
- Characters and Booleans
- Enumerations
- Object References
- Strings and Arrays
- Conditional Constructs
- Looping Constructs
- Varargs
2. Object-Oriented Software - Complex Systems
- Abstraction
- Classes and Objects
- Responsibilities and Collaborators
- UML
- Relationships
- Visibility
3. Classes and Objects - Java Classes
- Constructors and Garbage Collection
- Naming Conventions and JavaBeans
- Relationships Between Classes
- Using this
- Visibility
- Packages and Imports
- Overloading Methods and Constructors
- JARs
4. Inheritance and Polymorphism in Java - UML Specialization
- Extending Classes
- Using Derived Classes
- Type Identification
- Compile-Time and Run-Time Type
- Polymorphism
- Overriding Methods
- Superclass Reference
5. Using Classes Effectively - Class Loading
- Static Members
- Statics and Non-Statics
- Static Initializers
- Static Imports
- Prohibiting Inheritance
- Costs of Object Creation
- Strings and StringBuffers
- Controlling Object Creation
- Understanding Enumerated Types
- Stateful and Behavioral Enumerations
6. Interfaces and Abstract Classes - Separating Interface and Implementation
- UML Interfaces and Realization
- Defining Interfaces
- Implementing and Extending Interfaces
- Abstract Classes
7. Collections - Dynamic Collections vs. Arrays
- UML Parameterized Type
- Generics
- Using Generics
- The Collections API
- The Collection<E> and List<E> Interfaces
- The ArrayList<E> and LinkedList<E> Classes
- Looping Over Collections: Iterable<E>
- Collecting Primitive Values: Auto-Boxing
- Using Wildcards with Generic Types
- Iterators and the Iterator<E> Interface
- Maps and the Map<K,V> Interface
- Sorted Collections
- The SortedSet<E> and SortedMap<K,V> Interfaces
- The Collections Class Utility
- Algorithms
- Conversion Utilities
8. Exception Handling and Logging - Reporting and Trapping Errors
- Exception Handling
- Throwing Exceptions
- Declaring Exceptions per Method
- Catching Exceptions
- The finally Block
- Catch-and-Release
- Chaining Exceptions
- The J2SE Logging API
- Severity Levels
- Log Hierarchies
9. Inner Classes - Passing Behavior
- Inner Classes in GUI Programming
- Named Inner Classes
- Outer Object Reference
- Static Inner Classes
- Anonymous Inner Classes
10. The Java Streams Model - Delegation-Based Stream Model
- InputStream and OutputStream
- Media-Based Streams
- Filtering Streams
- Readers and Writers
11. Working with Files - File Class
- Modeling Files and Directories
- File Streams
- Random-Access Files
12. Advanced Stream Techniques - Buffering
- Data Streams
- Push-Back Parsing
- Byte-Array Streams and String Readers and Writers
13. Java Serialization - The Challenge of Object Serialization
- Serialization API
- Serializable Interface
- ObjectInputStream and ObjectOutputStream
- The Serialization Engine
- Transient Fields
- readObject and writeObject
- Externalizable Interface
14. Automated Unit Testing with JUnit - Automated Testing
- JUnit and Related Tools
- TestCases and TestSuites
- TestRunners
- TestResults and Asserts
- Developing JUnit Tests
|