Skip to main content
CourseFlix

Java Master Class

24h 40m 37s
English
Paid

Welcome to Amigoscode's most comprehensive Java course! It includes everything you need to gain a complete understanding of Java, code well and build your own applications. Earlier this year, I taught a Java Bootcamp in London for over a year. Then an idea struck me: why not bring all this value to Amigoscode's community in the form of a Master Class? Thanks to six months of preparation and an amazing effort by Amigoscode's team, I am excited to announce that we have surpassed our goal and also included features that will help you master the language within the shortest possible time:

About the Author: Nelson Djalo (Amigoscode)

Nelson Djalo (Amigoscode) thumbnail

Nelson Djalo publishes the Amigoscode YouTube channel and standalone course platform — one of the largest independent Java / Spring Boot tutorial sources online, with several million subscribers and a multi-year track record of weekly back-end engineering tutorials.

The course catalog covers the full Java back-end stack: Java fundamentals, Spring Boot for production web services, Spring Security and OAuth, Spring Data and JPA, microservices patterns with Spring Cloud, Kafka and event-driven architecture, Docker and Kubernetes for the deployment layer, AWS for cloud infrastructure, and the database side (PostgreSQL, MongoDB, Redis). Material is project-oriented — most courses build a working microservice or full application end-to-end.

The CourseFlix listing under this source carries over 13 Amigoscode courses spanning that range. Material is paid; Amigoscode runs on per-course or membership pricing on the original platform. Courses are aimed at Java developers building production back-end services.

