Proof of item:
Become a Pro Java Developer
Want to level-up your Java skills and reach the advanced level? Want to become an in-demand Java developer for exciting software companies?
This course is exactly what you need.
I’ll help you expand your programming skills and equip you with techniques that you can immediately put into practice.
And more importantly, I promise I won’t waste your time. Every single minute of this course is worth watching. No unnecessary repetitions, no fluff, no boring videos here. Simply put, No BS!
By the end of this course, you’ll be able to…
- Write Java code with confidence
- Master advanced Java constructs
- Stay up-to-date with the modern Java features
- Become a better Java developer
What You’l Learn…
- Exception handling
- Generics
- Collections framework
- Lambda expressions
- Functional interfaces
- Streams
- Multi-threading
- Asynchronous programming
- And much, much more…
Who is this course for?
- Java developers who want to take their Java skills to the next level
- College students who want to better understand Java
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)
Great transaction, prompt payment, great communication | Mosh Hamedani – Ultimate Java Part 3: Advanced Topics