Java 21 JDK Core Programming

Inquire now

This course develops advanced programming skills using Java 21 JDK Platform. It covers advanced object-oriented design, generics and collections, exception handling, file processing, concurrency, database connectivity, and application troubleshooting. Participants learn to build and maintain reliable Java SE 7 applications and integrate their skills through a practical capstone project.

 

Duration 5 days – 35 hrs 

 

Objectives

  • Apply advanced object-oriented principles to develop maintainable Java applications.
  • Use generics and appropriate collection types to organize and process data.
  • Apply Java 21 JDK language enhancements and robust exception-handling techniques.
  • Manage files and directories using the NIO.2 API.
  • Develop concurrent applications using executors, synchronization, and concurrent collections.
  • Apply the Fork/Join framework to suitable parallel processing tasks.
  • Implement database operations and transactions using JDBC.
  • Use reflection and annotations for runtime inspection and metadata handling.
  • Investigate application performance, memory usage, and threading issues.
  • Integrate advanced Java features into a complete application.

 

Target Audience 

  • Java developers seeking advanced Java JDK programming skills.
  • Software engineers maintaining Java 21 JDK applications.
  • Application developers working with file processing, concurrency, and database integration.
  • Technical leads who need a deeper understanding of Java application behavior.
  • Developers preparing to support or enhance existing Java 21 JDK systems.

 

 Prerequisites 

  • Completion of a Java fundamentals course or equivalent practical experience.
  • Proficiency in Java syntax, control flow, methods, classes, and interfaces.
  • Working knowledge of inheritance, polymorphism, and encapsulation.
  • Familiarity with basic exception handling, collections, and file input/output.
  • Ability to compile, run, and debug Java applications using an IDE.
  • Basic understanding of relational databases and SQL statements.

 

 

Course Outline 

Module 1: Advanced Object-Oriented Programming

  • Review on Basic Java
    • Instance and static variables
    • Local scoped variables
    • Methods
    • Access and non-access modifiers
    • Primitive and reference variables
    • Program constructs and the Pattern Match project
    • Java Coding Standard version 2010
  • The principles of OOP
  • Applying abstraction and encapsulation
  • The HAS-A relationships among classes
  • Applying composition, inheritance, and polymorphism
  • The Java design patterns 

 

Module 2: Exception Handling

  • Throwables, Error, and Exceptions
  • Checked and unchecked exceptions
  • Ways of managing exceptions
    • Simple try-catch
    • Multiple catch implementation
    • Throwing and re-throwing
    • Try-with-resources and the AutoCloseable interface
  • Risky methods
  • Best practices in managing exceptions

 

Module 3: Advanced Generics and Collections

  • Generic classes, interfaces, and methods
  • Diamond syntax for generic object creation
  • Bounded type parameters and wildcards
  • Type erasure and generic type limitations
  • Collection Framework
  • Frozen collections
  • Concurrent collections
  • Java Data Structures (Stack and Queue)
  • Sorting with Comparable and Comparator
  • Collection performance and safe iteration

 

Module 4: JVM Diagnostics and Performance

  • The Object and overriding equals(), hashCode(), and toString() correctly
  • Designing immutable objects
  • Using nested, inner, and anonymous classes
  • The Enum classes
  • JVM memory areas and garbage collection fundamentals
  • Identifying unnecessary object retention
  • Examining thread activity and thread dumps
  • Monitoring applications with JConsole and VisualVM
  • Using logging to investigate failures
  • Identifying bottlenecks before making optimizations

 

Module 5: Thread Safety and Synchronization

  • Creating lightweight processes
    • Thread
    • Runnable
  • Thread lifecycle and shared mutable state
  • Thread utilities for synchronization
  • Synchronization techniques
    • Race conditions and memory visibility
    • Appropriate use of volatile
    • Synchronization and intrinsic locks
    • Mutual exclusion
  • The Executor Framework and Concurrent APIs
    • Task cancellation, timeouts, and orderly shutdown
  • Concurrent collections and blocking queues
  • The Callable<T> task
  • Asynchronous methods
    • Future<T>
    • CompletableFuture<T>
  • Explicit locks and atomic variables
  • Semaphores
  • Deadlock prevention and thread interruption
  • Coordination using latches, barriers, and semaphores

 