Watch Online 357 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 357 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Intro
All Course Lessons (357)
#Lesson TitleDurationAccess
1
Intro Demo
02:34
2
Practice Practice Practice
01:03
3
Textbook
04:15
4
Discord
02:46
5
What is Java
03:51
6
What can you build with Java
02:56
7
Java Usages
06:21
8
Compliled vs Interpreted Languages
05:11
9
Static vs Dynamic Type Checking
05:23
10
Java version history
05:10
11
IntelliJ IDEA
03:26
12
jetbrains.com/idea
04:48
13
Jetbrains ToolBox
03:20
14
Quick Word Before We Begin
01:38
15
Create Project - Part 1
04:53
16
Create Project - Part 2
03:11
17
Your First Java Program
02:24
18
Compiling and Running via Terminal
03:35
19
Fixing Compilation Errors
04:41
20
View ByteCode
02:07
21
Public Static Void Main
02:46
22
Understanding Java Code
03:07
23
SOUT Keyboard Shortcut
01:47
24
Reserved Keywords
01:57
25
Comments
02:28
26
Variables
03:59
27
Primitives Data Types Difference
04:55
28
Numeric Literals with Underscore
01:43
29
Arithmetic Operators
03:05
30
Increment and Decrement Operators
04:38
31
Comparison Operators
02:43
32
Short hand re-assignment
03:21
33
Naming Variables
03:09
34
Strings
06:38
35
String API Documentation
02:08
36
Reference Types and Objects
05:04
37
Reference Types and Objects Diferences
06:16
38
Pass py value with Primitives
04:21
39
Pass py value with Reference Types
06:31
40
Arrays
07:43
41
0 and Null Values for Arrays
03:20
42
Quick word on Arrays
01:22
43
TextBook and Exercises
03:23
44
How To Attempt Exercises
06:54
45
Quick word on the CLI Project
00:36
46
For Loop
05:03
47
Loops and Arrays
03:33
48
Enhanced For Loop
02:38
49
For i vs Enhanced For Loop
02:02
50
While Loop
03:06
51
Do While
02:38
52
If Statements
03:16
53
If Statements with Conditions
02:24
54
Else If
03:30
55
AND Logical Operators
03:52
56
OR Logical Operators
04:10
57
Logical Operators Recap
02:49
58
! on ifs
01:37
59
Dont do this with if statements
01:04
60
Switch Statement
04:28
61
Data Types for Enums
02:32
62
New Switch Expression
03:55
63
Packages
02:24
64
Creating Packages
03:47
65
Exploring Packages
03:01
66
Import keyword
06:01
67
Optmizing imports
00:50
68
Import with fully qualified name
03:49
69
No Import for java lang
01:46
70
Access Modifiers Intro
01:02
71
Public Access Modifier
05:18
72
Private
02:26
73
Default
04:34
74
Recap
06:25
75
When To Use Each Access Modifier
01:35
76
Static Keyword
07:18
77
Methods
03:22
78
Method that add 2 numbers
05:12
79
Parameters and Arguments
01:35
80
Void methods
05:23
81
Naming Convention
03:29
82
Exercise
01:25
83
Exercise Solution
04:07
84
Understanding public static void main
06:51
85
Program Arguments
05:03
86
Type Inference with Var
06:42
87
Break Keyword and Loops
02:18
88
Continue
03:14
89
Return Keyword and Void Methods
02:49
90
Final Keyword
06:24
91
Enums
09:06
92
Enums Methods
04:08
93
Implicit and Explicit Type Casting
04:33
94
Global and Local Variables
07:04
95
Wrapper Classes
06:32
96
Working With Strings
08:45
97
How Strings are stored in memory
04:04
98
Strings are Immutable
02:36
99
String Literal vs String Object
04:14
100
Comparing Strings with ==
04:41
101
Comparing Strings with .equals
02:10
102
Useful String static Methods
05:18
103
LocalDateTime
03:54
104
LocalDate and LocalTime
02:43
105
Creating Specif Dates
04:56
106
ZoneIds
04:05
107
Other Date Classes
04:42
108
The Problem With double
02:06
109
BigDecimal
02:16
110
Exploring BigDecimal Methods
04:37
111
Scanner
04:14
112
NextInt and other data types
03:28
113
Outro
01:07
114
Intro
02:17
115
What is an exception
04:10
116
Try Catch
04:31
117
Multiple Catch Blocks
04:15
118
Using Or Within Catch
02:37
119
The Exception Class
07:09
120
Finally Keyword
02:06
121
Exception Hierarchy
08:11
122
Uncheck Exceptions
05:20
123
Checked Exceptions
06:59
124
Throw and Throws
06:34
125
Throwing Exceptions
08:25
126
When To Use Checked VS Unchecked Exeptions
01:33
127
Creating Custom Exceptions
06:31
128
Creating Files
06:02
129
Writing To Files
08:27
130
Reading from Files
04:09
131
Try with Resources
04:40
132
Intro
02:09
133
Your first class
03:57
134
Setters
05:44
135
Getters
02:56
136
Constructors
04:55
137
Default Constructors
02:25
138
Multiple Contructors
04:11
139
ToString
06:26
140
The Inside Constructors
03:27
141
The This Keyword
06:14
142
Everything in Java is an Object
07:49
143
@Override
02:53
144
Comparing Objects with ==
04:56
145
Comparing Obects with .equals
05:13
146
Generating Equals method
04:02
147
Equals Explained
06:49
148
Generating Code
04:14
149
Person and Cats Example
04:48
150
POJOS
03:48
151
Java Bean
05:02
152
Exercise
03:14
153
Exercise Solution
09:21
154
Static Keyword
05:49
155
When to use Static
06:31
156
Static Initlaization Block
06:35
157
Instance Block Initializer
05:18
158
Static Import
02:36
159
Intro
01:41
160
Packages
03:08
161
Models
04:28
162
Service Classes
09:31
163
Data Access Object
08:29
164
Connecting DAO and Service
08:51
165
N Tier Architecture
02:42
166
Utitlity Classes
05:04
167
Intro
01:26
168
The first CLI project task
03:09
169
Demo
04:20
170
Upcoming Section Intro
02:09
171
Encapsulation
02:29
172
Encapsulation in Action
05:07
173
The Problem With Non Private Fields
06:33
174
Data Hiding
06:25
175
String Class Encapsulation Example
04:20
176
What is Inheritance
02:14
177
Implementing Inheritance
04:53
178
Create an instance of Programmer
06:09
179
Super Keyword
04:20
180
Protected Access Modifier
02:44
181
Override
05:57
182
Single and Multi Level Inheritance
01:11
183
Abstract Keyword on Classes
04:05
184
Abstract Methods
04:19
185
A Quick Word Before we move on
00:34
186
Abstract Classes Example
15:33
187
What is Polymorphism
07:44
188
Car Bicycle Electric Scooter Example
04:28
189
Create Your First Interface
02:22
190
Implementing Interfaces
07:01
191
Putting it all together
07:00
192
Constants
02:16
193
Default Methods
05:31
194
CLI Project Exercise
03:11
195
Don't Do This
01:25
196
Dependecy Injection
05:07
197
Dependency Injection In Action
05:20
198
Singletons and @Inject_@Autowire
08:05
199
CLI Project Exercise
01:32
200
SOLID Principles
03:01
201
Single Responsibitiy
04:55
202
Open Close
06:01
203
Liskov
03:14
204
Interface Segragation
02:37
205
Dependecy Inversion
06:15
206
Null Pointer Exception
06:17
207
The Wrong Way Of Dealing with Null
03:48
208
Optionals
10:42
209
Intro
03:30
210
Overview
01:58
211
Arrays
02:37
212
Working With Arrays
11:28
213
2D Arrays
01:38
214
Working with 2D Arrays
05:43
215
Lists
01:38
216
Working With Lists and ArrayList
10:23
217
Stack
01:53
218
Working With Stacks
07:07
219
Queue
01:24
220
Working With Queues
06:20
221
Linked List
04:18
222
Working with LinkedList
08:34
223
Sets
01:21
224
Working with Sets
07:33
225
Map Interface Hierarchy
01:56
226
Maps
00:42
227
Working With Maps
09:05
228
HashCode
02:56
229
Working HashCode and HashFunction
07:51
230
Outro
03:18
231
HackerRank Big Notation
08:37
232
CLI Project Exercise
01:33
233
Intro
01:05
234
Class Cast Exception
04:25
235
ClassCastException Example 2
02:31
236
Type Parameter and Type Argument
06:08
237
Generic Type Naming Convention
02:25
238
Generic and Classes
03:45
239
Generic and Classes Part 2
06:10
240
Generics and Methods
08:28
241
Bounded Type Parameters
09:06
242
Multiple Bounds
04:24
243
Unbounded Wildcard
05:06
244
Upper Bounded Wildcards
03:31
245
Lower Bounded Wildcards
03:42
246
Difference Between Bounded Type Parameters and Wildcards
03:23
247
Type Erasure
02:44
248
Outro
01:03
249
Intro
01:15
250
Java Streams
03:30
251
How Streams Work
03:27
252
Getting Started With Streams
06:30
253
Exercise
00:57
254
Declarative Solution
01:52
255
Imperative Solution
04:08
256
Visualise Streams
02:13
257
Outro
00:25
258
CLI Exercise
01:27
259
Maven
02:55
260
Installing Maven
02:03
261
Verifying Maven Installation
00:47
262
Creating a Maven Project
03:40
263
Maven Folder Structure
04:09
264
Project Object Model (pom.xml)
02:48
265
Target Folder
03:41
266
Installing Maven Dependencies
07:52
267
Using Java Faker
03:54
268
.m2 Folder
05:27
269
Maven Lifecycles
03:52
270
Running Maven Commands
06:09
271
Packaging and Jar Files
04:04
272
CLI Project Exercise
02:22
273
Intro
02:49
274
JUnit
01:21
275
Installing JUNIT
04:30
276
Launching Your First Test
04:36
277
Calculator and CalculatorTest Classes
03:49
278
Writing Your First Unit Test
05:12
279
Assertions
02:44
280
Test Scenarios
03:28
281
Other JUnit Features
02:19
282
CLI Exercise
01:18
283
Section Intro
01:12
284
Intro Spring Boot
02:31
285
Spring Initializr
02:56
286
Open the project with IntelliJ
02:04
287
The pom.xml
02:27
288
Cleanup Few Things
02:18
289
JDK
02:47
290
Your first Spring Boot Application
04:10
291
Embedded Web Serve
03:06
292
Configuring Embedded Web Server
04:48
293
Your first API
02:53
294
@SpringBootApplication
06:07
295
Spring Web MVC
05:46
296
JSON For Java
07:17
297
Java Objects to JSON Objects
05:26
298
Introduction to HTTP
04:12
299
The Evolution of HTTP
03:15
300
HTTP Request and Response Messages
03:49
301
HTTP Methods
04:44
302
HTTP Status Codes
06:32
303
URL
09:01
304
API and REST API
03:38
305
Public APIs and Other Types
06:37
306
Why build APIs
02:55
307
Chrome Developer Tools
07:07
308
Exploring XHR for our API
04:35
309
Inspecting Instagram Network Activity
09:29
310
REST Client & Postman
03:49
311
IntelliJ REST Clients
05:08
312
CRUD and Section Overview
02:05
313
Customer Model
02:29
314
Fake Database
03:27
315
API Endpoint
05:54
316
@PathVariable
07:57
317
N Tier Architecture
02:02
318
Refactor - Controller Service and DAO
10:40
319
@RestController @Service @Repository @Component
07:02
320
Application Context
04:58
321
Inspecting beans
05:09
322
Bean Scopes
02:23
323
Creating Beans
07:49
324
We are not handling error the right way
01:56
325
Custom Exception
05:02
326
@ResponseStatus
02:28
327
Include error Message to Responses
02:04
328
Section Intro
00:51
329
Postgres and Docker
02:18
330
Verifying Docker Installation
02:27
331
Postgres DB with Docker compose
04:26
332
Connecting to Database
01:34
333
Connecting to DB using IntelliJ IDEA
03:22
334
Data Source & JPA
02:30
335
Installing PostgreSQL Driver and Spring Data JPA Dependencies
03:00
336
Configuring Datasource Properties
04:48
337
Create Customer Table
04:51
338
Entity
03:44
339
Inspecting The Database
02:29
340
Column Contraints
02:31
341
CustomerRepository
02:24
342
CustomerJPADataAccessService class
02:02
343
@Qualifier
02:48
344
Saving Entities
04:32
345
Exploring JPA Methods
03:43
346
The Problem
01:03
347
Exercise Solution
01:42
348
Intro
01:36
349
Chasing Interface
00:51
350
Override insert customer
01:27
351
Business Logic for Adding new Customer
08:36
352
Controller @RequestMapping and @RequestBody
02:46
353
Testing POST Request
04:07
354
Exercise
01:40
355
Exercise Solution
02:35
356
Exercise
03:23
357
Exercise Solution
05:01
Unlock unlimited learning

