Duration 5 days – 35 hrs
Overview
The Java Programming Concepts (Core) Training Course is designed for individuals who have a basic understanding of Java and want to deepen their knowledge of core Java programming concepts. This course covers essential Java topics, including advanced object-oriented programming, multithreading, collections framework, and Java input/output (I/O). By the end of the course, participants will have a strong foundation in core Java programming, enabling them to develop robust and efficient Java applications.
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