
Gain insights from Suresh Kumar's twenty years of java based software development experience. Join a well organized course that enhances your programming knowledge and career value through corporate training.
Explore a structured Java course organized into sections and lectures with videos, source code examples, readings, and assignments to build confidence through hands-on practice.
Explore why Java matters for Android, Hibernate, Selenium, and big data, and see how core Java skills enable easy learning of frameworks and application development.
Explore Java features: object-oriented design with inheritance and polymorphism, platform independence via bytecode and the JVM, robustness with exception handling and garbage collection, plus multithreading, security, and dynamic runtime loading.
Explore lexical tokens in Java, including keywords, identifiers, literals, operators, separators, whitespace, and comments. Learn how keywords are fixed and case sensitive, and how identifiers are formed.
Explore Java's primitive data types, including byte, short, int, long, float, double, char, boolean, and void, and learn how memory usage and Unicode support shape data handling.
Explore six categories of Java operators—arithmetic operators, relative or comparison operators, logical operators, assignment operators, conditional or ternary operators, and bitwise operators. See their precedence in expressions and if statements.
Learn the tools for Java development: JDK, JRE, and IDE (Eclipse). The lecture covers downloading, installing, setting environment variables, and running a Hello world project with javac and java.
Discover how Java achieves platform independence by compiling to bytecode that runs on any platform with a JVM. The virtual machine reads bytecode and converts it to local machine code.
Explore arrays, a simple data structure that stores multiple items in RAM and allows index-based access, with declaration, initialization, length usage, and operations like max, min, average, and reverse.
Master two-dimensional arrays by working with rows and columns to store data, declare and initialize matrices with new, and traverse them to print and find maximum temperatures.
Explore conditional statements and controlled flow using if and else blocks, including else-if ladders, relational and logical expressions, to classify student grades and company sizes with practical examples.
Explore for, while, and do-while loops with initialization, condition, and expression, and learn the enhanced for loop introduced in Java 5 through practical examples like multiplication tables and prime checks.
Master core Java loops—for, while, and do-while—along with break and continue, through practical examples that demonstrate iteration control in code.
Define a method as a set of statements that processes input parameters and returns a value, illustrated by an ATM example; main calls methods and controls execution within a class.
Explore method overloading, where multiple methods share the same name but differ by argument count or type, enabling compile-time polymorphism and, later, runtime polymorphism.
Learn how a class serves as the plan in object-oriented languages like Java, how objects become class instances, and how constructors, data members, and methods enable reusability and modularity.
Explore the types of constructors in Java, including implicit, default, parameterized, and copy constructors. Learn how to create multiple constructors and initialize object data with examples.
Explore how objects are used as data members, local variables, parameters, and return types, including anonymous objects, with practical department and employee examples and array-based storage.
Encapsulation binds data and methods into a single unit within a class, forming the basic unit of object-oriented programming.
this lecture defines recursion as a method calling itself, directly or indirectly, and shows a fibonacci example up to 100, including object versus anonymous object invocation.
Learn how enums declare a set of constants as a user defined data type with capitalized names, improving readability through days, seasons, and weekend logic.
Explore the this keyword in core Java with practical examples, covering this() constructor invocation, this.data member disambiguation, and returning the current object, used in constructors and methods.
Model an array of product objects in Java by defining a Product class, initializing data, and sorting by price with bubble sort to display sorted results.
Explore the scope and lifetime of variables in a class, showing how data members are accessible from constructors and methods, and how local variables exist only during execution.
Explore how the final keyword marks variables and local variables as unchangeable, follow the capitalization convention for final data members, and note its use with classes and methods in inheritance.
Explains how the static keyword associates members with the class rather than objects, illustrating shared memory, access via class name, and when static versus non-static methods can be invoked.
Explore how access specifiers control the visibility of class data and member methods in object-oriented languages like Java, detailing private, public, and default access within classes and packages.
Explore how composition forms a has-a relationship between classes by encapsulating an address object inside an employee, illustrating containment and data ownership in practical java design.
Debugging is the process of tracing a program step by step to locate and remove bugs when output isn't as expected due to logical or syntax errors.
Explore debugging a java program by building an array example, counting multiples of five with a static method, and using breakpoints and stepping to identify and fix a logical bug.
Build confidence in Java basics by working through end-of-section coding exercises, analyzing each one, and receiving support to tackle real-world problems and complete the project.
Explore the purpose and advantages of packages in java, including how they prevent name collisions between interfaces and classes and improve modularity, accessibility, and collaboration across teams.
Learn how to create and import packages in Java using package and import keywords. Understand package visibility, public access, and cross-package usage with examples of class and method accessibility.
Explore how public class and non-public classes behave in Java packages, including access within the current package and outside packages, and how static methods affect accessibility.
Discover how a Java project splits into packages and subpackages, uses public and static access, and imports classes across packages.
Explore built-in java packages, including the default package, and how to import commonly used classes from java.lang, networking, date and time, and collections, with practical examples.
Explore Java string as Unicode, create via literals or new, and how the string pool affects memory; learn key methods like indexOf, substring, lastIndexOf, equals.
Explore the difference between string and string buffer in java, highlighting string immutability, how concatenation creates new objects, and the mutable methods of string buffer for insert, delete, and reverse.
Explore Java's math utilities in the Math class, including exponential, log, and power; learn string tokenization with StringTokenizer and dynamic delimiters; review local date and time formatting methods.
Explore the java.util.Date class, its time storage and operations, including creating, printing, comparing dates, obtaining current time in milliseconds, and formatting with SimpleDateFormat.
Explore the java.util.Random class to generate integers, booleans, and other values with a Random object. Learn to loop and concatenate digits into a 10-digit string.
Explore static import to bring static members into scope and call methods directly, reducing boilerplate while noting potential readability trade-offs.
Explore wrapper classes in Java, which convert primitives to objects for use in collections, explain boxing and unboxing, show min and max ranges, and cover conversions and binary string utilities.
Explore Java naming conventions, including capitalizing class and interface names, camelCase for members and variables, and uppercase constants with the final keyword; note optional underscore prefixes for data members.
Create and package Java applications into a jar file for distribution, then use it from another project.
Engage with end-of-section coding exercises to build confidence in solving real-time problems, analyze each exercise for better problem-solving, and seek help to successfully complete the project.
Inheritance lets a class extend a superclass, gaining its characteristics (except private members) to enable reusability and runtime polymorphism in a parent-child relationship via the extends syntax.
Explore the different types of inheritance in Java, including single, multi-level, hierarchical, hybrid, and multiple inheritance. Examine how a common base class underpins these patterns.
Explore single inheritance in Java, where a derived class extends a base class and constructors run in order as objects are created. Learn about access modifiers, encapsulation, and overloaded constructors.
Delve into multilevel inheritance in core Java, examining how constructors invoke from base to derived classes and the object creation order, illustrated by A, B, and C.
Explore hierarchical inheritance, where a single base class serves multiple derived classes or siblings, using examples with employees and contractors to illustrate super calls and inheritance in action.
Hybrid inheritance combines multiple inheritance types, including multi-level and hierarchical inheritance, to form complex class relationships. It covers constructors and super calls when the base class has no default constructor.
Explore core Java concepts: a deep dive into access modifiers, from private to public, and learn how protected supports inheritance and package-level visibility.
Explore the final keyword in inheritance in Java, showing how final can declare constants for local variables or fields, prevent method overriding, and lock class and constructor behavior.
Explore why Java does not support multiple inheritance due to the diamond problem, contrast with C++ support, and how designers avoid ambiguity and compiler errors.
This lecture explains that cyclic inheritance is not supported in java, using diagrams to show cycles and that an object can be passed as a method parameter.
Utilize the super keyword in Java to invoke base class constructors with super() and to access base class members, preventing name collisions with the derived class.
Discover the java.lang.Object class as the base class of all objects, and learn its core methods such as equals, toString, notify, and finalize, with a look at reflection.
Explore how the garbage collector runs in the background, frees memory by discarding unreferenced objects, and how to invoke it with System.gc() within core java concepts.
explore base class reference within an inheritance relationship, showing how a base class reference interacts with objects in constructor contexts while maintaining syntactic validity.
Explore runtime polymorphism through method overriding, where a base class reference can point to different objects and invoke the correct overridden method at runtime, enabling dynamic application extension.
Explore abstract classes and methods in Core Java, where the abstract keyword marks incomplete declarations to be implemented by subclasses, while the base class provides a reference and is non-instantiable.
Explore how Java interfaces declare methods and constants, enable default and static methods, and support polymorphic references without instantiation. Interfaces extend other interfaces, enabling multiple inheritance.
Practice inheritance coding exercises to build confidence solving real-time problems in java. Review decoding exercises, analyze each one, and rely on expert assistance to master project work.
Identify that an exception arises at runtime during execution, such as memory errors or index out of bounds, and Java provides built-in exception handling with keywords and classes.
Explore inbuilt exception classes, including null pointer and index out of bounds, and understand runtime issues like number format errors, stack overflow, and custom exceptions.
Explore inbuilt exception classes outside java.lang, and how predefined and custom exceptions in third-party packages affect error handling. Learn to read library documentation to handle these exceptions effectively.
Explore how multiple catch blocks work, why the catch order matters, and why the most specific exception class should be caught first to avoid compile-time errors.
Explore nested exceptions in Java by using try and catch blocks inside each other, understanding how matching catches and finally blocks control flow.
Explore the exception class hierarchy and differentiate recoverable exceptions from non-recoverable errors, with practical examples of stack overflow, memory issues, and using catch blocks to continue execution.
Learn the difference between checked and unchecked exceptions, when handling is mandatory or optional, and review examples from null pointer, input output streams, and database errors.
Explore user defined checked exceptions in Java by creating custom exception classes like invalid name exception, extending from exception to enforce validation and explicit handling with try-catch, and improve readability.
Learn how to create and use user-defined unchecked exceptions in Java by extending runtime exceptions, throwing and catching them, and applying validation messages for invalid inputs.
Explore how wrapper classes convert strings to primitive numbers, use parsing methods for arithmetic, and handle runtime exceptions when inputs come from networks or databases.
Boost your confidence with Java exceptions by solving structured coding exercises, analyzing each problem, and applying insights to real-time projects with guided support.
Survey traditional data structures, focusing on arrays and linked lists, highlighting sequential memory storage, fast index access for arrays, and dynamic size in linked lists.
Contrast array and linked list, detailing internal usage, insertion order, bidirectional traversal, and how delete, grow, and shrink operations impact performance on large element sets.
Explore Java collections as in-memory data structures that store multiple items and support retrieval, search, update, and delete operations, with list and set interfaces and their implementations.
Explore the Java collection framework, highlighting the list interface that extends the collection interface, its two list implementations, and the map with two implementations for storing key-value pairs.
Explore the characteristics of a list: it can contain duplicate objects, maintains the order of addition, and allows traversal in both directions.
Learn how ArrayList and LinkedList support generic types, add elements at the end or at specific indices, remove items, and iterate with a for-each loop or iterator, noting performance differences.
Master the Collections class by learning its static utility methods for reversing, shuffling, searching, finding min and max, counting frequency, and replacing elements, with guidance on synchronized and unmodifiable views.
Explore the basic characteristics of a set as a collection, its base interface, and the two interpretations of how sets are used in Core Java.
Explore how HashSet and TreeSet store objects, enforce uniqueness with hashCode and equals, and use custom objects like Employee with generics, observing order and iteration behavior.
Explore the Java map concept by examining the Map interface, its two predominant implementations, and how hashing underpins behavior, including the hash-based map and its relation to the collection framework.
Explore how hash maps use hashing to store unique keys and values, retrieve by key, and iterate entries; compare map and set, and note string-key order with sorted maps.
Explore using Java's comparator to customize sorted order, implementing custom comparisons, including anonymous class approaches, and applying name-based ordering to collections and maps.
Explore generics in Java, showing how type parameters enable reusable collections, prevent type errors, and store diverse objects, from strings to customers, through flexible, type-safe designs, including generic interfaces.
Explore legacy collection classes in Java, including Vector and Hashtable, and compare Enumeration with Iterator while noting default synchronization and interoperability with legacy software.
Explore how WeakHashMap uses weak references to allow keys to be garbage collected, unlike HashMap, and how the background garbage collector cleans up unused entries.
Explore streams in collections to enable functional style operations such as filtering, mapping, reducing, and collecting, transforming elements and querying data directly from underlying collections.
Explore the Java predicate, a functional interface that accepts one argument and returns a boolean. Learn how to use predicates with streams to filter and match data.
Understand boxing and unboxing in java, converting primitive types to objects and back, and how collections handle these conversions automatically.
Explore lambda expressions as the next level of anonymous inner class usage, with compact syntax shown in practical Java examples.
Explore nested collections in Java by building multi-level groupings, such as storing customers by department and avoiding duplicates, then iterate through elements to categorize and access data.
Explore nested collections by building a hashmap where each country key maps to a list of its major cities, and practice using entry set to print keys and values.
Learn how blocking queue enables producer-consumer synchronization in Java multi-threaded apps, using put and take to manage bounded or unbounded queues such as array blocking queue and linked blocking queue.
Demonstrates a blocking queue-based producer–consumer pattern in a multithreaded Java app, with live coding that starts producer and consumer threads and shows blocking behavior.
Explore building a custom linked list in Java with generics, including next and previous pointers, and apply collection concepts like sets to extract unique words.
LinkedHashSet preserves insertion order like a list while disallowing duplicates like a set, backed internally by a linked hashmap for fast lookups.
Explore LinkedHashMap, its implementation of the map interface, and how it maintains a list and links elements to the previous and next for iteration while preserving key order.
Explore end-of-section collections coding exercises to build confidence in solving real-time problems, analyze each exercise, and seek help if you encounter issues while working on the project.
Explain what a process is and how a thread provides lightweight execution within it, then show Java’s multithreading benefits with examples like a video player.
Compare processes and threads, explain memory segments and snapshots, and show how multithreading handles concurrent tasks like video, audio, and streaming.
Learn to create threads in Java by extending Thread or implementing Runnable, implement run with a number-print loop, handle sleep and exceptions, and start multiple named threads.
Explore the different states of a thread, including new, runnable, waiting, and the idea of termination, and how methods like start, sleep, and notify control transitions between these states.
Learn how the join() method makes the main thread wait for a child thread to finish, keeping the main thread alive until completion and exploring isAlive() and thread status concepts.
Explore thread priority in Java, assigning high or low priority to main and child threads on a 0–10 scale, with video playback as a practical example.
Learn how to create threads in Java using inner classes and anonymous classes, implement Runnable, and start and manage thread execution within a localized scope.
The lecture explains the synchronized keyword, showing how a method or a block can be locked so only one thread executes at a time, with a conference room analogy.
Learn how threads communicate using wait, notify, and notifyAll to coordinate producer and consumer interactions, synchronize access to shared objects, and ensure ordered execution.
Explore how deadlock arises with multiple threads and resources, how synchronized locking can occur, and how to avoid it by acquiring locks in a consistent order.
Explore object level locking versus class level locking, illustrating how synchronized instance methods lock on a single object while class level locks affect all instances, with performance trade-offs.
Explore how a thread pool via the executor service creates and manages a fixed set of worker threads, assigns runnable tasks, and handles graceful shutdown to avoid overhead.
Explore creating threads with Callable and Future, compare with traditional Runnable approaches, and see how generics and exceptions are handled to retrieve results from asynchronous tasks.
Explore how mutexes and semaphores function as locking mechanisms to control access to resources. Learn counting versus binary semaphores, and how threads acquire and release locks.
Explore the read lock and write lock in Java, contrasting concurrent reads with exclusive writes, and demonstrate locking safety using a shared blog interface example.
Practice multithreading through end-of-section coding exercises, analyze each problem to build confidence in solving real-time issues, and seek assistance to complete the project with ease.
IO streams enable a Java program to read inputs and write outputs, from keyboard and monitor to disk and network, so data can be stored persistently until deleted.
Explore the difference between input and output streams, showing how a program reads data from input devices and writes data to output devices.
Explore java.io basics by reading and writing data with file input and output streams, processing byte by byte and handling common exceptions.
Explore java.io.IOException concepts, including file not found and end-of-file scenarios, and how reading beyond available data can trigger these exceptions during file operations.
Explore java.io.File to list and inspect files and directories, check existence, create directories, delete files, and retrieve names for easy file management.
Explore data streams in core java: read and write data using streams, parse integers and strings, and combine data input with records for practical examples.
Explore sequence input stream that combines multiple input streams into a single stream by accepting them as parameters and returning a unified stream. The lecture highlights sequencing, pushing, and pushback.
Explore how to combine input streams into a single input stream with a sequence input stream, and how push back input stream enables reading and pushing back data for modification.
Explore piped input and output streams for inter-thread communication within an application, using a video player example where one thread writes data and another reads it.
Understand Java standard input through the System class and its default input stream. See how keyboard input is read from System.in byte by byte and combined with other streams.
Explore the Java standard error stream and how to redirect errors to a file or another destination, discuss default system mappings for input and output, and handle exceptions safely.
Discover how random access files jump to a chosen position and read data from there, offering faster non-sequential access compared to normal sequential reads.
Explore readers and writers as character-based alternatives to byte streams for reading and writing multi-byte data, and learn proper closing to prevent resource leaks and enable inter-thread data exchange.
Combine multiple input streams to leverage each one's features, using input stream reader and data input stream to read bytes, chars, or floats from files and system input.
Combine multiple output streams in Java to write data directly or in a specific integer order for type or network type, enhancing flexibility by merging outputs into a single stream.
Convert an input stream into a reader to read data as characters, using an input stream reader and a buffer, enabling line-by-line reading and improved performance with large data.
Explore how to convert an output stream to a writer in Java, enabling writing characters to an output stream and validating success with example code and test runs.
Explain how to serialize Java objects into bitstreams for network transfer and persistence by implementing the Serializable interface, using object streams, and managing data with transient fields.
Lambda Expression Syntax:
Below is syntax of Lambda,
(argument-list) -> {body}
Where as
1) Argument-list: can be zero or more arguments
2) Arrow-token: It is mandatory, and separates arguments and body of expression.
3) Body: can contain zero or more statements
Lambda without Parameter
() -> {
//Body of no parameter lambda
}
Lambda with single argument
(p1) -> {
//Body of single parameter lambda
}
Lambda with two arguments
(p1,p2) -> {
//Body of multiple parameter lambda
}
Similarly Lambda can have any number of arguments
How above Lambda, can be used:
For example, Lambda can be used in TreeSet, to specify sorting order of element.
Below is syntax, for TreeSet, to sort in descending order
TreeSet<String> tss = new TreeSet<>((s1,s2)->s2.compareTo(s1));
Above can be rewritten as
TreeSet<String> tss = new TreeSet<>((s1,s2)->{ return s2.compareTo(s1); } );
So, when there is only single return statement, { } & and explicit return are not required.
Lambda expression is a compact form of Anonymous Inner class, and advantage of using Lambda is, it’s make Code more Compact
TreeSet, example in previous, can be rewritten as
TreeSet<String> tss = new TreeSet<>( new Comparator(){ public int compare(String s1, String s2){
return s1.compareTo(s2);
}});
In Multi threading, for Runnable interface and also in Collection Streams
Discover the java.time LocalDate and LocalDateTime APIs, their advantages over the old date-time classes, and how to create, manipulate, and convert dates and times across time zones.
Java 8 introduces default and static methods in interfaces, allowing method bodies and enabling direct interface calls alongside implementing classes.
Explore default methods in a Java eight interface and learn how they can have a body and be overridden by implementing classes, with static methods remaining non-overridable.
Explore functional interfaces with a single abstract method, and how lambda expressions enable concise implementations, noting the optional @FunctionalInterface annotation and the presence of default and static methods.
Explore the Java 8 forEach method for iterating any collection or string, using lambda expressions and method references, on lists, sets, maps, and streams.
Explore Java 8 method references, including static, non-static, and constructor references, using the by function interface and apply to dynamically invoke methods at runtime.
Enable safer code with Optional, a container class that wraps a value that may or may not be present, guiding presence checks and retrieval.
Discover jshell, the Java 9 repl, to prototype code snippets directly in the command line, declaring variables, methods, classes, and objects without a main method or imports.
Explore private methods in a Java interface, a Java 9 feature, showing how private helpers inside interfaces enable code reuse via default methods and cannot be used outside.
Discover Java 9 collection factory methods that create immutable lists, sets, and maps with clean syntax. These factory methods reduce boilerplate and ensure read-only collections throughout the application.
Explore try with resources introduced in JDK seven, which automatically closes resources like file streams, reducing code and preventing resource leaks.
Explore how Java networking enables device-to-device communication and contrast the transmission control protocol with UDP, highlighting core networking concepts within practical Java context.
Explore TCP and UDP: TCP provides reliable, connection-oriented delivery; UDP offers speed with no delivery guarantees. Learn how data splits into packets and travels via proxies and routes.
Discover how IP addresses identify devices on the internet, compare static and dynamic IP configurations, and explain IPv4 and IPv6 versions.
Explore the client–server concept by defining a server as a program that runs continuously and waits for requests, with examples such as websites and email.
Explore how socket connections enable client and server communication, including the role of the OSI seven-layer protocol stack, data packets, and the loopback IP address 127.0.0.1 in local networking.
Explore application layer protocols such as HTTP, SMTP, and FTP and how they rely on basic network services to enable web browsers to display pages and send emails.
Learn how port numbers identify services, how web servers listen on specific ports, and how Java applications connect remotely to those ports.
Explore how DNS maps user-friendly domain names to IP addresses and back, enabling socket connections by converting domain names like www.example.com to the correct IP.
Explore Java networking with the java.net package, sending requests from a Java program to web servers, receiving data, and using sockets for client-server communication.
Develop a server using java.net.ServerSocket that listens on a port, accepts client connections, and exchanges data via input and output streams, with optional multithreading for concurrent requests.
Learn to build a client program using java.net.Socket to connect to a local server, exchange data via output and input streams, and handle read/write errors.
Explore client and server communication in Core Java through an arithmetic example, showing how requests are composed and results returned, with a later look at the UDP part.
Learn to build a simple http client using java.net.URLConnection to interact at the socket level, send get or post requests, and handle responses such as 200 for data retrieval.
Explore remote method invocation (RMI) in Java, showing how Java objects in remote locations communicate via a cross-language protocol, transfer data, buffer streams, and print results.
Define what a database is and why it stores data permanently, compare relational databases with non-relational models, and guide setup and use of SQL with MySQL.
Explore relational tables, their rules, and columns as you prep to use Java programs with a database.
Explore sql fundamentals across ddl, dml, and dcl, including creating, altering, and dropping databases and tables; inserting, updating, selecting, describing table details, and rolling back transactions with permission grants.
Explore how to join multiple tables in a relational database using inner, left, and right joins with employee and department data, and extend joins to three or more tables.
Explore constructing multiple conditions in a where clause with and/or logic, using like patterns and wildcards, selecting specific columns, and performing insert and delete operations on department data.
Explore data types for table design, including int variants and char vs varchar, and date, time, and blob for images or videos with external storage.
Explore column constraints with default values, unique keys, primary keys, and auto increment, and learn how to modify tables, add constraints, and insert data in a sample employee table.
Learn how foreign keys link tables, enforce referential integrity between customers and plans, and apply constraints such as on delete cascade or restrict to manage related records.
Java applications connect to the underlying database via jdbc to enable interaction and storage. Drivers from vendors mediate between Java and the database for console based and web based applications.
Explore how the database driver acts as a mediator between a Java application and the database, enabling JDBC interactions through imported packages in console-based programs.
Trace the evolution of JDBC drivers from type one to type four, focusing on performance gains and reduced platform dependency.
Learn to connect to a MySQL database via JDBC by loading the driver, establishing a host-based connection with credentials, and using statement, prepared statement, or callable statement to execute queries.
Learn how Java SQL prepared statements boost performance by reusing compiled statements and using placeholders for input values, while reducing SQL injection risk.
Learn how to invoke database procedures with a callable statement, pass input and output parameters, and retrieve results while illustrating creation, delimiters, and execution in SQL.
Welcome to the only Highest Rated Core Java Course, and fully loaded Core Java course with Practical Hands on examples, of every concept.
This is the only Core Java course with about 155+ downloadable source code programs, 100+ coding exercises, MCQs for all relevant lectures(to recap/memorize learnings after the Lecture) as the right course need to comprise not only Watchable videos, but also sufficient practice exercises, to make you strong Programmer.
All above comprises 80+ to 100 hours of total learning duration.
With investment of just few Dollars to buy this Course, set strong foundation for your future Software Career. And the Author has been using Java, almost since it's birth.
With 23 years of real time software development experience(at PayPal, CSC, Aricent, Philips, Sasken, etc...), Author has designed in such a way that Learners get very good insight & working expertise on Core Java, and will be in a position to develop projects, at the completion of this course.
Since Core Java sets your foundation for your Future Career, you need the right course to start with and to boost your career, and
You can get started with this course, even with zero/basic to intermediate prior knowledge in Programming.
Rather than just explaining the Concept, there is a focus on Why each specific concept exists and how it adds value, and how to apply it the right way, in your programming.
Topics Covered by this course
Core Java Basics
OOPs(Object Oriented Concepts) - class, constructor, access specifiers, objects, etc...
Packages, Sub Packages
Inheritance
Exception Handling
Multithreading
Collection Framework & Streams
Java 8 Features
Latest features of Java 9 and above
Java Input Output Streams
Network and Socket Programming
MySQL and How Java Program can connect to database
Regular Expressions
Inner class,
Design Patterns overview
Servlets
Project work, at the end of course, adds more value for your Learning.
Topics to be added(shortly) to this course are JSP/Servlets, Reflection, ... and many more.
Every lecture has, below
Video
Downloadable Source code examples, developed in above Video
Reading Material, for every concept
Quiz - Multiple Choice Questions, to cross check your confidence levels
Assignments Questions, to try Coding exercises
All above contributes to 80(or more) Learning Hours, and you will continue to have access to new Topics which will be added by Author, shortly.