Get instant access to all 356 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Course content

357 lessons · 24h 40m 37s
Show all 357 lessons
  1. 1 Intro 02:34
  2. 2 Practice Practice Practice 01:03
  3. 3 Textbook 04:15
  4. 4 Discord 02:46
  5. 5 What is Java 03:51
  6. 6 What can you build with Java 02:56
  7. 7 Java Usages 06:21
  8. 8 Compliled vs Interpreted Languages 05:11
  9. 9 Static vs Dynamic Type Checking 05:23
  10. 10 Java version history 05:10
  11. 11 IntelliJ IDEA 03:26
  12. 12 jetbrains.com/idea 04:48
  13. 13 Jetbrains ToolBox 03:20
  14. 14 Quick Word Before We Begin 01:38
  15. 15 Create Project - Part 1 04:53
  16. 16 Create Project - Part 2 03:11
  17. 17 Your First Java Program 02:24
  18. 18 Compiling and Running via Terminal 03:35
  19. 19 Fixing Compilation Errors 04:41
  20. 20 View ByteCode 02:07
  21. 21 Public Static Void Main 02:46
  22. 22 Understanding Java Code 03:07
  23. 23 SOUT Keyboard Shortcut 01:47
  24. 24 Reserved Keywords 01:57
  25. 25 Comments 02:28
  26. 26 Variables 03:59
  27. 27 Primitives Data Types Difference 04:55
  28. 28 Numeric Literals with Underscore 01:43
  29. 29 Arithmetic Operators 03:05
  30. 30 Increment and Decrement Operators 04:38
  31. 31 Comparison Operators 02:43
  32. 32 Short hand re-assignment 03:21
  33. 33 Naming Variables 03:09
  34. 34 Strings 06:38
  35. 35 String API Documentation 02:08
  36. 36 Reference Types and Objects 05:04
  37. 37 Reference Types and Objects Diferences 06:16
  38. 38 Pass py value with Primitives 04:21
  39. 39 Pass py value with Reference Types 06:31
  40. 40 Arrays 07:43
  41. 41 0 and Null Values for Arrays 03:20
  42. 42 Quick word on Arrays 01:22
  43. 43 TextBook and Exercises 03:23
  44. 44 How To Attempt Exercises 06:54
  45. 45 Quick word on the CLI Project 00:36
  46. 46 For Loop 05:03
  47. 47 Loops and Arrays 03:33
  48. 48 Enhanced For Loop 02:38
  49. 49 For i vs Enhanced For Loop 02:02
  50. 50 While Loop 03:06
  51. 51 Do While 02:38
  52. 52 If Statements 03:16
  53. 53 If Statements with Conditions 02:24
  54. 54 Else If 03:30
  55. 55 AND Logical Operators 03:52
  56. 56 OR Logical Operators 04:10
  57. 57 Logical Operators Recap 02:49
  58. 58 ! on ifs 01:37
  59. 59 Dont do this with if statements 01:04
  60. 60 Switch Statement 04:28
  61. 61 Data Types for Enums 02:32
  62. 62 New Switch Expression 03:55
  63. 63 Packages 02:24
  64. 64 Creating Packages 03:47
  65. 65 Exploring Packages 03:01
  66. 66 Import keyword 06:01
  67. 67 Optmizing imports 00:50
  68. 68 Import with fully qualified name 03:49
  69. 69 No Import for java lang 01:46
  70. 70 Access Modifiers Intro 01:02
  71. 71 Public Access Modifier 05:18
  72. 72 Private 02:26
  73. 73 Default 04:34
  74. 74 Recap 06:25
  75. 75 When To Use Each Access Modifier 01:35
  76. 76 Static Keyword 07:18
  77. 77 Methods 03:22
  78. 78 Method that add 2 numbers 05:12
  79. 79 Parameters and Arguments 01:35
  80. 80 Void methods 05:23
  81. 81 Naming Convention 03:29
  82. 82 Exercise 01:25
  83. 83 Exercise Solution 04:07
  84. 84 Understanding public static void main 06:51
  85. 85 Program Arguments 05:03
  86. 86 Type Inference with Var 06:42
  87. 87 Break Keyword and Loops 02:18
  88. 88 Continue 03:14
  89. 89 Return Keyword and Void Methods 02:49
  90. 90 Final Keyword 06:24
  91. 91 Enums 09:06
  92. 92 Enums Methods 04:08
  93. 93 Implicit and Explicit Type Casting 04:33
  94. 94 Global and Local Variables 07:04
  95. 95 Wrapper Classes 06:32
  96. 96 Working With Strings 08:45
  97. 97 How Strings are stored in memory 04:04
  98. 98 Strings are Immutable 02:36
  99. 99 String Literal vs String Object 04:14
  100. 100 Comparing Strings with == 04:41
  101. 101 Comparing Strings with .equals 02:10
  102. 102 Useful String static Methods 05:18
  103. 103 LocalDateTime 03:54
  104. 104 LocalDate and LocalTime 02:43
  105. 105 Creating Specif Dates 04:56
  106. 106 ZoneIds 04:05
  107. 107 Other Date Classes 04:42
  108. 108 The Problem With double 02:06
  109. 109 BigDecimal 02:16
  110. 110 Exploring BigDecimal Methods 04:37
  111. 111 Scanner 04:14
  112. 112 NextInt and other data types 03:28
  113. 113 Outro 01:07
  114. 114 Intro 02:17
  115. 115 What is an exception 04:10
  116. 116 Try Catch 04:31
  117. 117 Multiple Catch Blocks 04:15
  118. 118 Using Or Within Catch 02:37
  119. 119 The Exception Class 07:09
  120. 120 Finally Keyword 02:06
  121. 121 Exception Hierarchy 08:11
  122. 122 Uncheck Exceptions 05:20
  123. 123 Checked Exceptions 06:59
  124. 124 Throw and Throws 06:34
  125. 125 Throwing Exceptions 08:25
  126. 126 When To Use Checked VS Unchecked Exeptions 01:33
  127. 127 Creating Custom Exceptions 06:31
  128. 128 Creating Files 06:02
  129. 129 Writing To Files 08:27
  130. 130 Reading from Files 04:09
  131. 131 Try with Resources 04:40
  132. 132 Intro 02:09
  133. 133 Your first class 03:57
  134. 134 Setters 05:44
  135. 135 Getters 02:56
  136. 136 Constructors 04:55
  137. 137 Default Constructors 02:25
  138. 138 Multiple Contructors 04:11
  139. 139 ToString 06:26
  140. 140 The Inside Constructors 03:27
  141. 141 The This Keyword 06:14
  142. 142 Everything in Java is an Object 07:49
  143. 143 @Override 02:53
  144. 144 Comparing Objects with == 04:56
  145. 145 Comparing Obects with .equals 05:13
  146. 146 Generating Equals method 04:02
  147. 147 Equals Explained 06:49
  148. 148 Generating Code 04:14
  149. 149 Person and Cats Example 04:48
  150. 150 POJOS 03:48
  151. 151 Java Bean 05:02
  152. 152 Exercise 03:14
  153. 153 Exercise Solution 09:21
  154. 154 Static Keyword 05:49
  155. 155 When to use Static 06:31
  156. 156 Static Initlaization Block 06:35
  157. 157 Instance Block Initializer 05:18
  158. 158 Static Import 02:36
  159. 159 Intro 01:41
  160. 160 Packages 03:08
  161. 161 Models 04:28
  162. 162 Service Classes 09:31
  163. 163 Data Access Object 08:29
  164. 164 Connecting DAO and Service 08:51
  165. 165 N Tier Architecture 02:42
  166. 166 Utitlity Classes 05:04
  167. 167 Intro 01:26
  168. 168 The first CLI project task 03:09
  169. 169 Demo 04:20
  170. 170 Upcoming Section Intro 02:09
  171. 171 Encapsulation 02:29
  172. 172 Encapsulation in Action 05:07
  173. 173 The Problem With Non Private Fields 06:33
  174. 174 Data Hiding 06:25
  175. 175 String Class Encapsulation Example 04:20
  176. 176 What is Inheritance 02:14
  177. 177 Implementing Inheritance 04:53
  178. 178 Create an instance of Programmer 06:09
  179. 179 Super Keyword 04:20
  180. 180 Protected Access Modifier 02:44
  181. 181 Override 05:57
  182. 182 Single and Multi Level Inheritance 01:11
  183. 183 Abstract Keyword on Classes 04:05
  184. 184 Abstract Methods 04:19
  185. 185 A Quick Word Before we move on 00:34
  186. 186 Abstract Classes Example 15:33
  187. 187 What is Polymorphism 07:44
  188. 188 Car Bicycle Electric Scooter Example 04:28
  189. 189 Create Your First Interface 02:22
  190. 190 Implementing Interfaces 07:01
  191. 191 Putting it all together 07:00
  192. 192 Constants 02:16
  193. 193 Default Methods 05:31
  194. 194 CLI Project Exercise 03:11
  195. 195 Don't Do This 01:25
  196. 196 Dependecy Injection 05:07
  197. 197 Dependency Injection In Action 05:20
  198. 198 Singletons and @Inject_@Autowire 08:05
  199. 199 CLI Project Exercise 01:32
  200. 200 SOLID Principles 03:01
  201. 201 Single Responsibitiy 04:55
  202. 202 Open Close 06:01
  203. 203 Liskov 03:14
  204. 204 Interface Segragation 02:37
  205. 205 Dependecy Inversion 06:15
  206. 206 Null Pointer Exception 06:17
  207. 207 The Wrong Way Of Dealing with Null 03:48
  208. 208 Optionals 10:42
  209. 209 Intro 03:30
  210. 210 Overview 01:58
  211. 211 Arrays 02:37
  212. 212 Working With Arrays 11:28
  213. 213 2D Arrays 01:38
  214. 214 Working with 2D Arrays 05:43
  215. 215 Lists 01:38
  216. 216 Working With Lists and ArrayList 10:23
  217. 217 Stack 01:53
  218. 218 Working With Stacks 07:07
  219. 219 Queue 01:24
  220. 220 Working With Queues 06:20
  221. 221 Linked List 04:18
  222. 222 Working with LinkedList 08:34
  223. 223 Sets 01:21
  224. 224 Working with Sets 07:33
  225. 225 Map Interface Hierarchy 01:56
  226. 226 Maps 00:42
  227. 227 Working With Maps 09:05
  228. 228 HashCode 02:56
  229. 229 Working HashCode and HashFunction 07:51
  230. 230 Outro 03:18
  231. 231 HackerRank Big Notation 08:37
  232. 232 CLI Project Exercise 01:33
  233. 233 Intro 01:05
  234. 234 Class Cast Exception 04:25
  235. 235 ClassCastException Example 2 02:31
  236. 236 Type Parameter and Type Argument 06:08
  237. 237 Generic Type Naming Convention 02:25
  238. 238 Generic and Classes 03:45
  239. 239 Generic and Classes Part 2 06:10
  240. 240 Generics and Methods 08:28
  241. 241 Bounded Type Parameters 09:06
  242. 242 Multiple Bounds 04:24
  243. 243 Unbounded Wildcard 05:06
  244. 244 Upper Bounded Wildcards 03:31
  245. 245 Lower Bounded Wildcards 03:42
  246. 246 Difference Between Bounded Type Parameters and Wildcards 03:23
  247. 247 Type Erasure 02:44
  248. 248 Outro 01:03
  249. 249 Intro 01:15
  250. 250 Java Streams 03:30
  251. 251 How Streams Work 03:27
  252. 252 Getting Started With Streams 06:30
  253. 253 Exercise 00:57
  254. 254 Declarative Solution 01:52
  255. 255 Imperative Solution 04:08
  256. 256 Visualise Streams 02:13
  257. 257 Outro 00:25
  258. 258 CLI Exercise 01:27
  259. 259 Maven 02:55
  260. 260 Installing Maven 02:03
  261. 261 Verifying Maven Installation 00:47
  262. 262 Creating a Maven Project 03:40
  263. 263 Maven Folder Structure 04:09
  264. 264 Project Object Model (pom.xml) 02:48
  265. 265 Target Folder 03:41
  266. 266 Installing Maven Dependencies 07:52
  267. 267 Using Java Faker 03:54
  268. 268 .m2 Folder 05:27
  269. 269 Maven Lifecycles 03:52
  270. 270 Running Maven Commands 06:09
  271. 271 Packaging and Jar Files 04:04
  272. 272 CLI Project Exercise 02:22
  273. 273 Intro 02:49
  274. 274 JUnit 01:21
  275. 275 Installing JUNIT 04:30
  276. 276 Launching Your First Test 04:36
  277. 277 Calculator and CalculatorTest Classes 03:49
  278. 278 Writing Your First Unit Test 05:12
  279. 279 Assertions 02:44
  280. 280 Test Scenarios 03:28
  281. 281 Other JUnit Features 02:19
  282. 282 CLI Exercise 01:18
  283. 283 Section Intro 01:12
  284. 284 Intro Spring Boot 02:31
  285. 285 Spring Initializr 02:56
  286. 286 Open the project with IntelliJ 02:04
  287. 287 The pom.xml 02:27
  288. 288 Cleanup Few Things 02:18
  289. 289 JDK 02:47
  290. 290 Your first Spring Boot Application 04:10
  291. 291 Embedded Web Serve 03:06
  292. 292 Configuring Embedded Web Server 04:48
  293. 293 Your first API 02:53
  294. 294 @SpringBootApplication 06:07
  295. 295 Spring Web MVC 05:46
  296. 296 JSON For Java 07:17
  297. 297 Java Objects to JSON Objects 05:26
  298. 298 Introduction to HTTP 04:12
  299. 299 The Evolution of HTTP 03:15
  300. 300 HTTP Request and Response Messages 03:49
  301. 301 HTTP Methods 04:44
  302. 302 HTTP Status Codes 06:32
  303. 303 URL 09:01
  304. 304 API and REST API 03:38
  305. 305 Public APIs and Other Types 06:37
  306. 306 Why build APIs 02:55
  307. 307 Chrome Developer Tools 07:07
  308. 308 Exploring XHR for our API 04:35
  309. 309 Inspecting Instagram Network Activity 09:29
  310. 310 REST Client & Postman 03:49
  311. 311 IntelliJ REST Clients 05:08
  312. 312 CRUD and Section Overview 02:05
  313. 313 Customer Model 02:29
  314. 314 Fake Database 03:27
  315. 315 API Endpoint 05:54
  316. 316 @PathVariable 07:57
  317. 317 N Tier Architecture 02:02
  318. 318 Refactor - Controller Service and DAO 10:40
  319. 319 @RestController @Service @Repository @Component 07:02
  320. 320 Application Context 04:58
  321. 321 Inspecting beans 05:09
  322. 322 Bean Scopes 02:23
  323. 323 Creating Beans 07:49
  324. 324 We are not handling error the right way 01:56
  325. 325 Custom Exception 05:02
  326. 326 @ResponseStatus 02:28
  327. 327 Include error Message to Responses 02:04
  328. 328 Section Intro 00:51
  329. 329 Postgres and Docker 02:18
  330. 330 Verifying Docker Installation 02:27
  331. 331 Postgres DB with Docker compose 04:26
  332. 332 Connecting to Database 01:34
  333. 333 Connecting to DB using IntelliJ IDEA 03:22
  334. 334 Data Source & JPA 02:30
  335. 335 Installing PostgreSQL Driver and Spring Data JPA Dependencies 03:00
  336. 336 Configuring Datasource Properties 04:48
  337. 337 Create Customer Table 04:51
  338. 338 Entity 03:44
  339. 339 Inspecting The Database 02:29
  340. 340 Column Contraints 02:31
  341. 341 CustomerRepository 02:24
  342. 342 CustomerJPADataAccessService class 02:02
  343. 343 @Qualifier 02:48
  344. 344 Saving Entities 04:32
  345. 345 Exploring JPA Methods 03:43
  346. 346 The Problem 01:03
  347. 347 Exercise Solution 01:42
  348. 348 Intro 01:36
  349. 349 Chasing Interface 00:51
  350. 350 Override insert customer 01:27
  351. 351 Business Logic for Adding new Customer 08:36
  352. 352 Controller @RequestMapping and @RequestBody 02:46
  353. 353 Testing POST Request 04:07
  354. 354 Exercise 01:40
  355. 355 Exercise Solution 02:35
  356. 356 Exercise 03:23
  357. 357 Exercise Solution 05:01

