
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.
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.
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.
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.
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 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.
Discover how a Java project splits into packages and subpackages, uses public and static access, and imports classes across packages.
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 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.
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.
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.
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.
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 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 inbuilt exception classes, including null pointer and index out of bounds, and understand runtime issues like number format errors, stack overflow, and custom exceptions.
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 how wrapper classes convert strings to primitive numbers, use parsing methods for arithmetic, and handle runtime exceptions when inputs come from networks or databases.
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 basic characteristics of a set as a collection, its base interface, and the two interpretations of how sets are used in Core Java.
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 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 building a custom linked list in Java with generics, including next and previous pointers, and apply collection concepts like sets to extract unique words.
Compare processes and threads, explain memory segments and snapshots, and show how multithreading handles concurrent tasks like video, audio, and streaming.
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.
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.
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.
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.
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.
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
Java 8 introduces default and static methods in interfaces, allowing method bodies and enabling direct interface calls alongside implementing classes.
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.
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.
Discover how IP addresses identify devices on the internet, compare static and dynamic IP configurations, and explain IPv4 and IPv6 versions.
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.
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 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 data types for table design, including int variants and char vs varchar, and date, time, and blob for images or videos with external storage.
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.
Trace the evolution of JDBC drivers from type one to type four, focusing on performance gains and reduced platform dependency.
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.