Module 6: Non-blocking Input/Output

  • Review on the old IO APIs
  • Object serialization, transient fields, and version compatibility
  • Risks of deserializing untrusted data
  • Working with Path, Paths, and Files and the NIO 2.0
    • Creating, copying, moving, and deleting files
    • Reading and updating file attributes
    • Traversing directory trees with file visitors
    • Filtering files and handling symbolic links
    • Monitoring directory changes with WatchService
  • Byte streams, character streams, and character encoding
  • Buffered input/output and resource management
  • Data streams and random-access files
  • Buffers and channels

 

Module 7: Parallel Processing with Fork/Join

  • Divide-and-conquer task design
  • ForkJoinPool and work stealing
  • RecursiveTask and RecursiveAction
  • Selecting task thresholds
  • Combining results safely
  • Recognizing workloads unsuitable for Fork/Join

 

Module 8: Reflection and Annotations

  • Inspecting classes, methods, constructors, and fields
  • Creating objects and invoking methods dynamically
  • Defining custom annotations
  • Annotation targets and retention policies
  • Reading annotations at runtime
  • Reflection limitations and maintainability considerations

  

Module 9: Advanced JDBC Programming

  • JDBC architecture and database connections
  • Prepared statements and parameterized queries
  • Processing result sets and database metadata
  • Batch operations
  • Transactions, rollback, and savepoints
  • Transaction isolation concepts
  • JDBC 4.1 resource handling and RowSet fundamentals

 

Module 11: Designing Reliable Data Access

  • Separating database logic through the Data Access Object pattern
  • Mapping database records to Java objects
  • Managing connection and statement lifecycles
  • Defining transaction boundaries
  • Handling database errors consistently
  • Connection pooling concepts and DataSource

 

Module 12: Managing Java projects

  • Using Maven for project structuring and building
  • Packaging the projects
  • Deployment to Git and Github
  • Introduction to CI/CD
  • Introduction to Jakarta EE for web development and API

 

Inquire now

Best selling courses

Duration: 5 days – 35 hrs   Overview The “SOC Network and Threat Detection and Analysis” training course is designed to equip Security Operations Center (SOC) analysts and IT security professionals with the skills and knowledge required to detect, analyze, and respond to network threats effectively. This comprehensive course covers essential topics such as threat...

Duration 1 day – 7 hrs   Overview   This 1-day training builds upon basic warehouse operations knowledge and introduces key logistics concepts involved in the movement and coordination of goods—especially wet and dry food items—within and outside the warehouse. Participants will explore transport logistics, inbound and outbound coordination, documentation practices, and cold chain considerations,...

Duration 2 days – 14 hrs   Overview   This hands-on course provides an introduction to Splunk, a powerful platform for searching, monitoring, and analyzing machine-generated data. The training focuses on how developers and QA professionals can leverage Splunk to gain insights from logs and metrics, improve application observability, detect anomalies, and support test validation....

Duration 3 days – 21 hrs   Overview.   This course is designed for fresh graduates aspiring to build a career in Data Science. It introduces the fundamentals of data science, focusing on data analysis, visualization, and basic machine learning concepts using Python. The course provides hands-on practice with real-world datasets, equipping participants with the...

Among the most popular and widely implemented NoSQL databases is MongoDB. Its scalability, robustness, and flexibility have made it extremely popular among the Fortune 500 and Global 500 companies who use it to implement a variety of activities including social communications, analytics, content management, archiving, and other activities.

PROGRAMMING / CODING

ASP.NET

SP.NET is a framework for developing dynamic web applications. It supports languages like VB.Net, C#, Jscript.Net, etc. The programming logic and content can be developed separately in Microsoft Asp.Net.

Duration 5 days – 35 hrs   Overview   This Data Science and Analytics Training Course provides a structured and hands-on foundation in data analytics, statistics, visualization, and applied machine learning. Participants will learn how to transform raw data into insights, build dashboards and meaningful reports, and create basic predictive models to support business decision-making....

Apache SystemML with Machine Learning is a practical, hands-on training program designed to help developers, data professionals, and analysts build machine learning solutions using Apache SystemML. The course introduces SystemML architecture, machine learning concepts, data processing, algorithm development, model training, and scalable analytics for large datasets. Participants will gain practical experience creating and executing machine...

// BG EARTH WHEN NOT PLAYING

We use cookies on our website to personalize your experience by storing your preferences and recognizing repeat visits. By clicking “Accept”, you agree to the use of all cookies. You can also select “Cookie Settings” to adjust your preferences and provide more specific consent. Cookie Policy