
Understand that an exception is a runtime event that disrupts program’s flow, with examples like division by zero or missing files, propagated through the call stack and needing handling.
Master the Java exception handling mechanism, including try, catch, throw and finally, the exception class hierarchy, and features like multi-catch introduced in 1.7.
Explore how auto boxing converts primitive types to wrapper objects for use in collections, compare explicit and implicit boxing, and understand unboxing, caching, and evolution from Java 1.0 to 1.5.
Explore Java collections by examining the collection and list interfaces, implementing with a list class, set, and map variants, and learning access, addition, removal, and iteration of elements.
Explore how Java generics enable type-safe, reusable code by writing generic classes, using type inference, and eliminating casting, with examples from stacks, lists, and maps.
Learn to use the Java Properties class as a dictionary of string keys and values, load and save properties from external files, and access system properties at runtime.
Explore Java I/O by using byte and character streams to read and write data. Understand standard streams like System.in, System.out, and System.err and the role of input and output streams.
Differentiate high-level and low-level streams and implement data input and output streams with buffering to read and write primitives, strings, and bytes using the file class and random access file.
This course is designed for learners who already understand Java basics and want to move toward advanced Java programming concepts used in real-world applications. It focuses on building strong foundations in exception handling, collections, generics, multithreading, file handling, GUI development, networking, and database connectivity.
You will start by mastering exception handling, understanding how Java manages runtime errors and how to write robust, fault-tolerant applications. The course then dives deep into collections and generics, covering sorting, autoboxing, and efficient data handling techniques.
File handling and I/O operations are explained in detail, including streams, readers, writers, serialization (binary and XML), and working with keyboard and file input/output. You will also explore multithreaded programming, learning how to create, control, and synchronize threads for concurrent execution.
The course introduces Java GUI development using AWT and Swing, helping you build desktop applications with frames, buttons, labels, checkboxes, and radio buttons. You will then move into network programming, covering sockets, UDP, datagram programming, and URL handling.
A major portion of the course is dedicated to JDBC, where you’ll learn how to connect Java applications to databases, execute DML commands, work with prepared statements, stored procedures, transactions, and handle binary data.
Practice tests are included to help you validate your understanding and prepare for interviews or assessments.