EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Advanced Java

Course outline

5 days

Duration

Advanced Java

5 days

Pre-Course Setup

  • Install Java JDK 21
  • Install Eclipse IDE
  • Install MySQL database and MySQL Workbench

Day 1: Introduction and Java Threads

Morning Session:

  • Welcome and Introductions
  • Overview of the course objectives and schedule
  • Participant introductions and background
  • Java Setup
  • Installation and setup of Java JDK 21, Eclipse, and MySQL database and workbench
  • Basic Java refresher for those with non-Java backgrounds

Afternoon Session:

  • Java Threads: Fundamentals
  • Introduction to Multithreading
  • Creating and managing threads in Java
  • Thread Objects and Immutability
  • Working with Thread class and Runnable interface
  • Understanding thread immutability and its importance

Day 2: Advanced Thread Management

Morning Session:

  • Synchronization
  • Synchronization techniques in Java
  • Locks, Monitors, and synchronized blocks
  • Java Concurrent Applications
  • Introduction to Java’s concurrency utilities (java.util.concurrent package)
  • Using ExecutorService for managing threads

Afternoon Session:

  • Concurrent Collections
  • Overview of concurrent collections (ConcurrentHashMap, ConcurrentLinkedQueue)
  • Practical examples and use cases
  • Hands-on Lab: Thread Management
  • Practical exercises on creating, managing, and synchronizing threads

Day 3: Performance and Fork-Join Framework

Morning Session:

  • Concurrent Performance
  • Understanding performance hazards (deadlocks, livelocks)
  • Techniques for performance evaluation and tuning
  • Fork-Join Framework
  • Introduction to Fork-Join framework
  • RecursiveTask and RecursiveAction

Afternoon Session:

  • Advanced Fork-Join Techniques
  • Work-stealing algorithm
  • Optimizing Fork-Join tasks
  • Hands-on Lab: Fork-Join Framework
  • Practical exercises using the Fork-Join framework

Day 4: Advanced Concurrency and Socket Programming

Morning Session:

  • Advanced Concurrent Topics
  • Atomic variables and classes (AtomicInteger, AtomicReference)
  • Non-blocking algorithms and data structures
  • Parallel streams and their use cases
  • Socket Programming: Fundamentals
  • Introduction to network programming in Java
  • Basics of UDP and TCP protocols

Afternoon Session:

  • Socket Programming: Advanced
  • Creating UDP and TCP clients and servers
  • Handling multiple connections
  • Hands-on Lab: Socket Programming
  • Practical exercises on creating network applications

Day 5: Database Integration and New Features in Java 21

Morning Session:

  • Database Connectivity with JDBC
  • Introduction to JDBC and its architecture
  • Connecting to MySQL database, executing queries, and handling results
  • New Features in Java 21
  • Overview of the latest features in Java 21
  • Practical applications of new features

Afternoon Session:

  • Project Development
  • Participants start working on their individual projects
  • Instructors provide guidance and support
  • Project Presentations and Wrap-Up
  • Participants present their projects
  • Course review and feedback session
  • Certificates and closing remarks

Project Guidelines

  • Develop a concurrent application using Java Threads or Fork-Join framework
  • Implement socket programming (UDP/TCP) for communication
  • Integrate with a MySQL database using JDBC
  • Use at least one new feature from Java 21

Programme scope, delivery arrangements and suitability are confirmed during enquiry.