Basic Java Requirements
1 Overview Of Programming With Java
1.1 What Is Programming ? Why We Need Programming
1.2 How To Learn Programming & Programming Skills
1.3 How Can I Be A Good/Excellent Programmer
1.4 More details on Java
1.4.1 Platform Independence In Java - WORA & WOCA
1.4.2 Java And Internet - Creating Java Applet
1.4.3 What Is Servlet In Java?
1.4.4 Java Bytecode
1.4.5 Java Buzzwords
1.4.6 JDK JRE JVM JIT - Java Compiler
1.4.7 Java Versions And Changes Done In Every Version
1.4.8 Java Keywords
1.5 Simple Programs and Development environment
1.5.1 Installation Of Java on your PC
1.5.2 Java Sample Program - Simple Hello World Program In Java
1.5.3 How to Compile and Run Java Program In Cmd Prompt
2 Datatypes
2.1 Data Types In Java
2.2 Primtive Dataypes
2.2.1 Primitive Data Types In Java
2.2.2 Integer Data Types In Java
2.2.3 Floating Point Data Types In Java
2.2.4 Java Character
2.2.5 Boolean Data Type In Java
2.2.6 Literals
2.2.6.1 Java Literals
2.2.6.2 Integer Literals In Java
2.2.6.3 Floating Point Literals In Java
2.2.6.4 Character Literals In Java
2.2.6.5 String Literal In Java
2.2.6.6 Boolean Literals In Java
3 Variables
3.1 Java Variables
3.2 Scope Of Variables In Same Block
3.3 Type Conversion In Java
3.4 Type Casting In Java
4 Operators
4.1 Operators In Java
4.2 Java Arithmetic Operators
4.3 Basic Arithmetic Operators In Java
4.4 Increment And Decrement Operators In Java
4.5 Modulus Operator In Java
4.6 Arithmetic Compound Assignment Operators In Java
4.7 Relational Operators In Java
4.8 Boolean Logical Operators In Java
4.9 Short Circuit Logical Operators In Java
4.10 Assignment Operator In Java
4.11 Ternary Operator In Java
4.12 Java Operator Precedence And Associativity
4.13 Temperature Conversion Program In Java
5 Control Statements
5.1 Control Statements In Java
5.2 Selection Statements
5.2.1 Selection Statements In Java
5.2.2 if Condition In Java
5.2.3 Nested if Statements In Java
5.2.4 if else if ladder In Java
5.2.5 switch Statement In Java
5.2.6 if else Vs switch Performance In Java
5.2.7 Nested switch Statements In Java
5.2.8 Fall Through Switch Case Statements In Java
5.3 Blocks of code
5.3.1 Block Of Code In Java
5.3.2 Scope Of Variables In Nested/Multiple Blocks
5.3.3 Lifetime Of Variable In Java
5.3.4 Expressions, Statement, Line & Block In Java
5.4 Iteration statements (Loops)
5.4.1 Iteration Statements Or Loops In Java
5.4.2 while Loop In Java
5.4.3 for Loop In Java
5.4.4 for Vs while Loop In Java
5.4.5 do while Loop In Java
5.4.6 Nested Loops in Java
5.4.7 Nested While Loop In Java
5.4.8 Nested for Loop In Java
5.4.9 for Loop Example Program In Java - Sum Of Numbers
5.4.10 Factorial Program In Java Using for Loop
5.4.11 Factorial Program In Java Using While Loop
5.5 Jump Statements
5.5.1 Jump Statements In Java
5.5.2 Using Break In for Loop To Exit
5.5.3 Using break in switch case Statement
5.5.4 Using Java Break Statements as Java Goto
5.5.5 Using break In Nested Loop Java Program
5.5.6 Java continue Statement
5.5.7 Java return Statement
5.6 Java for loops vs Java while loops vs Java do while loops
6 Methods - Importance
6.1 Basic Java Methods
6.2 Java Methods
6.3 Java Methods - Parameter Passing And Scope
6.4 Java Program To Find Simple Interest Using Methods
6.5 Recursive In Java
7 Array - Overview
7.1 Java Array
7.2 Creation And Declaration Of Array In Java
7.3 Arraylist Access Using Index
7.4 Java Multidimensional Array
7.5 Java Array Initialization
7.6 Learn Arrays And Loops
7.7 Java Code To Print Student Details Using Arrays
7.8 For-each Loop In Core Java Programming
7.9 ommand Line Arguments In Core Java Programming
8 Classes
8.1 Java Class
8.2 Java Classes and Java Objects
8.3 Java Objects References
8.4 Member Variable In Java
8.5 Class References And Objects In Java
8.6 To Print Student Details Using Classes In Java
8.7 Create Objects Using Constructors In Java
8.8 Class With Multiple Constructors In Java
8.9 this Keyword In Java
8.10 Behavior Of Java Classes Using Methods
8.11 Java Multiple Methods In One Class
8.12 Calling A Class From Another Class In Java
8.13 Creating A Class For Data Validation
8.14 Java Program To Find Rectangle Area & Perimeter Using Classes
8.15 Java Program to Find Area of Various Shapes Using Classes
8.16 Java Program To Compare Movies
9 Class Inheritance
9.1 Java Class Inheritance
9.2 Is-A Relationship In Java
9.3 Passing Sub Class Object As Super Class Reference
9.4 Assigning Sub Class Object To Super Class Reference In Java
9.5 Assigning Super Class Reference To A Sub Class Reference In Java
9.6 Multilevel Inheritance In Java With Example Program
10 Methods Overiding, Overloading
10.1 Method Overloading In Java
10.2 Is Java Pass by Reference or Pass by Value
10.3 Method Overriding In Java
10.4 Inheritance Example Program To Remove Duplicate Code
10.5 How A Method Can Be Overridden In Different Ways
10.6 Method Overloading Vs Method Overriding
10.7 Super Keyword In Java To Call Super Class Constructor
10.8 Inheritance And Constructors In Java
10.9 Dynamic Method Dispatch - Calling Overridden Methods In Java
10.10 Run Time Polymorphism In Java
11 Abstract Class And Methods
11.1 Java Abstract Class
11.2 Abstract Method In Java
11.3 Rules For Abstract Methods and Abstract Classes
11.4 Creating Array Of Objects In Java
11.5 Java Program To Find Largest Area by Comparing Various Shapes
11.6 Java Program For Cricket Players Using Class Hierarchy
12 Interfaces, Packages and Access Control
12.1 Java Interface
12.2 Difference Between Interfaces And Abstract Classes
12.3 Future Task Java Program Using Interfaces
12.4 Creating Interface In Java With Example Program
12.5 Java Package
12.6 How To Compile Classes in Package
12.7 Using private Keyword In Java For Access Control
12.8 Access Modifiers In Java
12.9 Java Access Modifiers With Example Program
13 final, static and others
13.1 final Keyword In Java
13.2 Static Keyword In Java
13.3 Creating Static Methods In Java Using Static Keyword
13.4 Singleton Design Pattern In Java
13.5 Java Program To Explain Public Static Void Main
13.6 Static and Non Static Variables - Static and Non Static Methods
14 Object Oriented Concepts - Revisited
14.1 Abstraction in Java
14.2 Polymorphism In Java
14.3 Encapsulation In Java
14.4 Inheritance In Java
15 Exceptions
15.1 Why Java Throws Exceptions
15.2 How To Handle An Exception In Java
15.3 Exception Handling In Java with Example Program
15.4 Try Catch Block In Java
15.5 Java Multiple Catch Block With Example Program
15.6 Java Finally Block In Exception Handling
15.7 User Defined Exception In Java
15.8 Java Throw Keyword - Java Throws Keyword
15.9 Difference Between Error and Exception in Java
15.10 Checked Exception Vs Unchecked Exception In Java
15.11 Java Built In Exceptions Checked Exceptions, Unchecked Exceptions
15.12 Exception Handling Syntax In Java Programming
16 Multithreaded Programming
16.1 Thread Concept In Java
16.2 The Java Thread Model
16.2.1 Creation Of Threads In Java
16.2.2 Java Inter Thread Communication With Example
16.3 Synchronization
16.3.1 Thread Synchronization In Java Using 'Synchronized'
16.3.2 static synchronized In Java
16.3.3 Java Synchronized Blocks
16.4 Handling Thread DeadLock In Java
16.5 Java Thread Group
16.6 Modern Ways Of Suspending, Resuming And Stopping Threads In Java
17 Generics
17.1 Java Generics
17.2 A Simple Generics Example
17.2.1 How Generics Improve Type Safety In Java
17.3 A Generic Class With Two Type Parameters In Java
17.4 Java Bounded Type - Bounded Type In Java
17.5 Generics Wildcards In Java With Examples
17.6 Java Generics In Methods And Constructors
17.7 Generic Interface In Java
17.8 Java Type Erasure
18 Strings
18.1 Java String
18.2 Java length() Method | length() Method In Java - Strings
18.3 Special String Operations
18.3.1 Literals In Java
18.3.2 Java String concatenation - concat() Method In Java
18.3.3 Java String Concatenation with Other Data Types
18.3.4 Java String Conversion - toString() Method In Java
18.4 Character Extraction
18.4.1 charAt() Method In Java - Java Character Extraction
18.4.2 getChars() Method In Java
18.4.3 Java Character Extraction - Java String getBytes() Method
18.4.4 Java Character Extraction - toCharArray() Method In Java
18.5 String Comparison
18.5.1 Java String Comparison Methods - Equals and EqualsIgnoreCase
18.5.2 Java regionMatches() Method - String Comparison
18.5.3 Java String startsWith() And endsWith() Methods
18.5.4 Java equals method vs == Operator
18.5.5 Java compareTo() method
18.6 Java Searching Strings - Java indexOf, lastIndexOf Methods
18.7 Modifying a String
18.7.1 Java String substring() method - substring In Java
18.7.2 concat() method In Java
18.7.3 replace() Method In Java
18.7.4 Java String trim() Method - trim() Method In Java
18.8 Data Conversion Using valueOf In Java
18.9 toLowerCase() And toUpperCase() Methods In Java
18.10 Additional String Methods in Java
18.11 Java String Arrays - String Arrays In Java
18.12 StringBuffer
18.12.1 Java StringBuffer
18.12.2 Java StringBuffer
18.12.3 Java StringBuffer length() And capacity() Methods
18.12.4 Java StringBuffer ensureCapacity() Method With Example
18.12.5 Java setLength() Method In StringBuffer Class
18.12.6 Java charAt() And setCharAt() Methods in StringBuffer
18.12.7 StringBuffer getChars() Method In Java With Example
18.12.8 Java append() Method In StringBuffer
18.12.9 Java StringBuffer insert() Method With Example
18.12.10 Java StringBuffer, reverse() - Reverse A String In Java
18.12.11 Java delete() and deleteCharAt() Methods In StringBuffer
18.12.12 Java StringBuffer replace() Method With Example
18.12.13 Java substring
18.12.14 Additional StringBuffer Methods In Java
18.13 StringBuilder Class In Java
18.14 Conclusion Of Strings In Java
19 Exploring java.lang
19.1 Primitive Type Wrappers
19.1.1 Java Number Class
19.1.2 Java Double Class And Java Float Class
19.1.3 Java isInfinite() And isNaN() Methods In Double Class
19.1.4 Creating Objects for Primitive Data Types (Byte, Short)
19.1.5 Converting Numbers to and from Strings In Java
19.1.6 Java Character Class
19.1.7 Character Unicode, Code Point Support In Java
19.1.8 Java Boolean Class
19.2 Java Void Class
19.3 Java Process Class
19.4 Java Runtime Class - java.lang.Runtime
19.5 Java ProcessBuilder
19.6 System
19.6.1 Using currentTimeMillis() Method In Java
19.6.2 System Class arraycopy() Method In Java
19.6.3 Java Environment Properties
19.7 Object As A Super Class In Java
19.8 clone() Method And cloneable Interface In Java
19.9 java.lang.class - Java Library
19.10 Java ClassLoader
19.11 Java Math Class - java.lang.Math
19.12 Java Package Class
19.13 Java Enumeration
19.14 Java Comparable Interface with Example
19.15 Conclusion (Exploring java.lang)
20 Collections Framework
20.1 Java Collections Overview
20.2 Collection Interface
20.2.1 Java List Interface
20.2.2 Set Interface In Java
20.2.3 Java SortedSet Interface
20.2.4 Java NavigableSet Interface
20.3 Collection Classes
20.3.1 Java ArrayList
20.3.2 Java LinkedList
20.3.3 HashSet Class In Java
20.3.4 Java LinkedHashSet
20.3.5 Java TreeSet - TreeSet Examples in Java
20.3.6 Java PriorityQueue - PriorityQueue In Java
20.3.7 Java ArrayDeque Class
20.3.8 Java EnumSet
20.4 Iterator
20.4.1 Java Iterator
20.4.2 List Iterator In Java
20.5 Map Interfaces
20.5.1 Java Map Interfaces - HashMap, TreeMap, LinkedHashMap
20.5.2 Java SortedMap Interface
20.5.3 Java NavigableMap
20.5.4 Java Map.Entry Interface
20.6 Map Classes
20.6.1 Java HashMap Implementation
20.6.2 TreeMap In Java - java.util.TreeMap
20.6.3 Java WeakHashMap Class
20.6.4 LinkedHashMap In Java with Code Example
20.6.5 Java IdentityHashMap
20.6.6 Java EnumMap
20.7 Java Comparators
20.8 Collection Algorithms
20.8.1 Java Collection Algorithms
20.8.2 Java Read-only Collections And Algorithms
20.8.3 Java Thread Safe Collections & Algorithms
20.8.4 Java Singleton
20.8.5 Java nCopies Collections - Collections.nCopies() Method
20.9 java.util.Arrays - Class Arrays In Collection Framework
20.10 Why Collections Are Generic In Java?
20.11 Legacy Classes and Interfaces
20.11.1 Java Enumeration Interfaces - Java Enumeration Examples
20.11.2 Java Vector
20.11.3 Stack In Java - java.util.Stack Class
20.11.4 Java Dictionary Class - java.util.Dictionary
20.11.5 Java Hashtable
20.11.6 Java Properties Class - java.util.Properties Class
20.12 Collection Framework In Java
21 More Utility Classes
21.1 Java Collections - Utility Classes In Java
21.2 StringTokenizer In Java
21.3 Java BitSet
21.4 Java Date Class
21.5 Calendar In Java - java.util.Calendar Class
21.6 Java GregorianCalendar
21.7 Java TimeZone Class
21.8 Java SimpleTimeZone
21.9 Locale Class In Java
21.10 Java Random Class - java.util.Random Package
21.11 Java Observable
21.12 Java Timer Class And Java TimerTask Class
21.13 Java Currency Class
21.14 Formatter
21.14.1 Java Formatter Class
21.14.2 Java Formatter Methods
21.14.3 Java Formatter
21.14.4 Formatting Strings And Characters By Using Formatter
21.14.5 Java Formatting Numbers
21.14.6 Formatting Date And Time In Java With Example
21.15 Scanner
21.15.1 Java Scanner Class Constructors With Example
21.15.2 Java Scanner Class Methods With Examples
21.16 Java ResourceBundle, ListResourceBundle And PropertyResourceBundle Classes
21.17 java.util Subpackages
21.17.1 Usage Of java.util.logging Package
21.17.2 Java Regular Expression
22 Input/Output: Exploring java.io
22.1 Java Input/Output Classes And Interfaces
22.2 File
22.2.1 Java Directories - isDiretory() Method In Java
22.2.2 Using FilenameFilter Interface In Java
22.2.3 Alternative For list() Method - listFiles() Method
22.2.4 Creating Directories In Java - Creating Java Directories
22.3 AutoCloseable, Closeable And Flushable Interfaces In Java
22.4 Java I/O Exceptions - I/O Exceptions In Java
22.5 Two Ways To Close A Stream In Java
22.6 Java Stream Classes
22.7 Byte Streams
22.7.1 Java InputStream Class
22.7.2 Java OutputStream Class
22.7.3 Java FileInputStream
22.7.4 Java FileOutputStream
22.7.5 Java ByteArrayInputStream
22.7.6 Java ByteArrayOutputStream
22.7.7 Java Filtered Byte Streams
22.7.8 Java Buffered Byte Streams
22.7.9 Java BufferedInputStream
22.7.10 Java BufferedOutputStream - BufferedOutputStream In Java
22.7.11 Java PrintStream Class
22.7.12 DataInputStream And DataOutputStream In Java
22.7.13 Java RandomAccessFile
22.8 Character Streams
22.8.1 Reader Class In Java
22.8.2 Java Writer Class
22.8.3 Java FileReader
22.8.4 Java FileWriter
22.8.5 Java CharArrayReader
22.8.6 Java CharArrayWriter
22.8.7 BufferedReader In Java
22.8.8 Java BufferedWriter
22.8.9 PrintWriter Class In Java
22.9 Java Console Class
22.10 Serialization
22.10.1 Serialization In Java
22.10.2 Externalizable In Java with Example
22.10.3 Java ObjectOutput
22.10.4 Java ObjectOutputStream
22.10.5 Java ObjectInput
22.10.6 Java ObjectInputStream
22.10.7 Java Serialization Process -
22.11 Java Stream Benefits
22.12 Conclusion To Input/Output (Exploring java.io)
23 Other Core Java Topics
23.1 Other Advanced Topics In Java
23.2 Advanced Java Programming Concepts
Advance Java Topics or Syllabus
1. Basics of a Web application
What is a web application?
What is a web client and web server?
How do client and server communicate?
HTTP protocol basics
HTML language basics
What is a TCP/IP port, URL?
Need for a Web Container
2. Web Container and Web Application Project Set up
To set up Tomcat Container on a machine
To set up a Servlets JSP project in Eclipse
To configure dependency of Servlet JSP APIs
Web application project structure
3. Servlets
What are Servlets?
What can they do? Why are they needed?
How do Servlets look in code?
HTTP Methods; GET, POST, PUT, DELETE, TRACE, OPTIONS
GET/POST request; differences between the two
Servlet Lifecycle
Servlet Context and Servlet Config
Forwarding and Redirection of requests
4. Session Management
What is a session?
Why is it required?
How to get a session?
Session information passing between client and server
Session information passing mechanisms - Cookies, Rewriting
How to destroy a session
5. JSPs
Introduction to JSP and need for JSPs
Basic HTML tags
JSP Lifecycle
6. JSP Elements
Scriptlets
Expressions
Declarations
Significance of above elements and fitment into the JSP Lifecycle
What are Directives in JSP?
Page Directive
Include Directives
Taglib Directive
7. JSP Tag library
JSP Standard Actions
Expression Language
JSTL basics and it's usage
Need for Custom Tag Library
Custom Tag Library implementation
Struts Framework (version 2.x)
1. Basics of MVC
What is MVC?
MVC Type1 and Type2 architecture
Why Struts framework?
Struts 1 overview
Struts 1 and Struts 2 comparison
2. Struts 2 Architecture
Architecture Diagram explanation of following components:
Components of Model, Views and Controller in Struts Framework
Interceptors
Model/Action classes
Value Stack
OGNL
Introduction to configurations; framework and application architecture
Declarative and Annotations configuration approaches
3. Struts 2 set up and first Action class
Download JAR files
Struts 2 project build up and Configuration files
To build Action class
To intercept an HTTP request via Struts2 framework using Action class
Defining data and business logic in Action class
Preparing and Forwarding control to Views
4. Struts 2 Interceptors
What are Interceptors
Responsibilities of an Interceptor
Mechanism of Interceptor calling in Struts 2
Defining Interceptors
Defining Interceptor stacks
Defining Custom Interceptors
5. Struts 2 Tag Library
Introduction to tag library of Struts 2 and it's usage
6. Struts 2 Validations
Validations using Validateable interface
Workflow interceptor mechanism for validations
Validations using Validateable interface
Validation Framework introduction and architecture
Validating user input with above two mechanisms
7. Struts 2 Tiles Frameworks
Introduction to Tiles in a page
Struts2 Tiles framework introduction
Defining tiles.xml file
Configuring pages for tiles
A complete Tiles example with Struts2
Hibernate Framework (version 3.x)
1. Introduction
What is ORM principle?
Why ORM?
ORM implementations
2. Hibernate Architecture
Introduction to Hibernate
Hibernate Architecture
What are Persistent classes?
3. Hibernate CRUD
Setting up Hibernate project
Configuring all JARs and XML files
Setting up connection to DB using Hibernate
Performing basic CRUD operations using Hibernate API
Object Identity; Generator type classes
Using SQL with Hibernate
Using HQL
Using Criteria queries
4. Mapping Collections and Associations
To define sets, mas, lists in Hibernate
Association Mappings:
One to one
One to many
Many to one
Many to many
Hibernate Caching
What is caching?
What are the types of caching in Hibernate?
Explanation of various caching mechanisms in Hibernate
5. Using Hibernate Annotations
Sample example of using Hibernate Annotations
Spring Framework (version 3.x)
1. Introduction to spring
What is Spring?
Spring Architecture explanation and all it's components
2. Introduction to all modules of Spring
Spring Bean Factory
Spring Application Context
Spring DI
Spring Integration; Spring messaging, Spring JMS
Spring MVC
Spring DAO
3. Setting up spring
Setting up of Spring framework
Download JARs
Configure XML files
4. Dependency Injection
What is Dependency Injection?
How is it implemented using Spring Framework?
Bean Wiring mechanisms in Spring
5. Spring AOP
What is Spring AOP?
Implementation of Spring AOP
Spring Boot Framework (Version 2.x)
1. Introduction
Spring Boot Introduction
Spring Boot Version
Spring vs Spring Boot vs Spring MVC
Spring Boot Architecture
2. Creating Project
Spring Initializr
Download & Install STS IDE
Spring Boot Example
Spring Boot CLI
Spring Boot Example-STS
3. Project Components
Annotations
Dependency Management
Application Properties
Starters
Starter Parent
Starter Web
Starter Data JPA
Starter Actuator
Starter Test
Devtools
Multi Module Project
Packaging
Auto-Configuration
4. Tool Suite
Hello World Example
Project Deployment Using Tomcat
5. Spring Boot AOP
What is AOP?
AOP Before Advice
AOP After Advice
AOP Around Advice
After Returning Advice
After Throwing Advice
6. Spring Boot Database
JPA
JDBC
H2 Database
Crud Operations
7. Spring Boot View
Thymeleaf View
8. Spring Boot Caching
What is Caching?
Cache Provider
EhCaching
9. Spring Boot Misc
Run Spring Boot Application
Changing Port
Spring Boot Rest Example
Web Services: REST and SOAP
Logging Framework: Splunk, Log4J, SLF4j
Version-control system + repository hosting service: Git + Github
Course Curriculum
Getting Started
Preview1- Introduction (1:11)
Start2- Source Code
Exceptions (43m)
Preview1- Introduction (0:42)
Preview2- What are Exceptions (3:45)
Preview3- Types of Exceptions (3:40)
Preview4- Exceptions Hierarchy (2:05)
Preview5- Catching Exceptions (3:51)
Preview6- Catching Multiple Types of Exceptions (4:28)
Preview7- The finally Block (4:10)
Start8- The try-with-resources Statement (2:26)
Start9- Throwing Exceptions (4:41)
Start10- Re-throwing Exceptions (3:07)
Start11- Custom Exceptions (4:18)
Start12- Chaining Exceptions (4:56)
Start13- Summary (0:56)
Generics (43m)
Start1- Introduction (0:27)
Start2- The Need for Generics (3:32)
Start3- A Poor Solution (3:22)
Start4- Generic Classes (4:27)
Start5- Generics and Primitive Types (2:24)
Start6- Constraints (3:25)
Start7- Type Erasure (4:04)
Start8- Comparable Interface (5:38)
Start9- Generic Methods (4:48)
Start10- Multiple Type Parameters (2:32)
Start11- Generic Classes and Inheritance (4:17)
Start12- Wildcards (5:27)
Start13- Summary (0:55)
Collections (1h)
Start1- Introduction (0:34)
Start2- Overview of Collections Framework (3:08)
Start3- The Need for Iterables (3:54)
Start4- The Iterable Interface (5:24)
Start5- The Iterator Interface (5:26)
Start6- The Collection Interface (9:35)
Start7- The List Interface (3:51)
Start8- The Comparable Interface (4:28)
Start9- The Comparator Interface (3:51)
Start10- The Queue Interface (4:47)
Start11- The Set Interface (5:33)
Start12- Hash Tables (3:44)
Start13- The Map Interface (6:26)
Start14- Summary (0:44)
Lambda Expressions and Functional Interfaces (44m)
Start1- Introduction (0:47)
Start2- Functional Interfaces (3:51)
Start3- Anonymous Inner Classes (1:23)
Start4- Lambda Expressions (3:43)
Start5- Variable Capture (1:56)
Start6- Method References (3:46)
Start7- Built-in Functional Interfaces (1:42)
Start8- The Consumer Interface (4:06)
Start9- Chaining Consumer (4:28)
Start10- The Supplier Interface (2:30)
Start11- The Function Interface (3:00)
Start12- Composing Functions (4:19)
Start13- The Predicate Interface (2:02)
Start14- Combining Predicates (2:10)
Start15- The BinaryOperator Interface (3:15)
Start16- The UnaryOperator Interface (1:13)
Start17- Summary (0:40)
Streams (1h)
Start1- Introduction (0:41)
Start2- Imperative vs Functional Programming (6:24)
Start3- Creating a Stream (5:01)
Start4- Mapping Elements (5:24)
Start5- Filtering Elements (2:59)
Start6- Slicing Streams (4:21)
Start7- Sorting Streams (5:12)
Start8- Getting Unique Elements (2:09)
Start9- Peeking Elements (3:19)
Start10- Simple Reducers (3:37)
Start11- Reducing a Stream (4:12)
Start12- Collectors (6:03)
Start13- Grouping Elements (4:51)
Start14- Partitioning Elements (2:10)
Start15- Primitive Type Streams (1:25)
Start16- Summary (0:39)
Concurrency and Multi-threading (1h)
Start1- Introduction (0:55)
Start2- Processes and Threads (3:07)
Start3- Starting a Thread (3:14)
Start4- Pausing a Thread (2:35)
Start5- Joining a Thread (2:27)
Start6- Interrupting a Thread (2:54)
Start7- Concurrency Issues (2:08)
Start8- Race Conditions (5:53)
Start9- Strategies for Thread Safety (2:50)
Start10- Confinement (3:40)
Start11- Locks (3:17)
Start12- The synchronized Keyword (5:13)
Start13- The volatile Keyword (6:33)
Start14- Thread Signalling with wait() and notify() (3:35)
Start15- Atomic Objects (3:25)
Start16- Adders (2:08)
Start17- Synchronized Collections (3:24)
Start18- Concurrent Collections (2:37)
Start19- Summary (1:18)
The Executive Framework (70m)
Start1- Introduction (0:38)
Start2- Thread Pools (1:46)
Start3- Executors (6:50)
Start4- Callables and Futures (5:00)
Start5- Asynchronous Programming (1:50)
Start6- Completable Futures (1:38)
Start7- Creating a Completable Future (3:42)
Start8- Implementing an Asynchronous API (4:18)
Start9- Running Code on Completion (4:04)
Start10- Handling Exceptions (4:15)
Start11- Transforming a Completable Future (4:34)
Start12- Composing Completable Futures (6:08)
Start13- Combining Completable Futures (4:32)
Start14- Waiting for Many Tasks to Complete (2:48)
Start15- Waiting for the First Task (2:13)
Start16- Handling timeouts (2:24)
Start17- Project- Best Price Finder (1:18)
Start18- Solution- Getting a Quote (4:15)
Start19- Solution- Getting Many Quotes (4:49)
Start20- Solution- Random Delays (4:27)