Java Advanced Programming: Level 1
- 1.0 Inheritance Fundamentals
- 1.1 What is Inheritance?
- 1.2 Why Use Inheritance?
- 1.3 Inheritance Rules
- 1.4 Inheritance Examples
- 1.5 Extending a Class
- 1.6 Defining Subclass Constructors
- 1.7 Constructor Call Chain
- 1.8 Calling Parent Constructors
- 1.9 Passing Values to Parent Constructors
- 1.10 Overriding Methods
- 1.11 The Object Class
- 1.12 The to String Method
- 2.0 Advanced Inheritance
- 2.1 Preventing Inheritance
- 2.2 Abstract Classes
- 2.3 Defining an Abstract Class
- 2.4 The Instance of Operator
- 2.5 Casting Objects
- 2.6 Casting Upwards
- 2.7 Casting Downwards
- 2.8 Polymorphism
- 2.9 Dynamic Method Dispatch
- 2.10 Using Dynamic Method Dispatch
- 2.11 Comparing Objects
- 3.0 Interfaces & Inner Classes
- 3.1 What is an Interface?
- 3.2 Defining an Interface
- 3.3 Implementing an Interface
- 3.4 Interface References
- 3.5 The Enumeration Interface
- 3.6 Cloning Objects
- 3.7 Example Clone Method
- 3.8 Inner Classes
- 3.9 Inner Class Scope
- 3.10 Inner Class Examples
- 3.11 Anonymous Inner Classes
Java Advanced Programming: Level 2
- 1.0 Exception Handling
- 1.1 Overview of Exception Handling
- 1.2 Types of Exceptions
- 1.3 The Try/Catch Model
- 1.4 Why Throw an Exception?
- 1.5 Throwing Exceptions
- 1.6 Why Catch an Exception?
- 1.7 Exception Class Hierarchy
- 1.8 Problematic Code
- 1.9 The Catch All
- 1.10 Examining Exceptions
- 1.11 Re-trying Problematic Code
- 1.12 Specifying Possible Exceptions
- 1.13 Throwing an Exception
- 1.14 Exception Handling Example
- 1.15 Custom Exceptions
- 1.16 Cleaning Up
- 2.0 Introduction to java I/O
- 2.1 Overview of Input & Output
- 2.2 Data Sinks
- 2.3 Streams
- 2.4 Data & Character Streams
- 2.5 Sink Classes
- 2.6 Filter Classes
- 2.7 I/O Exception Class Hierarchy
- 2.8 Handling I/O Exceptions
- 2.9 The Abstract Input Stream Class
- 2.10 The Abstract Output Stream Class
- 2.11 Standard Input Example
- 2.12 Stacking Streams
- 2.13 Filtering Standard Input
- 3.0 Working with Files
- 3.1 The File Class
- 3.2 File Class Examples
- 3.3 Directory Listing Example
- 3.4 Filtered Directory Listings
- 3.5 File Writer Example
- 3.6 File Reader Example
- 3.7 Simple File Input Example
- 3.8 Line Number Reader Example
- 3.9 Random Access Files
- 3.10 Random Access File Class
- 3.11 Random Access Example
- 4.0 Advanced Java I/O
- 4.1 Overview of Object Serialization
- 4.2 Writing Objects to a File
- 4.3 Reading Objects from a File
- 4.4 Working with Zip Files
- 4.5 Zip File Structure
- 4.6 Zip Entry Structure
- 4.7 Extracting Files
- 4.8 Extracting Files Example
- 4.9 Compressing Files
- 4.10 Compressing Files Example
Java Advanced Programming: Level 3
- 1.0 Java Classes
- 1.1 Overview of Wrapper Classes
- 1.2 Wrapper Classes
- 1.3 Boolean Class
- 1.4 The Byte Class
- 1.5 The Character Class
- 1.6 The Short Class
- 1.7 The Integer Class
- 1.8 The Long Class
- 1.9 The Float Class
- 1.10 The Double Class
- 1.11 The Big Decimal Class
- 1.12 The Big Integer Class
- 1.13 The Math Class
- 1.14 Working with Delimited Files
- 2.0 Java Dates
- 2.1 Overview of Dates
- 2.2 Date Formats
- 2.3 The Date Class
- 2.4 The Date Example
- 2.5 Gregorian Calendar Class
- 2.6 Gregorian Calendar Examples
- 2.7 Comparing Calendars
- 2.8 The Date Format Class
- 2.9 Formatting Dates
- 2.10 Formatting International Dates
- 2.11 Parsing Dates
- 3.0 Storage Collections
- 3.1 Collections Framework
- 3.2 Types of Collections
- 3.3 Data Examples
- 3.4 Set Collection Classes
- 3.5 List Collection Classes
- 3.6 Map Collection Classes
- 3.7 Collection Interfaces
- 3.8 The Collection Interface
- 3.9 The List Interface
- 3.10 The Map Interface
- 3.11 The Collections Class
- 3.12 Sorting Vectors
- 3.13 Working with Stacks
- 3.14 Linked Lists
- 3.15 Working with Maps
- 4.0 Multi-Threading
- 4.1 Overview of Threads
- 4.2 Why Use Threads?
- 4.3 Thread Example
- 4.4 Threat Lifecycle
- 4.5 Creating Threads
- 4.6 Extending the Thread Class
- 4.7 Spawning Threads
- 4.8 Using the Runable Interface
- 4.9 Changing Priorities
- 4.10 Exclusive Data Locking
- 4.11 Synchronized Methods
- 4.12 Synchronized Blocks
- 4.13 Thread Communication
- 4.14 The Producer Consumer Model
Java Advanced Programming: Level 4
- 1.0 Java Networking
- 1.1 Why Network?
- 1.2 Overview of Networking
- 1.3 Common Ports
- 1.4 Making a Connection
- 1.5 Networking Classes
- 1.6 The InetAddress Class
- 1.7 The URL Class
- 1.8 Overview of Sockets
- 1.9 Creating a Server
- 1.10 Server Example
- 1.11 Creating a Client
- 1.12 Client Example
- 1.13 Transferring Objects
- 1.14 Object Server Example
- 1.15 Object Client Example
- 2.0 Sending E-Mail with Java
- 2.1 Why E-Mail
- 2.2 Overview of JavaMail
- 2.3 Mail Protocols
- 2.4 JavaMail Architecture
- 2.5 Obtaining & Installing JavaMail
- 2.6 JavaBeans Activation Framework
- 2.7 Downloading & Installing JAF
- 2.8 Overview of Packages
- 2.9 Overview of Classes
- 2.10 Message Structure
- 2.11 Sending a Message
- 2.12 Sending Attachments
- 2.13 Listing Messages
- 2.14 Displaying Messages
- 2.15 Saving Attachments
- 3.0 Remote Java Objects
- 3.1 Remote Objects
- 3.2 Relationships
- 3.3 RMI Environment
- 3.4 Overview of Classes & Interfaces
- 3.5 Setting up RMI
- 3.6 Creating the Interface
- 3.7 Creating the Server Class
- 3.8 Example Server Class
- 3.9 Generating the Stub Object
- 3.10 Registry Server
- 3.11 Creating the Client Class
- 3.12 Example Client Class