LOGO For Immediate Assistance Call 855-211-9361

Open Enrollment

Advanced Java Programming

Price:

Call for availability 855-211-9361

Advanced Java Programming (Collaborative Java Mentoring)

Course Description:

Advanced Java is a comprehensive study of many advanced Java topics. These include assertions, collection classes, searching and sorting, regular expressions, logging, bit manipulation, serialization, threads, networking with sockets, Remote Method Invocation, and Java Database Connectivity.

Course Length:

5 Days

Who Should Attend:

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

Benefits of Attendance:

Upon completion of this course, students will be able to:

  • Document and package a Java application.
  • Use many of the new enhancements added to the Java API.
  • Use assertions to write robust Java code.
  • Use regular expressions for efficient pattern matching.
  • Choose appropriate data structures from the Java Collection API.
  • Sort and search arrays and lists using a variety of techniques.
  • Capture configuration and debugging information using the Java Logging APIs.
  • Use Generics to create type safe collections.
  • Serialize Java objects.
  • Use features of the new I/O API.
  • Write TCP/IP Client Server applications using sockets.
  • Write multi-threaded Java applications.
  • Execute methods on a remote object using RMI.
  • Perform database queries and updates using JDBC.

Prerequisites:

Students should have completed a beginning Java course or have programmed in Java for at least three to six months.

Course Outline:

  • CHAPTER 1: REVIEW OF JAVA FUNDAMENTALS

    • The Java Environment
    • Data Types
    • The String Class
    • The StringBuffer Class
    • Arrays
    • Passing Data Types to a Method
    • Constructors and Initialization
    • Inheritance
    • Abstract Classes
    • Interfaces
    • Static Data, Methods, and Blocks
    • Wrapper Classes
    • I/O
  • CHAPTER 2: PACKAGING AND DISTRIBUTING A JAVA APPLICATION

    • Packages
    • Managing Source and Class Files
    • The javadoc Utility
    • Documenting Classes and Interfaces
    • Documenting Fields
    • Documenting Constructors and Methods
    • Running the javadoc Utility
    • jar Files
    • The Manifest File
    • Bundling and Using Jar-Packaged Resources
  • CHAPTER 3: MISCELLANEOUS ENHANCEMENTS

    • Enhanced for Loop
    • Autoboxing and Auto-Unboxing
    • Static Imports
    • VarArgs
    • TypesafeEnums
    • Formatted Strings
    • Format Specifier Syntax
    • Format Specifier Conversions
    • Format Specifier Flags
    • Formatted Integers Example
    • Formatted Floating Points Example
    • Formatted Strings Example
    • Formatted Dates Example
    • Complex Formatted Example
  • CHAPTER 4: ASSERTIONS

    • Introduction
    • Assertion Syntax
    • Compiling with Assertions
    • Enabling and Disabling Assertions
    • Assertion Usage
  • CHAPTER 5: REGULAR EXPRESSIONS

    • Regular Expressions
    • String Literals
    • Character Classes
    • Quantifiers
    • Capturing Groups and Backreferences
    • Boundary Matchers
    • Pattern and Matcher
  • CHAPTER 6: THE JAVA COLLECTION CLASSES

    • Introduction
    • The Arrays Class
    • Searching and Sorting Arrays of Primitives
    • Sorting Arrays of Objects
    • The Comparable and Comparator Interfaces
    • Sorting - Using Comparable
    • Sorting - Using Comparator
    • Collections
    • Lists and Sets
    • Iterators
    • Lists and Iterators Example
    • Maps
    • Maps and Iterators Example
    • The Collections Class
    • Rules of Thumb
  • CHAPTER 7: GENERICS

    • Introduction
    • Defining Simple Generics
    • Generics and Subtyping
    • Wildcards
    • Bounded Wildcards
    • Generic Methods
  • CHAPTER 8: ADVANCED I/O

    • Introduction
    • Basic File I/O Example
    • Buffered I/O
    • The Console Class
    • Object Serialization
    • Serialization Issues
    • Compressed Files
    • Zip File Example
    • Writing Your Own I/O Classes
    • Property Files
    • The Preferences Class
  • CHAPTER 9: ENHANCED I/O

    • Introduction
    • Channels
    • Buffers
    • Typed Buffers
    • Direct Buffers
  • CHAPTER 10: LOGGING API

    • Introduction
    • Loggers
    • Logger Levels
    • Logger Handlers
    • Specifying Handlers and Formatters
    • Configuring Handlers
    • LogManager
  • CHAPTER 11: NETWORKING

    • Networking Fundamentals
    • The Client/Server Model
    • InetAddress
    • URLs
    • Sockets
    • A Time-of-Day Client
    • Writing Servers
    • Client/Server Example
  • CHAPTER 12: THREADS AND CONCURRENCY

    • Review of Fundamentals
    • Creating Threads by Extending Thread
    • Creating Threads by Implementing Runnable
    • Advantages of Using Threads
    • Daemon Threads
    • Thread States
    • Thread Problems
    • Synchronization
    • Performance Issues
  • CHAPTER 13: REMOTE METHOD INVOCATION (RMI)

    • Introduction
    • RMI Architecture
    • The Remote Interface
    • The Remote Object
    • Writing the Server
    • The RMI Compiler
    • Writing the Client
    • Remote Method Arguments and Return Values
    • Dynamic Loading of Stub Classes
    • Remote RMI Client Example
    • Running the Remote RMI Client Example
  • CHAPTER 14: JAVA DATABASE CONNECTIVITY (JDBC)

    • Introduction
    • Relational Databases
    • Structured Query Language
    • A Sample Program
    • Transactions
    • Meta Data