Java Master Class

24h 40m 37s
English
Paid

Course description

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:

Watch Online

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

Watch Online Java Master Class

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

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

The Complete Java Developer

The Complete Java Developer

Sources: udemy
This course does not require you to have any previous experience with the Java language and starts with the simplest steps, such as downloading and installing t
40 hours 41 minutes 12 seconds
gRPC [Java] Master Class: Build Modern API & Micro services

gRPC [Java] Master Class: Build Modern API & Micro services

Sources: udemy
gRPC is a new and modern framework for building scalable, modern and fast API. It is leveraged by many top tech companies such as Google, Square & Netflix and e
5 hours 9 minutes 9 seconds
Hibernate and Java Persistence API (JPA) Fundamentals

Hibernate and Java Persistence API (JPA) Fundamentals

Sources: udemy
Are you ready to get more out of JDBC and your data using smart, streamlined techniques? This Hibernate course is a great place to start. You will start by lear
7 hours 24 minutes 19 seconds
Data Structures and Algorithms: Deep Dive Using Java

Data Structures and Algorithms: Deep Dive Using Java

Sources: 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 of how things work. May...
15 hours 53 minutes 4 seconds
Building Modern Distributed Systems with Java

Building Modern Distributed Systems with Java

Sources: udemy
Significant percentage of large scale enterprises that I have been working with, admitted experiencing performance issues with their business critical applicati
3 hours 53 minutes 32 seconds