Java Master Class

24h 40m 37s
English
Paid
November 1, 2023

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 Java Master Class

Join premium to watch
Go to premium
# Title Duration
1 Intro 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

Similar courses to Java Master Class

The Complete Java Developer

The Complete Java Developer

Duration 40 hours 41 minutes 12 seconds
Java Crew #2

Java Crew #2

Duration 12 hours 12 minutes 58 seconds
Mastering Java 17

Mastering Java 17

Duration 8 hours 20 minutes 27 seconds
Java Programming Bootcamp: Zero to Mastery

Java Programming Bootcamp: Zero to Mastery

Duration 9 hours 15 minutes 36 seconds
Java Data Structures and Algorithms Masterclass

Java Data Structures and Algorithms Masterclass

Duration 44 hours 58 minutes 57 seconds
Recursion, Backtracking and Dynamic Programming in Java

Recursion, Backtracking and Dynamic Programming in Java

Duration 9 hours 46 minutes 17 seconds
Master Spring 6 Spring Boot 3 REST JPA Hibernate

Master Spring 6 Spring Boot 3 REST JPA Hibernate

Duration 36 hours 15 minutes 18 seconds