Skip to main content

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

Data Structures & Algorithms !

Data Structures & Algorithms !

Sources: udemy
Learn data structures and algorithms from scratch. Start with basic data structures and work your way up to intermediate. This course is for all those who want
28 hours 40 minutes 46 seconds
Java Design Patterns

Java Design Patterns

Sources: javaspecialists.eu
Our Java Design Patterns Course is the best value-for-money education you can give your programmers. During an intensive 4 days, we cover all of the Gang-of-Fou
16 hours 20 minutes 37 seconds
Cats

Cats

Sources: rockthejvm.com
We Scala programmers love abstractions and Cats is one of the most popular libraries. At the same time, Cats is notorious for having a steep learning curve. Fun
10 hours 39 minutes 36 seconds
Testing Java with JUnit 5 & Mockito

Testing Java with JUnit 5 & Mockito

Sources: udemy
Unit Testing is a must-have skill and this video course is about unit testing. If you take this video course, you will learn how to test your Java code using JU
7 hours 41 minutes 22 seconds
Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka

Microservices: Clean Architecture, DDD, SAGA, Outbox & Kafka

Sources: udemy
Hi there! My name is Ali Gelenler. I'm here to help you learn microservices architecture while applying Clean and Hexagonal Architectures and using Domain Drive
18 hours 2 minutes 34 seconds