Advanced Java Programming

This course provides advanced training in developing software using the Java Platform, Standard Edition, or Java SE. It is intended for students with solid experience in structured and object-oriented Java programming, including use of the Collections API and exception handling. Generic types should be understood, at least at a basic level; the course does begin with a refresher and then a more advanced treatment of generic types.

After a quick introduction to the Java Time API, students get familiar with the I/O streams model, file handling, and object serialization, and learn to use streams to communicate over network sockets. A two-chapter unit covers multi-threaded programming and concurrency techniques. We look at dynamic typing in Java, in the Reflection API and with dynamic proxies, and understand the underpinnings of source-code annotations.

Finally, several chapters at the end of the course introduce unit-testing and test-driven-development practices. Here for the first time we introduce external libraries -- JUnit, and the Mockito dynamic-mocking library -- and the study is not entirely about technology but leans more into design and good practice.


Delegates will learn to

•Make effective use of Java generic types.

•Understand the structure of streams in Java, and learn how to use streams to manage file I/O.

•Learn how to use Java Serialization to internalize and externalize potentially complex graphs of objects.

•Communicate between processes using network sockets.

•Write multi-threaded Java applications that safely manage concurrent access to application state.

•Use the Reflection API and dynamic proxies for highly generic tasks, discovery, or code-generation.

•Use standard annotations and develop custom annotations to express meta-data in Java source files.

•Build unit tests for Java classes using JUnit.

•Write effective tests, and design classes for testability.

•Understand test-driven development (TDD) and use dynamic mocking to support isolated testing.


Module -1

•    Annotations

•    Reflection API

•    Scripting API

•    Compiler API


Module -2

•    Collections

•    Performance

•    List

•    ArrayList

•    HashMap

•    Hashset

•    Set

•    Treeset

•    LinkedHashMap


Module -3

•    XML Processing

•    XML and XSD

•    JAXB lib.

•    XSL

•    XPath

•    XQuery


Module -4

•    Threads and Concurrent Programming

•    Quick summary

•    Callable

•    Executors

•    Synchronizers

•    Multi Thread


Module -5

•    Database Programming

•    JDBC

•    JPA

•    Hibernate


Module -6

•    NIO and NIO2

•    Create File

•    Delete, Write

•    File Control


Module -7

•    Networking

•    Non-Blocking

•    Sockets

•    Selector

•    Messajing


Module -8

•    Security

•    Digital Signatures

•    Message Digests

•    Symmetric/Asymmetric Ciphers


Module -9

•    New Features

•    Stream API

•    Paralel Stream

•    Map/Reduce

•    Lamda


completing Java Programming course.

Program Details
Duration 5 Days
Capacity Max 12 Persons
Training Type Classroom / Virtual Classroom


Can't find what you're looking for? Let us know if you have a query or cannot find what you are looking for.

Contact