Advanced Java Programming – Detailed Course Outline

Return to Java and JavaFX Courses page
Copyright © 2000 - 2017, Anderson Software Group, Inc.

Section 1 - Generics and Collections

  • Why Use Generics?
    • Generic Classes
    • Generic Interfaces
    • Generic Methods
    • Generic Bounds
  • Collection API
    • Interfaces and Iterators
    • Abstract, Concrete Classes
    • Wildcard Parameters
  • Serialization with Generics

Section 2 - Java Threads

  • Thread Components and Scheduling
    • Mutually Exclusive Threads
    • Monitors and Locks
    • Synchronized Methods and Blocks
  • Deadlock Scenarios
    • Circular Deadlock
    • Callback Deadlock
    • Nested Monitor Deadlock
  • Designing with Threads

Section 3 - Network Programming

  • Sockets
    • Clients and Servers
    • MultiThreaded Servers
  • Remote Method Invocation
    • Remote Interfaces
    • Callbacks

Section 4 - Java Database Connectivity (JDBC)

  • JDBC Architecture
    • JDBC Drivers
  • Working with Databases
    • Connecting to Databases
    • Database Queries and ResultSets
    • Prepared and Callable Statements
    • Metadata

Section 5 - Java Native Interface (JNI)

  • Native Methods
  • C with Java Objects
    • Mapping Types
    • Accessing Class Fields
    • Calling Class Methods
  • Working with Strings and Arrays
  • Exception Handling
  • C++ with Java Objects

Section 6 - Performance Tuning

  • Compile-time Optimizations
  • Run-time Optimizations
  • Inlining Method Calls
  • Minimize Synchronization
  • Iterations
  • Copying Arrays
  • Singleton Design
  • Lazy Evaluation