Call us at 1-800-413-0939
Hands On Technology Transfer, Inc.

Java Packages Training

Attend face-to-face, remote-live, on-demand or on site at your facility.


Travel Packages Discount Programs
Top

Effectively Using Java Packages And Features

Duration: 5 Days

Price: $2595 *California residents and government employees call for pricing.

Discounts: We offer multiple discount options. Click here for more info.

Delivery Options: Attend face-to-face in the classroom, remote-live or on-demand streaming.

Knowledge Objectives

  • 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
JDBC
  • 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
Threads
  • 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
Networking
  • 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
  • Students can retake any portion of a class that has been completed, within 12 months at no extra cost
  • There are no registration fees or cancellation fees

Testimonials

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

Course Schedule - Face-to-Face in the Classroom or Remote-Live

Choose a city below to view a schedule. If you have any questions, please call us at 978-250-4299 between 9:00 am - 5:00 pm EST.