Core Java Training is designed for developers who want to strengthen their knowledge of essential Java programming concepts and advance beyond the basics. This practical course covers object-oriented programming, collections, generics, multithreading, Java I/O, and functional programming through hands-on exercises and real-world development scenarios.
Duration 5 days – 35 hrs
Overview
The Java Programming Concepts (Core) Training Course is a comprehensive 5-day program designed for developers who already have a basic understanding of Java and want to strengthen their knowledge of the language’s core programming concepts. The course goes beyond basic syntax and programming fundamentals, focusing on the features and techniques developers need to create efficient, maintainable, and reliable Java applications.
Throughout the Core Java Training, participants will explore essential areas of professional Java development, including object-oriented programming, Java APIs, exception handling, generics, collections, nested classes, multithreading, functional programming, and Java I/O. These concepts provide the foundation required to understand how Java applications are structured, executed, optimized, and maintained.
The training places particular emphasis on practical application. Participants will work with the Java Collection Framework, generic classes and methods, exception-handling techniques, streams, and multithreading APIs. They will also learn how Java manages objects and resources and how developers can use built-in APIs to solve common programming challenges more effectively.
Participants will gain experience with modern Java programming approaches, including Stream APIs, functional programming concepts, and the New I/O (NIO) utilities. The course also introduces tools and techniques for understanding application behavior and performance, helping learners develop better awareness of how Java programs operate within the Java Virtual Machine.
Through practical exercises and development activities, participants will have opportunities to apply the concepts covered throughout the course. The training encourages learners to write cleaner and more efficient code while developing stronger problem-solving skills that can be applied to real-world Java projects.
By the end of the Java Programming Concepts (Core) Training Course, participants will have a deeper understanding of Core Java and greater confidence in applying advanced programming concepts to application development. The course provides a strong foundation for developers who want to progress toward enterprise Java development, Spring Framework development, backend programming, and other advanced Java technologies.
Learning Objectives
- Deepen understanding of object-oriented programming in Java.
- Master advanced Java concepts such as generics, collections, and multithreading.
- Learn to handle exceptions and perform file I/O operations.
- Gain proficiency in using Java APIs and libraries.
- Develop the ability to write efficient and optimized Java code.
- Understand and implement design patterns in Java.
- Build real-world Java applications through hands-on projects and exercises.
Audience
- Java developers with a basic understanding of Java who want to advance their skills.
- Software engineers and developers looking to enhance their core Java knowledge.
- Students and professionals seeking to build robust and efficient Java applications.
Pre- requisites
- Basic knowledge of Java programming.
- Familiarity with fundamental programming concepts and syntax.
- Completion of a basic Java course or equivalent experience.
Course Content
The built-in Java API Classes
- The core package java.lang
- The utility package java.util
- The big number package java.math
- The formatting extension java.text
- The old I/O utility java.io
The object-oriented programming concepts
- The Grady Booch principle of OOP
- Review on class and its instantiation process
- Principles of OOP
- Understanding UML using Eclipse IDE
Exception Handling
- Difference between Error and Exception classes
- The try-catch block
- Different approach in handling exceptions
- Implementing risky methods
- Implementing custom Exceptions
Concept of Generic classes
- Learning the generic class
- Placeholder variables
- Implementing generics or generic classes
- Generic methods
The Java Collection Framework
- The Collection interfaces
- The Collections utility class
- The List interface and its implementation classes
- The Set interface and its implementation classes
- The Map interface and its implementation classes
- The PriorityQueue implementation of the Queue interface
- The old Java Abstract Data Types: Stack and Queue
- Sorting classes in a collection
- The Enumeration, Iterator, and ListIterator
- Customizing Collections
The Object anatomy
- Revisiting the instantiation process
- The core classes of an Object
- The constructor
- The this() and super() methods
- The this and super keywords
- The JVM using visualvm profiling tool
The Java nested classes
- The typical inner class
- The static inner class
- The method-local inner class
- The anonymous inner class
The threading concepts
- Thread and process
- Ways of implementing multithreading
- Managing multi-threads
- Callable and Future APIs
- The Executor Framework
The Java functional programming concepts
- The Stream APIs
- Learning different functional classes
- Collections and Streams
Introduction to the New I/O Utility
- Creating text files using non-blocking buffered APIs
- Applying CharBuffer and ByteBuffer
- Using FileChannel
- Using the mapped classes

