-
Introduction
Introduction
Java is widely used staticly typed programming language which is founded over 25 years back. It's almost everywhere from home appliances, mobile devices to industry scale systems. Java is evolving over the time and from Java 8 onwards there were major changes introduced to the language. Below are the list of all the changes on each version.
Imperative vs Declarative Programming
Imperative approach is defining step by step on HOW we are going to achieve the end result. Declarative approach is describing WHAT we want as the output. Simple example would be a classical for loop in Java which we can call as imperative programming and a select query in sql as declarative programming. Still didn't get it? Following examples will help you to understand more
Imperative Style in Java
int sum = 0;for(int i=0; i<5; i++){sum +=i;System.out.print("sum is: "+sum);}
Declarative Style in Java
int sum = IntStream.of(1,2,3,4,5).sum();Declarative Style in SQL
select * from table1 where a=1;
Now you get the idea!Course Breakdown
[TO BE UPDATED]Windows/Mac - Java Install
[TO BE UPDATED]Intelij Install
[TO BE UPDATED]Configurations
[TO BE UPDATED]Git repo link
[TO BE UPDATED]Dev Env Setup
[TO BE UPDATED]
-
Java 8 Features
-
Lambda Expressions
What is Lambda?
A lambda expression is an anonymous function. It's a function without a name and does not belong to any class
Lambda vs java method
method in Java has three main parts
-Name
-Parameter List
-Body
-return type
lambda expression in Java has three main parts
-No name (since lambda is anonymous function)
-Parameter List
-Body
-No return type (no return type required)Lambda Expressions
[TO BE UPDATED]Runnable Example with Lambda
[TO BE UPDATED]Callable Example with Lambda
[TO BE UPDATED]
-
Functional Interfaces and Lambdas
Functional Interfaces
[TO BE UPDATED]Consumer Functional Interfaces
[TO BE UPDATED]IntConsumer, LongConsumer, DoubleConsumer
[TO BE UPDATED]BiConsumer Functional Interface
[TO BE UPDATED]Predicate Functional Interface
[TO BE UPDATED]IntPredicate, LongPredicate, DoublePredicate
[TO BE UPDATED]Predicate & BiConsumer
[TO BE UPDATED]Function
[TO BE UPDATED]BiFunction
[TO BE UPDATED]Unary Operator
[TO BE UPDATED]Binary Operator
[TO BE UPDATED]Supplier
[TO BE UPDATED]Method Reference
[TO BE UPDATED]Constructor Reference
[TO BE UPDATED]
-
Lambda Variable Scope
Variable scope, Final & Effectively Final
[TO BE UPDATED]
-
Realworld Example Using Lambda
Bank Transfer Example
[TO BE UPDATED]
-
Streams
Introduction
[TO BE UPDATED]Inside Streams
[TO BE UPDATED]Collections vs Streams
[TO BE UPDATED]Debugging Stream
[TO BE UPDATED]
-
Stream Operations
map()
[TO BE UPDATED]flatMap()
[TO BE UPDATED]distinct(), count(), sorted(), allMatch(), anyMatch(), nonMatch()
[TO BE UPDATED]Customized sort using comparator
[TO BE UPDATED]filter()
[TO BE UPDATED]reduce()
[TO BE UPDATED]map() + filter() + reduce()
[TO BE UPDATED]min() with stream and reduce
[TO BE UPDATED]limit() and skip()
[TO BE UPDATED]findAny() and findfirst()
[TO BE UPDATED]
-
Stream Generators
Generating Stream with of(), iterate(), generate()
[TO BE UPDATED]
-
Numeric Streams
Introduction
[TO BE UPDATED]IntStream, LongStream, DoubleStream
[TO BE UPDATED]sum(), max(), min(), average()
[TO BE UPDATED]Boxing, Unboxing
[TO BE UPDATED]mapToObj(), mapToLong(), mapToDouble()
[TO BE UPDATED]
-
Collectors Operations
joining()
[TO BE UPDATED]counting()
[TO BE UPDATED]mapping()
[TO BE UPDATED]minBy(), maxBy()
[TO BE UPDATED]summingint(), averageint()
[TO BE UPDATED]groupingBy
[TO BE UPDATED]maxBy(), minBy(), collectingAndThen(), summarizingint()
[TO BE UPDATED]partitioningBy()
[TO BE UPDATED]
-
Parallel Streams
Introduction
[TO BE UPDATED]Sequential vs Parallel
[TO BE UPDATED]
-
Optional
Introduction
[TO BE UPDATED]empty(), ofNullable(), of()
[TO BE UPDATED]orElse(), orElseGet(), orElseThrow()
[TO BE UPDATED]ifPresent(), isPresent()
[TO BE UPDATED]
-
Default & State Methods of Interfaces
Introduction
[TO BE UPDATED]Default Methods
[TO BE UPDATED]Creating an Interface with Default/Static Methods
[TO BE UPDATED]Multiple Inheritance
[TO BE UPDATED]Conflicts in Multiple Inheritance
[TO BE UPDATED]
-
New DateTime API
Introduction
[TO BE UPDATED]LocalDate - get and create
[TO BE UPDATED]LocalDate - modify
[TO BE UPDATED]LocalTime - get and create
[TO BE UPDATED]LocalTime - modify
[TO BE UPDATED]LocalDateTime - get, create and modify
[TO BE UPDATED]LocalDate and LocalTime from LocalDateTime
[TO BE UPDATED]Duration
[TO BE UPDATED]Instant
[TO BE UPDATED]TimeZones - ZonedDateTime, ZonedId
[TO BE UPDATED]LocalDateTime to ZonedDateTime
[TO BE UPDATED]Convert java.util.date & java.sql.date to LocalDateTime/LocalDate
[TO BE UPDATED]
-
-
Java 9 Features
-
Java Shell(REPL)
Introduction
[TO BE UPDATED]Java Environment Variable Setup
[TO BE UPDATED]Getting Started with JShell
[TO BE UPDATED]Snippet, List and Drop
[TO BE UPDATED]JShell Shortcuts
[TO BE UPDATED]Creating Classes
[TO BE UPDATED]InteliJ ID Shell
[TO BE UPDATED]
-
Module System
Introduction
[TO BE UPDATED]Example
[TO BE UPDATED]Creating Module
[TO BE UPDATED]Modular Application and Maven
[TO BE UPDATED]
-
Factory Methods for Collection
Collections Factory Methods
[TO BE UPDATED]
-
Try-with-resources
Try-with-resources
[TO BE UPDATED]
-
-
Java 10 Features
-
Type Interferences with var
var type with Examples
[TO BE UPDATED]
-
GCI Improvements
GC first algorithm Improvements
[TO BE UPDATED]
-
-
Java 11 Features
-
var with Lambda
Adding var to Lambda
[TO BE UPDATED]
-
Epsilon GC
Epsilon GC
[TO BE UPDATED]
-
New HttpClient
HttpClient API
[TO BE UPDATED]
-
-
Java 12 Features
-
Switch Expression
Switch Expression intro with Example
[TO BE UPDATED]Switch Expression with action in cases
[TO BE UPDATED]
-
-
Java 13 Features
-
Switch Expression Enhancements
Switch Expression with Yield
[TO BE UPDATED]
-
TextBlocks
Multiline TextBlocks
[TO BE UPDATED]
-
This explains on how to populate values in a drop down based on a value selected on another drop down. But you can configure it load values dynamically when click on link or any other action performed (based on your requirment) Include JSTL tag library in your JSP Page 1 <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %> Use JSTL to call the required URL path through Spring bindings 1 < c : url var = "findProductForCat" value = "/products_ajax.do" /> HTML and EL code to enter in JSP page. 1 2 3 4 5 6 7 8 9 10 <select class= "select-width" id= "category_list_d" > <option value= "" > Select Category </option> <c:forEach var= "catList" items= "${category_lst}" > <option value= "${catList.categoryId}" > ${catList.categoryName } </option> </c:forEach> ...