
Set up the eclipse environment with Java 17, download eclipse, create a new workspace, and configure a Java fundamentals project to use Java 17, including module-info.java.
Create and run a simple class with a public static void main in Eclipse for a Java 17 environment, printing hello world via System.out.println.
Explore java's structure with the jdk compiler, runtime, and jvm. Ensure every executable class has public static void main(String[] args) as entry point, noting overloads must use the same signature.
Learn how to pass and access string arguments to a Java program using the main method’s string array, via run configurations with program and VM arguments and the command line.
This file contains all the demonstrations from this section.
Define a class as a template and factory for objects, with properties base and height and behaviors like init data, display data, and calculate area. Show a triangle example.
Invoke instance methods using an object reference by initializing base and height with init data, then display data and calculate area for a triangle.
Explore Java constructors, including the default constructor and parameterized (overloaded) constructor, and how the JVM initializes fields to default values, setting triangle base and height and calculating area.
Learn how the this keyword in Java denotes the current object, differentiates instance variables from parameters, enables method and constructor calls, and guides its use as first line in constructors.
Learn about local variables and instance variables in Java, their visibility and default values, with examples from blocks and methods, and note that static variables are introduced later.
Explain how static variables share data across all objects by using a counter example, and show how to declare and access a static field and its limitations.
This file contains all the source codes for this section.
Understand abstraction by hiding internal implementation and exposing simple interfaces, as shown by a coffee vending machine and a car. Java uses interfaces and abstract classes to provide customizable services.
Learn how Java implements encapsulation by making data members private and accessing them via public getters and setters.
Explore tight encapsulation in Java by making data members private and exposing them through public methods to protect object state and enforce business logic.
Learn how inheritance lets you create new objects from existing ones by extending classes or using interfaces in Java.
Discover how to implement basic inheritance in Java using the extends keyword, by creating an Animal class with eat and sleep and a Dog that inherits its behavior.
Describe how the super keyword invokes the superclass constructor during object creation in animal and dog examples, and how to address missing default constructors with parameterized super calls in subclasses.
Explore how polymorphism lets a single behavior take multiple forms through method overloading and overriding, illustrated by the draw method in shapes.
Explain rules of method overriding in Java, including inheritance, matching argument lists, covariant return types, access modifiers, and that final, static, and private methods cannot be overridden, with checked exceptions.
Explore method overriding and dynamic polymorphism in Java by customizing the eat method in a dog subclass while using the animal's sleep method, and learn runtime method resolution.
Explore polymorphic reference and dynamic dispatch, where a superclass reference to a subclass object calls only superclass methods unless you downcast to access subclass methods like get trained.
Discover how the final keyword in Java prevents reinitialization of variables and data members, creating constants. Learn that final methods cannot be overridden and final classes cannot be subclassed.
Explore containment as a practical object relationship and reuse. Create a reusable address object with city and country, and embed it in customer or employee classes.
Discover how Java's cosmic superclass, the Object class, supplies common methods such as clone, equals, hashCode, and getClass, illustrated by an employee class, its constructors, and a simple display method.
Override the equals method to compare two employee objects by id and name, casting the input object to employee and returning true only when both fields match.
Compare the equals method with the == operator to show how reference equality differs from member-wise object equality, and explain overriding equals for content-based comparison using an employee example.
Override the toString method to customize an object's string representation for meaningful console output. System.out.println invokes toString, enabling you to return a combined employee id and employee name.
The clone method in the object superclass creates a copy of an existing object, with cloning controlled by the Clonable marker interface and optional deep copying via overriding.
Explore how abstract classes cannot be instantiated but can be referenced by subclass objects, enabling polymorphism and dynamic dispatch, with constructors and concrete methods sharing data.
Understand marker interfaces in Java, empty interfaces that signal a class's facilities without methods. See how predefined interfaces like clonable and serializable indicate an object can be cloned or serialized.
Explore how default methods in interfaces, introduced in Java 8, support backward compatibility and enable lambda-friendly design by providing method implementations in interfaces.
Java 8 introduces static methods in interfaces, providing code within the interface. These cannot be overridden by implementing classes and are invoked as InterfaceName.methodName.
This file contains all the source codes for this section.
Master Java users explore nested if else by evaluating condition one in the outer if, then condition two in the inner if, guiding block one, inner else, or block two.
Java 16 pattern matching removes explicit casting in instanceof checks by binding a pattern variable when p is an employee, with the variable scoped to the true block.
Master Java for loops and nested for loops by exploring initialization, boolean condition, and step in a readable syntax; learn outer and inner loop execution and practical practice for interviews.
Master the enhanced for loop (for each) in Java, iterating over arrays or collections with a data type and colon syntax, noting it requires iterable collections and cannot go backward.
Explore how while and do-while loops in Java iterate the body based on a boolean condition. While evaluates the condition before execution, do-while runs at least once before checking.
Explore Java 14's switch with the expression, returning values with the arrow operator or using yield for cases with logic, reducing redundancy and enabling value-driven business logic.
Learn to use labels in java to control loop flow in nested loops, employing break and continue with or without labels to target outer or inner loops.
Learn how to define a Java enum, create a coffee type enum, and access its constants such as Americano, Cappuccino, and Espresso, printing their string representations.
Learn how to use enum objects to drive business logic in Java by selecting coffee types, implementing a constructor, and handling cases with a switch statement.
Learn how to add constructors in enums, connect them to constants, and override methods like toString or abstract methods to customize per-constant behavior with coffee types.
This file contains all the source codes for this section
Explore single dimensional arrays in java: declare with type and square brackets or with new, initialize elements, and print with for or enhanced for loops, including arrays of objects.
Master Java 9.0 to 17.0 teaches creating and using 2D arrays in Java by declaring, initializing, and accessing array of arrays, and printing elements with nested loops.
The file contains all the source codes for this section.
Explore the java.time LocalDate class, create dates with now and of methods, use parse for text input, and understand the import and enum month options in date time demos.
Learn to extract data from local date using getters (day of month, day of week, month), format with DateTimeFormatter, use zone id and epoch day, and plus/minus date arithmetic.
Learn how to work with local time in Java using LocalTime, including creating instances with now and off, parsing strings, formatting with DateTimeFormatter, and comparing or adjusting times.
Explore the zoned date time class in the Java time API, printing current zone date time and converting to GMT or UTC using zone IDs.
Learn how to handle unsupported temporal type exceptions when extracting years from a duration by instead using the duration to obtain hours or minutes with get or toHours methods.
Explore the Instant class in the Java DateTime API, learn how it uses UTC time, nanosecond precision, and epoch seconds to represent precise moments on a timeline.
This file contains all the source codes for this section.
Explore core string API methods like charAt, endsWith, and toUpperCase, distinguish processing versus data extraction, and discuss zero-based indices and string immutability with reassignment after transformation.
Master Java string API by comparing strings with equals and equalsIgnoreCase, trimming spaces, chaining methods, concatenating with plus or concat, and splitting or replacing content.
Explore how the string pool manages memory for string literals in Java, showing how literals share references, how new creates distinct objects, and how intern consolidates to the pool.
Explore StringBuffer and StringBuilder, mutable strings where StringBuffer is thread safe and StringBuilder is not, and see common methods like append, delete, and substring.
Explore Java 11 string updates: isBlank, lines, and repeat, including whitespace handling, line separators, and streaming lines for printing, and repeating a string multiple times.
Explore the Java 15 string API update with text blocks, enabling multiline strings for HTML and JSON content. Learn how three quotes text blocks replace concatenation and simplify string handling.
This file contains all the source codes for this section.
Explore the two types of exceptions the JVM recognizes: checked exceptions, enforced at compile time, and unchecked exceptions, runtime errors that may crash the program if not handled.
Explore implementing exception handling with a try-catch block in Java, including a hands-on demo that shows arithmetic exception and division by zero with graceful error messaging.
Explore catch block chaining to handle multiple exceptions with chained catch blocks. The lecture demonstrates array index out of bounds and arithmetic exceptions and how they are managed.
Learn to use a multi catch block with the or (|) operator to handle multiple exceptions in one catch, and compare generic versus specific handling strategies.
Learn to handle Java exceptions with a try-catch block, gracefully catching arithmetic exceptions like division by zero, and understand variable scope within try blocks for clean, resilient code.
Explore how to use the throws keyword to propagate checked exceptions like file not found, letting the invoker handle them with try-catch while implementing file operations.
Explore Java 14's improved null pointer exception messages with a small demonstration that shows line-specific details and the cannot invoke string.toUpperCase when the reference is null.
This file contains all the source codes for this section.
Learn how to set up and connect MySQL for Java projects, including installing MySQL, using the command line and workbench, creating a database, listing tables, and running basic select queries.
Explore the JDBC API in the java.sql module, including driver manager and get connection, using interfaces such as connection, statement, resultset, prepared statement, and callable statement to work with MySQL.
Set up a JDBC project with module support from Java 9+, create module-info, add requires java.sql, and include the MySQL driver in Eclipse to connect to a MySQL 8.6 database.
Establish a database connection using JDBC with DriverManager.getConnection for a MySQL database on port 3306, using the URL, username, and password. Address the module system requirement and packaging.
Learn how SSLException occurs when database communication with encrypted channels isn't closed properly. Append useSSL=false to the JDBC URL to disable encryption and prevent ssl exceptions.
Learn to use the statement interface and execute query to fetch records from employee table, iterate result set, and retrieve data with get int or get string by column index.
Explore how the JDBC prepared statement precompiles queries to reduce driver database load, enabling safe parameter binding with setInt and setString for inserts.
Create and invoke simple stored procedures in MySQL using MySQL Workbench, including a get all employees example and using precompiled query blocks.
this lecture explains creating a stored procedure with an out parameter to return a department employee count by counting rows where dept matches input, then retrieving and printing the total.
Master in-out parameters in stored procedures by using a single variable for input and output, illustrated by a counter that updates 10 to 12.
Learn how to invoke MySQL stored procedures from Java using the CallableStatement, including preparing the call, executing queries, and handling in and out parameters.
Create and manage save points in Java applications to rollback to a specific point or commit subsequent transactions, using connection save points and rollback to SP2.
This file contains all the source codes for this section.
Learning Java was always a FUN. Understanding and implementing OOPs to design and develop Java application was enjoyable for sure.
That was true, until few years back. To be specific until Java 10 version was launched with the new approach of "Time based version release". Under this approach, for every 6 months new Java version will be released. For instance, Java 10 was launched on March 20, 2018, and Java 11 was launched on Sept 15, 2018, exactly after 6 months.
Though this was good approach for API developers (as they can release smaller chunks), it had become a nightmare for developers. Getting to know the API changes in each and every version is not a simple job for sure. Though every version might not have drastic changes, there has to be enough support and evidence from the community for which developers would always struggle.
This course is savior for all such developers, who are keen to know the API changes from Java 9 to Java 17. During this entire course you will learn almost all the features those were introduced as a part of corresponding version release. The course "Master Java 9.0 to 17.0" does not only explain you the concepts, but also covers the proof of the concept by using different programs. Though the course title is, "Master Java 9.0 to 17.0" is covers everything that you need to know to become successful Java developers. For instance, the course covers functional interfaces, lambdas, and stream programing from Java 8 as well. Along with this it covers features like JPMS(Java Platform Module System) from Java 9, and other concepts like modified switch case, var keyword, updates in Stream and Collection API etc. Even if you are new to Java, this course is right choice for you because it covers the traditional concepts like concurrency, collection, generics, exception handling, String api etc. This course will be certainly one of the best choices for you, if you are aiming to make a exciting career in Java.
So, if you are really keen to learn all the features from Java 9.0 to 17.0, REGISTER FOR THIS COURSE.