
Install open jdk by downloading jdk 11 (or 8/11) and installing it on Windows or Mac, then set java_home and update path to run java commands from anywhere.
Install Maven, the build tool for dependencies, by downloading and extracting the binary zip, then set environment variables and verify with mvn -v.
Install Spring Tool Suite, an Eclipse-based editor, by downloading and extracting the jar, then launch and configure a Java workspace to build and run a Hello World program.
Master git and GitHub by setting up the tools, creating a repository, and pushing code from a local project with commits, ignores, and a personal access token.
Develop a Java-based bookstore app where authors manage book objects—create, view, search, update, and delete—while customers view, search, order, buy, and track purchased books; extend with sales reports.
Create a new Java project named bookstore_ep in eclipse or spring tool suite using the Java environment, starting with a workspace and an SLC folder to build packages and classes.
Explore how a sequence diagram maps interactions among the order controller, order service, repository, and database to place an order, including inventory checks and the converter layer.
Learn to create a class diagram detailing entity classes like book, author, customer, and order with private fields, getters and setters, and repository, service, and controller layers.
Explore creating a Java project structure with UML diagrams and a layered architecture, including entity, repository, service, controller, data transfer objects, and a converter in a bookstore application.
Create a book entity class with private fields, explain camel and Pascal casing, generate public getters and setters, and create a book dto for data transfer.
Create the repository layer by defining a Book repository interface and its implementation, and add a public method to save a book returning a long; organize the repository package structure.
learn to create a book service interface and its implementation in the service layer, passing a deal instead of the entity, and align with database, service, and controller layers.
Create the controller layer and a book test client to wire repository, entity, service, controller, and policy, then run the client to validate the end-to-end call chain.
Integrate the end-to-end add book flow from client to controller, then to the service and repository, converting book details via a converter to an entity for database persistence.
Master Java debugging by stepping through a client–controller–service flow, setting breakpoints, inspecting variables, and evaluating expressions to ensure code works as intended.
Apply the adapter design pattern to convert book detail to a book entity, wiring a converter into the service and repository layers for a smooth client-to-persistence data flow.
Save the book entity in an in-memory repository list and observe how data is lost when the program stops, then serialize to a file and deserialize to reload the list.
Serialize a book entity and persist it to a file using Java IO with a file and object output stream, including exception handling. The next video shows reading the object.
Implement deserialization to read a saved book entity from a file using an object input stream and cast it back to a book entity.
Get book detail and deserialize object by walking through the controller, service, repository, and converter, with serialization concepts and debugging a file-based flow.
Develop mastery of Java 8 with hands-on topics including functional interfaces, lambdas, default and static methods, predicates, methods, references, streams, and the date and time API.
Set up a java 8 development environment by installing the JDK 8 and the community edition, then create a new java project with java 1.8.
Discover how Java 8 introduces default and static methods in interfaces, enabling backward-compatible enhancements, alongside lambda expressions, streams, and the new date and time classes.
Explore how static methods in Java 8 interfaces work: they aren’t inherited by implementing classes, can be called via the interface name, and multiple static methods support backward compatibility.
Describe the concept of a functional interface in Java, defined by a single abstract method, with default and static methods allowed, and how Java eight supports this idea.
Explore lambda expressions and functional programming in Java eight, contrasting with object oriented programming, and implement single abstract methods with functional interfaces using concise lambda syntax.
Convert traditional methods to lambda expressions by removing modifiers, return types, and names, then adopt a functional interface to implement anonymous functions.
Learn how to convert a normal method into a lambda expression by using a functional interface with a single abstract method, employing arrow syntax, and simplifying parameters and return types.
Convert a runnable thread from the classic interface to a lambda expression, showing inline run method implementation and the power of functional interfaces.
Learn how Java 8 predicates use predefined functional interfaces and lambda expressions to test conditions, combine with and/or/negate, and apply to lists and custom objects.
Master the double colon operator as a method reference that replaces the lambda expression when signatures align. Explore instance, static, and constructor references with a functional interface.
Explore streams in Java 8 and learn to operate on collections using stream, filter, map, and collect to lists with lambda predicates, plus lazy evaluation and method references.
Learn to extract min and max from integer streams using lambdas and method references, optimize by refactoring into reusable methods, and also sort, deduplicate, and collect distinct values.
Develop proficiency with Java 8 streams by filtering lists, sorting results, applying distinct, and skipping elements, while using peek for debugging and collecting the final output.
Discover how to create streams from collections and primitive arrays, convert with stream methods, concatenate streams, and generate ranges using range and rangeClosed while applying distinct.
Master Java 8 streams and optional to safely process data: filter a stream, find the first element, handle absent values with orElse and ifPresent, and avoid null pointer exceptions.
See how the reduce function sums a sequence of ten numbers in one line, returning an optional int, and observe the step-by-step accumulation from 1 to 10.
Learn to perform stream operations on a set in Java 8, including filtering with parallel streams and converting the set to a map with toMap using key and value mappings.
Learn how to use Java 8 streams to compute averages with collectors. Explore summarizing and combining statistics like count, min, max, and average from numeric collections.
Explore parallel streams in Java and compare them to sequential streams. Learn how parallel streams speed processing with multiple threads, sacrificing guaranteed order.
This case study demonstrates using Java 8 streams to read a csv sales file, filter out entries lacking sales data, and extract pizza names with their sales figures.
Explore a Java 8 stream-based approach to convert sales data into a map, using split, filter, and Collectors.toMap with pizza name as the key and sales data as the value.
Apply Java 8 streams to compute and print the total sales of all pizzas for 2020 by filtering sales items, mapping to integers, and reducing with addition.
Explore java streams by comparing map and flat map, demonstrating 1-to-1 transformations versus one-to-many flattening and how to collect results into lists.
Explore the java.time package introduced in Java 8, compare it with Java 7's date and calendar API, and learn to create and extract components from LocalDate, LocalTime, and LocalDateTime.
Learn to manipulate dates and times with the java 8 date-time api, using LocalDateTime and LocalDate to print current date time and perform plus minus operations on dates.
Explore the Java 8 time API through a case study that calculates an employee's total experience using LocalDate and Period, including formatting results in years, months, and days.
Explore time zones with Java 8 date-time API, using zone IDs, local date-time, and conversions between GMT and regional zones like Berlin and Los Angeles.
Your wait for the practical hands-on course on Java-8 is over. This course is structured with a key focus on learning by doing.
In this course, you will learn below Java-8 concepts and techniques in a hands-on based approach:
Introduction to Java 8
Interface Enhancements in Java 8
Default methods inside the interface
Static methods inside the interface
Functional interfaces
Inbuilt functional interfaces
Lambda expressions
Usage of Lambda expressions
Concept of Predicates
Method reference
Double colon operator
Constructor reference
Streams
Streams filter, map, count
Streams filter and lazy
Stream and forEach
Stream min, max, sorted, distinct
Stream peek and skip
Stream range and rangeClosed
Stream reduce
Stream Optional
Stream toSet and toMap
Stream averaging and summarizing
Stream and File operations
Stream Map and FlatMap
Parallel Stream
Java 8 and Date Time API
You will get the source code of every topic with examples so that you can refer to them while learning the concepts.
After taking this course you will be able to apply the concepts in any Java project. If you are a beginner then you will learn the new features of java 8 and if you are already an experienced developer then you will be able to apply these concepts and upgrade your older java projects.
Topics are explained with examples and notes are taken by writing comments on the code, which will help in future reference of the concepts.
You can bookmark any topic while watching and you can ask your questions in the question forum.
If you are someone who is curious to know how to apply Java Programming to develop Real World Projects then this is the course for you, where you will learn to apply each and every java concepts to build any application of your own requirements.
In this course we will learn to develop an Ecommerce Application just by using Core Java and its concepts.
We will learn about the following:
You will learn to install JDK and Local development environment
You will learn about Class diagrams, Sequence diagrams and Activity diagram
You will learn to Apply Java Concepts to Develop a Real world Project
You will learn the best practices of Java Project Development
You will learn about Layered Architecture and How to use it to develop Java Projects
Create Java Project for Bookstore App
Sequence Diagram Explanation
Class Diagram Explanation
Creating all the required packages
Creating the Book DTO and Entity classes
Creating Repository Interface and Implementation layer for Book
Creating Service layer Interface and Implementation layer for Book
Creating Controller layer and Test Client class for Book
Integrate Book Client with Controller and Service layer
Learn to Debug the code by navigating through what we have build so far
Integrate Repository and Converter layer for Book by using Adapter Design pattern
Save the Book Entity in a list inside Repository
Serialize and save Book Entity in file
Write Deserialization logic to get the Book Entity object from the saved file
Get Book Detail and Deserialize Object and Debugging