Related courses

  • Recursion, Backtracking and Dynamic Programming in Java thumbnail

    Recursion, Backtracking and Dynamic Programming in Java

    By: Udemy
    This course is about the fundamental concepts of algorithmic problems focusing on recursion, backtracking, dynamic programming and divide and conquer approaches
    9 hours 46 minutes 17 seconds
  • Mastering Java 17 thumbnail

    Mastering Java 17

    By: Java Specialists
    In this course, we will thoroughly explore the key innovations in Java 12, 13, 14, 15, 16, and 17.
    8 hours 20 minutes 27 seconds
  • Data Structures and Algorithms: Deep Dive Using Java thumbnail

    Data Structures and Algorithms: Deep Dive Using Java

    By: Udemy
    So you've worked with the basics of data structures and algorithms in Java (or another OO programming language) but feel like you need a deeper knowledge
    15 hours 53 minutes 4 seconds

Frequently asked questions

What is Java Master Class about?
Welcome to Amigoscode's most comprehensive Java course! It includes everything you need to gain a complete understanding of Java, code well and build your own applications. Earlier this year, I taught a Java Bootcamp in London for over a…
Who teaches Java Master Class?
Java Master Class is taught by Nelson Djalo (Amigoscode). You can find more courses by this instructor on the corresponding source page.
How long is Java Master Class?
Java Master Class contains 357 lessons with a total runtime of 24 hours 40 minutes. All lessons are available to watch online at your own pace.
Is Java Master Class free to watch?
Java Master Class is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch Java Master Class online?
Java Master Class is available to watch online on CourseFlix at https://courseflix.net/course/java-master-class. The page hosts every lesson with the integrated video player; no download is required.