Training > All Courses > Java > Advanced Java™

Course Summary

Advanced Java™ Training course provides you with advanced skills for programming in Java language.

This course delves deeper into the data structures, file input and output features, exception handing, object oriented design and analysis, object serialization, database connectivity with JDBC, multi-threaded programming, and networking capabilities of Java.

Upon completion, you will be able to understand, design, and develop complex Java-based applications.

Duration

3 days.

Objectives

Upon successful completion of Advanced Java™ Training course, you will be able to:

  • Use reflection to examine objects at runtime and properly compare objects for equality.
  • Handle errors in your program by writing exception handlers.
  • Create and manipulate arrays and collections.
  • Read and write files using the java.io package.
  • Serialize objects using object serialization.
  • Write multi-threaded programs and synchronize threads.
  • Access data from relational databases using JDBC. Perform basic network communication using sockets.

Audience

You should take Advanced Java™ Training course if you are interested in learning more about the Java programming language in order to learn advanced programming techniques and concepts.

To succeed fully in Advanced Java™ Training, you should be familiar and comfortable with basic Java programming concepts: Java syntax and object-oriented programming (OOP) in Java. These topics are covered in our Fundamentals of Java™ Training course.

Additional Notes

Java™ and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc.

Outline


Examination Concepts

  • Determining an Object's Type
  • Using the instanceof Operator
  • Using the Class.getName() Method
  • Reflection
  • Comparing Objects for Equality
  • Converting Objects to strings and integers (hash codes)
  • Sorting Objects

Exception Handling

  • Overview of Exceptions
  • Following the Control Flow of an Exception Handler
  • Writing Exception Handlers
  • Checked vs. unchecked exceptions vs. errors
  • Defining custom exceptions
  • Nesting exceptions

Data Structures

  • Creating and manipulating Arrays
  • Collections
  • Choosing a Collection
  • Working with Collections
  • Manipulating Lists, Sets, Maps
  • Understanding Java 5 Generics in Collections

I/O

  • Overview of the java.io Package
  • Working with the File Class
  • Identifying Input and Output Streams
  • Identifying Readers and Writers
  • Reading Data from a File
  • Writing Data to a File
  • Reading and Writing Objects
  • Serializing an Object

Multi-Threaded Programming

  • Overview of Threads
  • Observing a Computer's Processes
  • Observing a Multi-Threaded Program
  • Using Threads
  • Deciding Between Daemon and Non-Daemon Threads
  • Creating a Multi-Threaded Program
  • Thread Synchronization
  • The Producer/Consumer Problem

JDBC

  • Overview of SQL Language
  • Overview of JDBC and its drivers
  • JDBC API: connections, statements, result sets, metadata
  • Using JDBC: updates, queries

Basic Networking

  • Overview of Networking
  • Networking Concepts
  • Identifying Your Computer's IP Address
  • Using the InetAddress Class
  • Sockets
  • Implementing the Client Side of a Socket
  • Implementing the Server Side of a Socket
  • Developing a multi-threaded Server

Design Patterns

  • What are Design Patterns?
  • Singleton, Factory Method, Abstract Factory
  • Adapter, Composite, Decorator
  • Chain of Responsibility, Observer / Publish-Subscribe, Strategy, Template
  • Data Access Object (DAO)

Course Testimonials

I had taken another class before with the instructor for this class, Aleksandar Gargenta, and he has demonstrated on multiple occasions that he is very well versed in the content he is presenting. I feel like I got a lot out of this course.

- Computer Sciences Corporation

The instructor had great sound affects! We all especially loved the "BOOMS"! :-) He was good at asking and making sure that everyone understood the topic. If we needed more time, he allowed for it as well.

- Xerox

Every topic that I was looking for practice or deeper explanation was covered completely. Topics that I already had a good understanding of were explained further, and I was able to pick up details that I either did not know or had previously overlooked, which will help improve my future coding.

- Computer Sciences Corporation

Outstanding instructor. Innovative, responsive and (best of all) took great care to point out all of the pitfalls, did not rely on simply presenting correct examples. Excellent presentation style, very clear and very consciencious at the same time. [Can we hire this guy for TFMS?]

- Computer Sciences Corporation

The instructor and materials were excellent.

- Computer Sciences Corporation

The instructor was top notch. I couldn't imagine anyone doing a better job of trying to cover so much material in so short a time. He knew this stuff cold. He had an amazing ability to teach.

- Computer Sciences Corporation

The instructor was very knowledgeable.

- Computer Sciences Corporation