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.