Advanced Java Programming
Course Description
This course is designed for developers who are already familiar with the Java language basics and topics. It is intended to introduce advanced skills to experienced programmers, including details of the Java runtime environment to help understanding the behavior of the language. The course covers topics, such as the class loaders, garbage collector, reflections and Java security model, which are essential to understanding and interacting with the Java Virtual Machine.
Course Duration
4 days
Course Objectives
This course is designed to provide the delegates with detailed knowledge of the Java language through many advanced topics. On completion of this course delegates should:
• understand the role of objects, classes and interfaces in Java programs;
• learn how to create exception classes, and how to throw and handle exceptions effectively;
• be able to use the generics, enumerations and scanner classes;
• apply various design patterns and advanced programming techniques in constructing dynamic and flexible programs;
• be able to apply the principles of multi-threading programming;
• understand and use various reflection classes and methods in order to construct highly flexible programs;
• understand the internal behavior of the java virtual machine with respect to class loading, garbage collection and Java security model;
• be able to write efficient Java programs by calling native code from within Java programs;
• understand the issues related to ensuring good performance in Java programs with respect to program size and execution speed;
• understand the role of objects, classes and interfaces in Java programs;
• learn how to create exception classes, and how to throw and handle exceptions effectively;
• be able to use the generics, enumerations and scanner classes;
• apply various design patterns and advanced programming techniques in constructing dynamic and flexible programs;
• be able to apply the principles of multi-threading programming;
• understand and use various reflection classes and methods in order to construct highly flexible programs;
• understand the internal behavior of the java virtual machine with respect to class loading, garbage collection and Java security model;
• be able to write efficient Java programs by calling native code from within Java programs;
• understand the issues related to ensuring good performance in Java programs with respect to program size and execution speed;
Course Content
Review of Java OO Programming Effective Use of Exceptions
Programming with Generics
Design Patterns and Java
Advanced Multithreading and Java Thread Tools
Reflection
Class File Structure and Class Loading
The Java VM Garbage Collector
Building Java Applications with Ant
Unit Testing Using JUnit
Java Security Model
Calling Native Methods from Java
Java Performance Hints and Tips
Introduction to MVC with Struts
Programming with Generics
Design Patterns and Java
Advanced Multithreading and Java Thread Tools
Reflection
Class File Structure and Class Loading
The Java VM Garbage Collector
Building Java Applications with Ant
Unit Testing Using JUnit
Java Security Model
Calling Native Methods from Java
Java Performance Hints and Tips
Introduction to MVC with Struts
Who should attend?
This course is aimed at experience programmers who wish to gain detailed knowledge about the working and internals of the Java Language.
Pre-requisites
Candidates should have previous Knowledge of Java, 00 design, data structures & algorithms, and operating systems internals. Attending the Core Java Programming course prior to attending this course would be very beneficial.