Java programming – advanced

Java programming – advanced

Course overview

Do you want to deepen your knowledge of Java and become an expert in advanced programming?
This course is tailored for those who already know the basics and want to take the next step towards professional development with Java.

You will learn:

  • Design Patterns in Practice
    Learn to use proven design patterns to write robust, scalable, and maintainable code.
  • Managing XML files efficiently
    Discover techniques for working with XML – both for configuration and data storage.
  • High-performance multi-threaded applications
    Create advanced programs with traditional thread classes and the Executor Framework.
  • Network Programming & Distributed Systems
    Understand the basics of network communication and how to build distributed RMI applications.
  • JavaBeans
    Learn how to create reused components.
  • Code Analysis and Performance Optimization
    Finally, the course includes methods for analysis of existing classes, optimization of existing code and performance measurement for Java applications.

This product is currently out of stock and unavailable.

Course Objective

  • Writing efficient Java code
  • Understand how Java works in depth
  • Applying design patterns in Java
  • Building robust changeable systems
  • Create advanced multi-threaded applications
  • Using different Java techniques for handling XML files
  • Create distributed client/server solutions
  • Creating reusable components
  • Managing performance measurement tools

Target Group

Java-savvy programmers, systems engineers and project managers who want to build advanced systems that exploit the full potential of Java.

Prerequisites

Knowledge of Java programming and basic knowledge of object orientation.

Certification

This course does not have any associated certification. Each participant who completes the course receives a course certificate.

Trainer

This course is delivered in collaboration with one of Informator’s partners.

More about the course

Course content

1. design patterns

  • Advanced object orientation with Java and UML
  • Creating patterns
  • Structural patterns
  • Behavioral patterns
  • Application of design patterns in the Java standard library

2. Threaded programming with Java

  • Runnable interface and Thread class
  • Synchronization: synchronized, wait, notify, notifyAll
  • Technology for wire-secure code
  • The primitives behind wire management
  • Rules for variables and locks
  • Producer-Consumer design patterns

3. Executor Framework

  • Framework java.util.concurrent
  • Executor and ExecutorService
  • The Callable interface
  • Future and FutureTask interfaces
  • Specially designed classes: Semaphore, CountDownLatch, CyclicBarrier, Exchanger
  • Thread-safe collection classes: BlockingQueue, DelayQueue ConcurrentHashMap
  • Lock: Lock, ReadWriteLock, ReentrantLock, Condition
  • Atomic variables
  • Fork/Join framework

4. Java and XML

  • XML: Text-based standard for data
  • JAXP, JAXB: Java support for handling XML
  • Validation of XML documents with DTD, XML Schema
  • Techniques for parsing XML in Java: SAX, DOM
  • Manipulating XML-based data in Java
  • XML for configuration and processing of Java applications
  • Techniques for reading and writing XML with StAX

5. New I/O

  • Package java.nio
  • Performance improvements compared to java.io
  • Classes for Effective Two-Way Communication
  • Channels
  • Buffers
  • Direct transfer between streams via underlying OS
  • NIO2 Accessing the underlying File System

6. Network programming with Java

  • ServerSocket and Socket
  • Setting up a server
  • Connecting to server from client
  • Two-way communication over Socket connection
  • ServerSocketChannel and SocketChannel for non-blocking communication

7. Distributed services

  • Distributed services
  • Register for accessing services
  • RMI – Remote Method Invocation
  • Implementation of RMI service
  • Registration of RMI object in rmiregistry on server
  • Calling RMI objects via name service
  • CORBA
  • WebServices

8. Java Deep Dive

  • Reflection
  • ClassLoaders
  • Security

9. JavaBeans

  • Software components
  • JavaBeans definition and properties
  • Attribute: Normal, Indexed, Bound, Constrained
  • PropertyChangeSupport / VetoableChangeSupport
  • Callback procedures for event listeners
  • Serialization to XML format
  • JavaBeans and JSP
  • Enterprise Java Beans (EJB)

10. Performance

  • Optimization
  • Java execution environment
  • Java’s memory allocation
  • Compiler technology
  • JWC parameters
  • Automatic memory recovery

Course overview

3 days

Advanced

Can’t find a (suitable) date, but are interested in the course? Send in an expression of interest and we will do what we can to get an opportunity that suits.

För samtliga utbildningar gäller våra
Allmänna Villkor.

Company-adapted course

The course can be adapted from several perspectives:
  • Content and focus area
  • Scope of application
  • Structure

In collaboration with the course leader, we make sure that the course meets your wishes

Send an expression of interest for the training

Send an expression of interest for the training