Skip to main content

Java Programming Masterclass covering Java 11 & Java 17

80h 13m 14s
English
Paid

Embark on a transformative journey with the most comprehensive Java programming course available online. With over 260,000 students and thousands of 5-star reviews, these exhaustive Java tutorials cover everything you need to master Java development.

Course Overview

Whether your goal is to:

  • Acquire skills for your first Java programming job
  • Advance to a senior software developer position
  • Pass the Oracle Java Certification Exam
  • Quickly create Java applications

This Java Masterclass is your go-to course to achieve all these goals and more.

Success Stories

Many students secure jobs or promotions after completing this course. For instance, Laura, a student with no prior coding experience, landed a full-time developer position just months after starting this course.

"Three months ago I lost my job... your Complete Java Masterclass at Udemy as a gift, and I wholeheartedly dove into it. Yesterday, I received and accepted a job offer as a full-time developer. Thank you for putting all this knowledge available in such an approachable way. It has been life-changing." - Laura

Course Structure and Content

The course spans 76 hours, but completing it isn't mandatory. The initial seven sections, covering Java Basics, take about 14 hours and provide essential knowledge. Advanced topics, like JavaFX in Section 13, are optional.

Why Learn Java?

  • Popularity and Demand: Java remains one of the top programming languages, opening numerous career prospects.
  • Version Guidance: While Java 8 is widely used, this course also covers Java 11, ensuring you're up-to-date with industry standards.

Course Benefits

  • Comprehensive Mastery: Gain core skills necessary for Java development, including OOP, Java APIs, and effective use of IntelliJ IDEA.
  • Real World Applications: Understand Java concepts through challenges and real-world scenarios, mimicking the process of tackling exam papers.
  • Wide Audience: Suitable for beginners and intermediates aiming to become experts, including those who wish to specialize in areas like Android Development or Java EE.

Instructor Expertise

The course is taught by a software developer with over 35 years of experience and an early adopter of Java. His teaching approach combines in-depth knowledge with engaging content delivery.

Student Feedback

"This course was a guiding light in my 'Becoming a developer' path... It's still a guide for me. Thanks to Tim Buchalka, my Master." - Sina Jz

Course Requirements

  • A computer with Windows, Mac, or Linux
  • A strong commitment to learning
  • Excitement about building new applications

Who Should Enroll?

  • Absolute beginners and intermediates
  • Those interested in creative and advanced Java app development
  • Individuals striving for creativity and lucrative opportunities

