Hands On Technology Transfer, Inc.
Call us at 978-250-4299

Java Packages Training Course

Perform training at your own pace via on-demand streaming or attend regularly scheduled live courses via our remote attendance option.

Free On-Demand Streaming Demo


Effectively Using Java Packages And Features

Duration: 35 hours

Price: CDN$1,650 *Prices are subject to GST/HST

Discounts: For multiple course purchases, please contact us for applicable discounts.

Delivery Options: Perform training at your own pace via our on-demand streaming opion or attend regularly scheduled live courses via remote-live attendance.

Attend On-Demand Attend Remotely

Students Will Learn

  • Using reflection and introspection to control the publishing and discovery of the properties, events, and methods of Java classes (java.lang.reflect package)
  • Writing type safe and reliable code with the enhanced capabilities of Java
  • Using the classes and interfaces that comprise the Collections Framework (java.util package)
  • Processing databases using JDBC (java.sql package)
  • Creating, controlling and synchronizing threads
  • Creating and using inner classes and nested classes
  • Using functional interfaces and lambda expressions
  • Describing and using the networking related classes (java.net package)
  • Creating client/server programs including a chat room application

Course Description

This intermediate level course is intended for programmers who already have a fundamental understanding of Java programming and some experience writing code. It provides additional insights and details regarding some of the more advanced and useful capabilities contained in the Java Programming Language and it's associated packages. Topics include reflection and JavaBeans, Java type safety enhancements, the Java Collections Framework, Java Database Connectivity (JDBC), multithreading, inner classes, lambda expressions and networking.

Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.

Course Prerequisites

Familiarity with and experience using Java. Completion of either the Learning to Program with Java, Java for COBOL Programmers, or Java Programming course, or equivalent Java programming experience.

Course Overview

JavaBeans, Reflection, and Introspection
  • JavaBean Requirements
  • Determining Type of an Object
  • Reflection Overview and Uses
  • Reflection Issues
  • Reflection Using the Class Object
  • Invoking Methods Using Reflection
  • Methods Available on the Class Object
  • Creating a New Instance
  • Introspection
  • Customizing BeanInfo
  • Invoking Methods Using Introspection
  • Using Reflection to Access Properties
  • Review of equals Method
Type Safety Enhancements
  • Annotations
    • Standard Annotations
    • User Defined Annotations
    • Reflection Annotation Information
  • The enum Data Type
  • Generics
  • Autoboxing
  • Methods Having Variable Parameters
  • Assertions
Collections Framework
  • What is the Collections Framework
  • Simple Arrays and Arrays of Objects
  • Legacy Container Classes
  • Collections Framework Overview
  • Collections Interfaces
    • Lists
    • Sets
    • Queues
  • Map Interfaces
  • Interface Implementations
    • Lists
    • Sets
    • Queues
    • Maps
  • Iterators
  • What is JDBC
  • JDBC Drivers
  • Accessing the Database
    • Loading Driver
    • Connecting to Data Source
    • Creating Statements
    • Executing Statements
  • Processing Result Sets
    • Cursor Positioning
    • Column Retrieval
    • Updating Result Sets
  • Connection Pooling
  • Processing Errors and Warnings
  • Using Prepared Statements
  • Using Stored Procedures
  • Metadata
    • Result Set Metadata
    • Database Metadata
  • Transaction Processing
  • Isolation Levels
  • SQL Batches
  • Definition of a Thread
  • Creating Threads
  • Naming Threads
  • Data Sharing Among Threads
    • Local Data
    • Instance Data
    • Class Data
    • volatile Keyword
  • Thread States
  • Thread Priority
    • Minimum. Maximum, Normal Priorities
    • Preemptive Thread Priority
    • setPriority Method
    • getPriority Method
  • Piping Data Between Threads
  • Coordination and Controlling Threads
  • Synchronizing Threads
    • Why Synchronization is Needed
    • Producer/Consumer Example
    • synchronized Keyword
    • Thread Synchronization Methods
  • Overview of java.net Package
  • Format of URL
  • URL Class
  • URLConnection Class
  • InetAddress Class
  • Definitions
    • Client
    • Server
    • Port
    • Socket
  • TCP/IP Protocols
  • Socket Class
    • Writing Client Side Applications
    • Read From Socket
    • Write to Socket
  • ServerSocket Class
    • Writing Server Side Applications
    • Daemon Servers
    • Multi-Threaded Servers
Inner and Nested Classes
  • What Are Inner Classes
    • Benefits of Inner Classes
    • Terminology
    • Restrictions
    • Syntax
  • Types of Inner Classes
    • Member Inner Class
    • Local Inner Class
    • Anonymous Inner Class
    • Nested Top Level Class
  • Lambda Expressions
    • Functional Interfaces
    • Default Interface Methods
    • Static Interfaces Methods
    • Lambda Expression Uses
    • Lambda Expression Syntax
    • Method and Constructor References

Related Courses

Course Benefits

  • Course materials include student guide, hands-on lab manual and USB flash drive for examples and lab work
  • Students receive a certificate of completion at the end of class
  • There are no registration fees or cancellation fees


Excellent training class. And even better, excellent instructor! The instructor did a great job covering the required material. He used real world examples to explain concepts and to hold my attention. He is very approachable and made the class enjoyable as well as educational.
— A.Y., Citizens Property Insurance

Instructor very knowledgeable. A lot of material covered in a short time, but this was exactly the depth/breadth of subject coverage I wanted. Worth the week/trip.
— F.B., Alcatel

Training Available for Multiple Locations

Perform training at your own pace via on-demand streaming or attend regularly scheduled live courses via full-duplex audio/visual connection with our remote attendance option. All courses are designed to include 50% instructor-facilitated hands on practice.