Advanced Java Concepts Curriculum

Section 1: Review of Java Fundamentals
The Java Architecture
Forms for Java Software
Three Platforms
The Java Language
Numeric Types
Characters and Booleans
Object References
Strings and Arrays
Conditional Constructs
Looping Constructs
Section 2: Object-Oriented Software
Complex Systems
Classes and Objects
Responsibilities and Collaborators
Section 3: Classes and Objects
Java Classes
Constructors and Garbage Collection
Naming Conventions and JavaBeans
Relationships Between Classes
Using this
Packages and Imports
Overloading Methods and Constructors
Section 4: Inheritance and Polymorphism in Java
UML Specialization
Extending Classes
Using Derived Classes
Type Identification
Compile-Time and Run-Time Type
Overriding Methods
The @Override Annotation
Superclass Reference
Section 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
Section 6: Interfaces and Abstract Classes
Separating Interface and Implementation
UML Interfaces and Realization
Defining Interfaces
Implementing and Extending Interfaces
Abstract Classes
Section 7: Collections
Dynamic Collections vs. Arrays
UML Parameterized Type
Using Generics
The Collections API
The Collection and List Interfaces
The ArrayList and LinkedList Classes
Looping Over Collections: Iterable
Collecting Primitive Values: Auto-Boxing
Using Wildcards with Generic Types
Iterators and the Iterator Interface
Maps and the Map Interface
Sorted Collections
The SortedSet and SortedMap Interfaces
The Collections Class Utility
Conversion Utilities
Section 8: Exception Handling and Logging
Reporting and Trapping Errors
Exception Handling
Throwing Exceptions
Declaring Exceptions per Method
Catching Exceptions
The finally Block
Chaining Exceptions
The J2SE Logging API
Severity Levels
Log Hierarchies
Section 9: Inner Classes
Passing Behavior
Inner Classes in GUI Programming
Named Inner Classes
Outer Object Reference
Static Inner Classes
Anonymous Inner Classes
Section 10: The Java Streams Model
Delegation-Based Stream Model
InputStream and OutputStream
Media-Based Streamso
Filtering Streams
Readers and Writers
Section 11: Working with Files
File Class
Modeling Files and Directories
File Streams
Random-Access Files
Section 12: Advanced Stream Techniques
Data Streams
Push-Back Parsing
Byte-Array Streams and String Readers and Writers
Section 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
Section 14: Generics
Using Generics
Type Erasure
Type Boundaries
Generic Methods
Strengths and Weaknesses of Generics
Legacy Code and Generics
Section 15: Threads
Java Thread Model
Creating and Running Threads
Manipulating Thread State
Thread Synchronization
Volatile Fields vs. Synchronized Methods
wait and notify
join and sleep
The Concurrency API
Atomic Operations
Thread Pools
Section 16: Reflection
Uses for Meta-Data
The Reflection API
The Class Class
The java.lang.reflect Package
Reading Type Information
Navigating Inheritance Trees
Dynamic Instantiation
Dynamic Invocation
Reflecting on Generics
Section 17: Annotations
Aspect-Oriented Programming and Java
The Annotations Model
Annotation Types and Annotations
Built-In Annotations
Annotations vs. Descriptors (XML)
Section 18: Sockets
The OSI Reference Model
Network Protocols
The Socket Class
The ServerSocket Class
Connecting Through URL Objects
HTTP and Other TCP Servers
Datagram Clients and Servers
Non-Blocking Sockets
Multi-Threading in Servers
  • $899.00
  • 40 Days
  • Course Certificate