Learning Outcomes

  • Master core Java skills to apply for developer positions
  • Prepare for the Oracle Java Certification Exam
  • Demonstrate robust understanding of Java to potential employers
  • Learn industry best practices from a seasoned Java developer
  • Transition smoothly to advanced Java technologies: Spring Framework, Java EE, and more

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 398 lessons

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Introduction To The Course
All Course Lessons (398)
#Lesson TitleDurationAccess
1
Introduction To The Course Demo
02:28
2
Remaster in Progress
03:10
3
Video Quality
01:17
4
Subtitles
02:47
5
How to Get Help
04:55
6
Important Tip - Source Code
02:08
7
Biggest Tip to Succeed as a Java Programmer
01:16
8
Software Tools Introduction
01:13
9
Java Development Kit Installation Overview
01:43
10
Install JDK 11 for Windows
02:25
11
Installing Intellij IDEA for Windows
04:42
12
Install JDK 11 for Mac
02:12
13
Installing Intellij IDEA for Mac
04:58
14
Install JDK 11 for Linux
04:34
15
Installing Intellij IDEA for Linux
05:23
16
Configure IntelliJ IDEA
03:33
17
Introduction
01:19
18
Hello World Project
06:37
19
Defining the Main Method
07:21
20
Hello World Challenge and Common Errors
03:19
21
Variables
09:04
22
Starting out with Expressions
07:06
23
Primitive Types
11:37
24
byte, short, long and width
10:19
25
Casting in Java
04:07
26
Primitive Types Challenge
04:24
27
float and double Primitive Types
07:01
28
Floating Point Precision and a Challenge
10:23
29
The char and boolean Primitive Data Types
10:21
30
Primitive Types Recap and the String Data Type
12:57
31
Operators, Operands and Expressions
08:51
32
Abbreviating Operators
04:13
33
if-then Statement
09:17
34
Logical and Operator
06:25
35
Logical OR Operator
06:12
36
Assignment Operator VS Equals to Operator
07:32
37
Ternary Operator
04:11
38
Operator Precedence and Operator Challenge
11:45
39
First Steps Summary
01:30
40
End of Remaster
02:02
41
Introduction
00:32
42
Keywords And Expressions
07:19
43
Statements, Whitespace and Indentation (Code Organization)
09:25
44
Code Blocks And The If Then Else Control Statements
17:09
45
if then else Recap
04:20
46
Methods In Java
18:02
47
More On Methods And A Challenge
15:35
48
Method Challenge - Final Code Changes
07:28
49
DiffMerge Tool Introduction
01:55
50
Install DiffMerge
02:02
51
Using DiffMerge
17:30
52
Coding Exercises
13:25
53
Coding Exercises Example Part 1
11:09
54
Coding Exercises Example Part 2
11:54
55
Coding Exercises Example Part 3
09:52
56
Method Overloading
27:02
57
Method Overloading Recap
03:39
58
Seconds and Minutes Challenge
13:50
59
Bonus Challenge Solution
11:13
60
Introduction
00:39
61
The switch statement (+Challenge Exercise)
19:33
62
Day of the Week Challenge
10:48
63
The for Statement (+Challenge Exercise)
25:03
64
For Loop Recap
08:00
65
Sum 3 and 5 Challenge
06:14
66
The while and do while statements (+Challenge Exercise)
24:22
67
While and Do While Recap
07:59
68
Digit Sum Challenge
10:30
69
Parsing Values from a String
11:25
70
Reading User Input
12:27
71
Problems and Solutions
10:21
72
Reading User Input Challenge
15:07
73
Min and Max Challenge
15:33
74
Introduction
00:37
75
Classes Part 1
16:32
76
Classes Part 2
13:28
77
Constructors - Part 1 (+Challenge Exercise)
20:11
78
Constructors - Part 2 (+Challenge Exercise)
16:01
79
Inheritance - Part 1
19:40
80
Inheritance - Part 2
13:25
81
Reference vs Object vs Instance vs Class
06:53
82
this vs super
06:53
83
Method Overloading vs Overriding Recap
07:33
84
Static vs Instance Methods
04:11
85
Static vs Instance Variables
04:18
86
Inheritance Challenge Part 1 (+Challenge Exercise)
16:39
87
Inheritance Challenge Part 2
10:05
88
Introduction
00:38
89
Composition
17:20
90
Composition Part 2 (+Challenge Exercise)
14:18
91
Encapsulation
19:24
92
Encapsulation (+Challenge Exercise)
15:16
93
Polymorphism
20:36
94
Polymorphism (+Challenge Exercise)
18:47
95
OOP Master Challenge Exercise
16:42
96
OOP Challenge - Solution
16:47
97
Arrays
21:28
98
Arrays (Challenge Exercise)
16:21
99
Arrays Recap
07:20
100
References Types vs Value Types
16:14
101
Minimum Element Challenge
11:52
102
Reverse Array Challenge
10:32
103
List and ArrayList Part 1
16:30
104
ArrayList Part 2
20:12
105
ArrayList Part 3
16:49
106
ArrayList Challenge Part 1
14:01
107
ArrayList Challenge Part 2
18:13
108
ArrayList Challenge Part 3
10:50
109
Bug Fix for ArrayList Challenge
06:42
110
Autoboxing and Unboxing
16:17
111
Autoboxing & Unboxing (Challenge Exercise) - Part 1
16:50
112
Autoboxing & Unboxing (Challenge Exercise) - Part 2
17:09
113
Autoboxing & Unboxing (Challenge Exercise) - Part 3
09:33
114
LinkedList Part 1
16:44
115
LinkedList Part 2
15:31
116
LinkedList Part 3
20:47
117
LinkedList Challenge Part 1
15:06
118
Bug Fix for "Track 1" Error
01:04
119
LinkedList Challenge Part 2
17:21
120
LinkedList Challenge Part 3 (Final video)
15:46
121
Interfaces
12:35
122
Interfaces Part 2
14:31
123
Interfaces Challenge Part 1
18:12
124
Interfaces Challenge Part 2
09:01
125
Inner classes Part 1
17:11
126
Inner Classes Part 2
14:45
127
Inner Classes Challenge
11:58
128
Abstract Classes Part 1
16:43
129
Abstract Classes Part 2
10:56
130
Interface vs Abstract Class
04:49
131
Abstract Class Challenge Part 1
19:47
132
Abstract Class Challenge Part 2
12:54
133
Abstract Class Challenge Part 3 (includes recursion).
19:47
134
Generics Introduction
11:13
135
Our Generics Class
11:38
136
Our Generics Class Part 2
18:58
137
Our Generics Class Part 3
10:14
138
Generics Challenge
13:09
139
Naming Conventions
07:10
140
Packages
17:41
141
Packages Part 2
11:41
142
Packages Part 3
12:06
143
Packages (Challenge Exercise)
13:29
144
Scope
17:26
145
Scope Part 2 and Visibility
12:08
146
Scope +(Challenge Exercise)
06:54
147
Access Modifiers
16:52
148
The static statement
12:33
149
The final statement
14:38
150
Final Part 2 and Static Initializers
09:02
151
Collections Overview
15:49
152
Binary Search
15:40
153
Collections List Methods
18:24
154
Comparable and Comparator
18:56
155
Maps
16:52
156
Map Continued and Adventure Game
16:34
157
Adding Exits to the Adventure game
18:05
158
Adventure Game challenge
08:14
159
Immutable Classes
15:43
160
Immutable Class Challenge
04:33
161
Sets & HashSet
19:53
162
HashSet - equals() and hashCode()
16:53
163
Finish off equals() and hashcode()
10:57
164
Potential issue with equals() and sub-classing
12:00
165
Sets - Symmetric & Asymmetric
15:35
166
Finishing Off Sets
09:17
167
Sets Challenge Part 1
15:27
168
Sets Challenge Part 2
12:51
169
Sets Challenge Part 3
18:18
170
Sorted Collections
13:12
171
StockList Class With Maps
17:06
172
Add a Basket
15:50
173
TreeMap and Unmodifiable Maps
20:51
174
Challenge Part 1
12:41
175
Challenge Part 2
10:53
176
Challenge Part 3
07:57
177
Challenge Part 4 (Final)
18:05
178
JDK11 Global Library Configuration
05:06
179
Create Your First JavaFX Project
06:01
180
JavaFX Overview
09:49
181
JavaFX Hello World Program
10:56
182
GridPane Layout
15:35
183
HBox Layout
13:12
184
BorderPane Layout
13:17
185
Other Layouts
17:10
186
Controls
15:18
187
RadioButton and CheckBox
17:03
188
ComboBox and ChoiceBox
17:14
189
Slider, Spinner, ColorPicker & DatePicker Controls
14:31
190
TitledPane
06:43
191
Events and Event Handlers
14:30
192
Events Continued
14:39
193
UI Thread
14:41
194
Threads and Runnable
16:19
195
Setup Sample Todo List Application
13:00
196
Base Interface
13:29
197
Add Change Listener
14:18
198
Formatting Dates
07:04
199
Singletons
15:05
200
Load and Save ToDo Items from/to Disk
16:26
201
Add DialogPane
16:32
202
Show Dialog and Add Controller Code
14:34
203
Bug Fix and Update List View
10:28
204
Data Binding and Observable
11:21
205
Cell Factories
14:45
206
Context Menu
15:38
207
KeyEvents and Toolbars
15:42
208
SortedList
12:45
209
FilteredList
16:19
210
CSS With JavaFX
17:40
211
Transforming Nodes and Choosers
16:38
212
More on Choosers and Web Pages
22:12
213
SceneBuilder
03:24
214
Installing SceneBuilder for Windows
05:01
215
Installing SceneBuilder for Mac
03:40
216
Overview of SceneBuilder
07:16
217
Building a UI with SceneBuilder
15:50
218
More on SceneBuilder
17:28
219
JavaFX Challenge
15:15
220
JavaFX Challenge Part 2
13:17
221
JavaFX Challenge Part 3
16:08
222
JavaFX Challenge Part 4
14:04
223
JavaFX Challenge Wrap up
09:16
224
Exceptions
14:01
225
Stack Trace and Call Stack
13:05
226
Catching and throwing Exceptions
14:21
227
Multi Catch Exceptions
08:07
228
Introduction to I/O
15:56
229
Writing content - FileWriter class and Finally block
14:59
230
Try with Resources
12:14
231
FileReader and Closeable
12:56
232
BufferedReader
13:00
233
Load Big Location and Exits Files
07:30
234
Challenge
05:02
235
Buffered Writer and Challenge
13:12
236
Byte Streams
15:46
237
Reading Binary Data and End of File Exceptions
15:45
238
Object Input Output including Serialization
14:16
239
Finish Object I/O and RandomAccessFile class
16:04
240
Create Random Access File
14:30
241
Update Static Initializer Block With Random File Access
11:38
242
Update Adventure Game to Read Random Access File
14:21
243
Java NIO
14:48
244
Writing Objects With Java NIO
11:37
245
Reading and Writing with Java NIO
15:48
246
Writing Binary Files with Java NIO
13:37
247
Reading Files with NIO
15:48
248
Absolute and Relative Reads
11:11
249
Chained Put Methods
13:56
250
Writing Sequentially
13:05
251
FileChannel to Copy Files and Pipes with Threads
15:05
252
Filesystem
18:03
253
More on Paths
12:18
254
Exists and CopyFile
12:00
255
Move, Rename and Delete
11:17
256
File Attributes
12:51
257
Read Existing Directory Contents
14:16
258
Separators Temp Files and File Stores
12:26
259
Walk File Tree
11:34
260
Copy Entire Tree
12:59
261
Mapping IO and NIO Methods
12:54
262
Concurrency and Threads Introduction
07:00
263
Threads
13:33
264
Runnable and Thread
13:20
265
Interrupt and Join
09:45
266
Multiple Threads
11:53
267
Thread Variables
09:54
268
Synchronisation
11:06
269
Producer and Consumer
10:56
270
Deadlocks, wait, notify and notifyAll methods
14:06
271
The Java Util Concurrent package
12:10
272
Thread Interference
11:16
273
Reentrant Lock and Unlock
10:29
274
Using Try Finally With Threads
10:37
275
Thread Pools
12:04
276
ArrayBlockingQueue Class
12:30
277
Deadlocks
10:35
278
More on Deadlocks
14:07
279
Thread Starvation
16:48
280
Fair Locks and Live Locks
12:56
281
Live Lock Example and Slipped Conditions
05:05
282
Other Thread Issues
14:05
283
JavaFX Background Tasks
15:26
284
Data Binding
10:17
285
Service
14:35
286
Challenge 1 and 2
09:11
287
Challenge 3,4 and 5
11:16
288
Challenge 6 and 7
11:01
289
Challenge 8
05:31
290
Challenge 9
04:54
291
Lambda Expressions Introduction
15:34
292
Lambda Expressions Continued
14:51
293
Lambda Expressions Nested Blocks
14:46
294
Scope and Functional Programming
15:03
295
Functional Interfaces & Predicates
16:39
296
More on Predicates & Suppliers
12:07
297
Functions
13:12
298
Chaining java.util.function Functions
11:57
299
Streams
13:51
300
Streams - Intermediate and Terminal Operations
13:07
301
Streams - Flatmap & Lambda Best Practices
21:31
302
Lambda Challenge Part 1
12:08
303
Lambda Challenge Part 2
16:34
304
Regular Expressions Introduction
16:22
305
Character classes and Boundary Matchers
13:56
306
Quantifiers and the Pattern and Matcher classes
14:43
307
Matcher find and Group Methods
15:04
308
And, Or & Not
15:27
309
Regular Expressions Challenge Part 1
17:05
310
Regular Expressions Challenge Part 2
15:31
311
Regular Expressions Challenge Part 3
06:14
312
Introduction to Debugging
17:58
313
More on Debugging
11:25
314
Field Watch Points
16:15
315
Advanced Debugging
10:15
316
Introduction to Unit Testing with JUnit
16:21
317
Asserts in Junit
18:20
318
More Asserts and Exception Handling
16:35
319
Parameterized Testing
12:22
320
JUnit Challenge #1 and #2
21:42
321
JUnit Challenges #3 to #7
12:23
322
Junit Challenges #8 to #10
12:07
323
Section Introduction
01:56
324
Database Terminology
10:33
325
Install and Setup SQLite for Windows
07:57
326
Install and Setup SQLite for Mac
02:01
327
Install and Setup SQLite for Linux
02:39
328
Introduction to SQLite
11:16
329
More with SQLite
10:43
330
Querying Data With SQL
16:03
331
SQL Order by and Joins
13:12
332
More Complex Joins
11:45
333
Wildcards in Queries and Views
15:18
334
Housekeeping and Final SQL Challenge
14:18
335
JDBC and SQLite GUI Browser
15:50
336
Creating Databases With JDBC in Java
17:27
337
JDBC Insert, Update, Delete
15:50
338
.executeQuery() and using Constants
20:40
339
The Music SQLite Database
12:44
340
Write Java Query for Artists
14:47
341
Executing SQL in DB Browser
17:19
342
Query Albums by Artist Method
16:24
343
Query Artists for Song method
15:04
344
Result Set Meta Data
14:40
345
Functions and Views
16:39
346
Write the Method to Query View
11:49
347
SQL Injection Attacks and Prepared Statements
17:02
348
Transactions
13:41
349
Inserting Records With JDBC
10:09
350
Insert Albums, Artists, and Songs
14:01
351
Test Insert JDBC Code
18:08
352
JDBC with a GUI Program
17:54
353
Add Artists
12:36
354
Fix Artist and Preload Records
13:25
355
Implement Artist Query
11:59
356
Add ProgressBar
09:39
357
Handling Updates
15:15
358
Networking Overview
09:40
359
First Client and Server Apps
15:04
360
Multi Threaded Server
14:05
361
Multi-Threading and Timeouts
12:47
362
UDP Server and Client
18:14
363
High Level APIS
18:56
364
URL Connections and Input Stream Reader
16:07
365
HTTPUrlConnection
17:58
366
Alternatives to HTTPUrlConnection
21:07
367
Introduction to Modules
06:22
368
Module Declarations and Statements
02:09
369
Module Types
05:40
370
Project Setup and Test
07:24
371
Structuring the new project
04:03
372
Creating the first module (Common)
12:05
373
Creating the Module Descriptor file
13:26
374
Creating the 2nd module (Database)
10:45
375
Challenge - Create the final module (UI)
09:53
376
Transitive Dependencies
07:30
377
Work in Progress
01:06
378
Keywords and Naming Conventions
07:32
379
Naming Conventions Challenge
03:40
380
Operator Associativity
07:08
381
Declaration and Expression Statements
07:33
382
Expression Statements, Prefix and Postfix
14:36
383
Whitespace
09:15
384
Code Blocks and Indentation
12:28
385
Code Blocks and if, then, and else
09:40
386
Boolean, Naming Conventions and Scope
07:12
387
Challenge and Code Duplication
09:25
388
Defining Methods
08:39
389
Executing Methods
03:30
390
Method Parameters Overview
09:38
391
Removing Code Duplication
06:51
392
Returning Data from a Method
08:50
393
Using Data from a Method Call
03:04
394
Method Recap and Challenge
05:47
395
Method Challenge Solution
10:32
396
Old JavaFX Introduction Video for JDK 8
17:32
397
Old JavaFX Code Vs FXml Video for JDK 8
13:28
398
Bonus Lecture and Information
05:02
Unlock unlimited learning

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

Learn more about subscription