COURSES ••• COMPANY ••• ASPE EXPERIENCE ••• ENTERPRISE SOLUTIONS ••• CONTACT US ••• HOME

For real-time information or assistance with classes,
call us toll-free at 877-800-5221 or email us at customerservice@aspetech.com


Course HomeCourse DatesCourse DetailsCourse OutlineCourse FacultyCourse Procing
 

COURSE 5055a | 4-DAY SESSION
Advanced Java Programming
Course outline

Section I: Java Collections API

  • Overview
    • Basic Types of Collections
    • What is the Collections API
    • Characteristics
    • Collections Prior to Java 2
  • Advantages
    • Replacement for Arrays
    • Performance
    • Interoperability
    • Simple and Customizable
    • Encourages OO
  • Collections API
    • Collection Interface
    • Iterators
    • List Interface
    • List Implementations
    • Set Interface
    • HashSet
    • Map Interface
    • Map.Entry Interface
    • Map Iteration
    • HashMap


Lab Exercise: Collection and Map



  • Object Ordering
    • Comparable Interface
    • Comparator Interface
    • SortedSet Interface
    • TreeSet
    • SortedMap Interface
    • TreeMap
  • Miscellaneous
    • Standard Constructors
    • Legacy Implementations
    • Wrapper Implementations
    • Algorithms
    • Arrays Class
    • Best Practices


Lab Exercise: Comparable and SortedSet



Section II: Nested and Inner Classes

  • Top Level Classes
  • Nested Classes
    • Static Nested Class
    • Inner Class
    • Local Inner Class
    • Anonymous Inner Class


Section III: Threads

  • Overview
    • Features
    • Example
    • Multiprocessing
    • Multithreading
    • Reasons to Use Threads
    • Issues Using Threads
  • Creating Threads
    • Thread Class
    • Runnable Interface
    • Thread States and Scheduling
  • Thread API
    • Thread Instance Methods
    • Thread Class Methods
    • Object Methods
  • Synchronization
    • Method Synchronization
    • Block Synchronization
  • Working With Threads
    • What's Atomic?
    • Stopping a Thread
    • Pausing a Thread
  • Example: A Multi-threaded GUI


Lab Excerise



Section IV: Network Programming with Sockets

  • Overview
    • What is a socket
    • Client/Server Processes
    • TCP and UDP Protocols
  • Three-tier Architecture
    • Model-View-Controller
  • Example Application
    • SalesEntry Domain Object
    • InterfaceTier (View)
    • ApplicationTier (Controller)
    • DataTier (Model)
  • Sending/Receiving Datagrams with UDP
    • DatagramPacket
    • DatagramSocket
    • Example


Lab Exercise: NCAA Tournament Tracker



Section V: Serialization

  • Overview
    • Goals of Serialization
    • Contents of Serialized Objects
  • Basic Serialization
    • Serializable Interface
    • Example: SalesEntry
    • Serializing/Deserializing an Object
  • Customization
    • Transient Fields
    • writeObject/readObject Methods
    • Externalizable Interface
  • Class Versioning
    • serialVersionUID
    • Compatable Changes
    • Incompatable Changes
  • ObjectInputValidation
    • Deserialization as a Transaction
    • Example


Lab Exercise: AddressBook Application



Section VI: Reflection

  • Overview
    • What is Java Reflection
    • Example
  • Reflection API
    • java.lang.Class
    • Discovery of Attributes, Fields, and Methods
    • java.lang.reflect.Member
    • java.lang.reflect.Field
    • java.lang.reflect.Constructor
    • java.lang.reflect.Method


Lab Exercise: Classbrowser



Section VII: Testing with JUnit

  • Overview
    • Why Unit Test?
    • Test-driven Development (TDD)
    • What is JUnit
  • Running JUnit Tests
    • JUnit TestRunner
    • JUnit Swing UI
  • JUnit Framework
    • TestSuite
    • TestCase
    • Assert
    • Failures and Errors
    • TestCase Guidelines
    • Example
  • Apache Ant
    • What is Ant
    • Why Use Ant?
    • How Does Ant Work?
    • Using Ant to Run Unit Tests
  • Other Testing Tools


Section VIII: Logging API

  • Overview
    • What does the Logging API Do?
  • Basic Architecture
    • Level Class
    • Logger Class
    • General Logging Methods
    • Convenience Methods
    • Configuration
    • Example
  • Logging APi Details
    • Logger Hierarchy
    • Anonymous Loggers
    • Global Logger
    • LogRecord Class
    • LogManager Class
    • Logging Properties
  • Handlers
    • ConsoleHandler
    • FileHandler
    • SocketHandler
    • MemoryHandler
  • Formatters
    • SimpleFormatter
    • XMLFormatter
  • Miscellaneous
    • Filter Interface
    • ErrorManager
    • Extending the Framework


Lab Exercise



Section IX: Remote Method Invocation (RMI)

  • Distributed Computing
    • Benefits
    • Issues
    • RMI vs. CORBA
    • RPC
  • Overview of RMI
    • Goals
    • Terminology
    • Local vs. Remote Objects
    • BLocking
    • Steps to Utilizing RMI
  • RMI API
    • Remote Interface
    • Remote Exceptions
    • Naming
    • RemoteObject
    • RemoteServer
    • UnicastRemoteObject
  • Example
    • AdderGUI
    • AdderImpl
    • Adder
    • AdderListener


Lab Exercise: NCAA Tournament Tracker



Section X: Regular Expressions

  • Overview
    • What is Regex
    • Why Use Regex
  • Regex Syntax
    • Structure of a Regular Expression
    • Atoms
    • Character Classes
    • Boundary Matchers
    • Quantifiers
    • Capturing and Non-Capturing Groups


Section XI: Java Regex API

  • Overview
    • Special Considerations
    • Types of Regex Operations
  • Regex API
    • Pattern Class
    • Matcher Class
  • Operations
    • Matching
    • Capturing Groups
    • Replacement
    • Splitting
  • Regex Support in String
    • Regex Operations
    • quoteReplacement
    • StringTokenizer vs. Split
  • Scanner
    • Introduction
    • Example


Lab Exercise: AddressBook



Section XII: Preferences API

  • Overview
    • What is Java Preferences
    • Classes and Interfaces
    • Preference Tree
  • Preferences API
    • Preferences Class
    • Root and Node Instances
    • Storing and Retrieving Values
  • Example


Lab Exercise: AddressBook



Section XII: Java NIO

  • Overview
    • Comparison to Java IO
    • Reasons to USe NIO
  • NIO Abstractions
    • Buffers
    • Character Sets
    • Channels
    • Selectors
  • File Channels
    • API Details
    • Example: FileCopy
  • Introduction to Socket Channels
    • API Details
    • Example SocketServer/SocketCLient
    • DatagramChannel


Lab Exercise: FileConcat






    ASPE logo