Advanced Java Programming

Learn via : Virtual Classroom / Online
Duration : 5 Days
  1. Home
  2. 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.