Java Programming Masterclass for Software Developers

Java Programming Masterclass for Software Developers
Java Programming Masterclass for Software Developers

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 78.5 Hours | 37.7 GB
eLearning | Skill level: All Levels

Learn Java In This Course And Become a Computer Programmer. Obtain valuable Core Java Skills And Java Certification

You’ve just stumbled upon the most complete, in-depth Java programming course online. With over 260,000 students enrolled and tens of thousands of 5 star reviews to date, these comprehensive java tutorials cover everything you’ll ever need.

Whether you want to:

– build the skills you need to get your first Java programming job

– move to a more senior software developer position

– pass the oracle java certification exam

– or just learn java to be able to create your own java apps quickly.

…this complete Java Masterclass is the course you need to do all of this, and more.

Are you aiming to get your first Java Programming job but struggling to find out what skills employers want and which course will give you those skills?

This course is designed to give you the Java skills you need to get a job as a Java developer. By the end of the course you will understand Java extremely well and be able to build your own Java apps and be productive as a software developer.

Lots of students have been success with getting their first job or a promotion after going through the course.

Here is just one example of a student who lost her job and despite having never coded in her life previously, got a full time software developer position in just a few months after starting this course. She didn’t even complete the course!

“Three months ago I lost my job, came to a turning point in my life, and finally made the drastic decision to completely change course. I decided to switch career path and go into coding. My husband found and gave me your Complete Java Masterclass at Udemy as a gift, and I wholeheartedly dove into it as a life line. Following your course has been absolutely enjoyable (still working on it, not yet finished), and has been a great way of keeping on course, dedicated and motivated. Yesterday, three months after starting the course and honestly to my surprise, I received (and accepted!) a job offer as a full-time developer. I wanted to just drop you a line to say thank you for doing this work, for being such a dedicated teacher, and for putting all this knowledge available out there in such an approachable way. It has, literally, been life changing. With gratitude, Laura”

The course is a whopping 76 hours long. Perhaps you have looked at the size of the course and are feeling a little overwhelmed at the prospect of finding time to complete it. Maybe you are wondering if you need to go through it all?

Firstly, Laura’s story above shows that you do not have to complete the entire course – she was yet to complete the course when she accepted her developer job offer.

Secondly, the course is designed as a one stop shop for Java.

The core java material you need to learn java development is covered in the first seven sections (around 14 hours in total). The Java Basics are covered in those sections. The rest of the course covers intermediate, advanced and optional material you do not technically need to go through.

For example section 13 is a whopping 10 hours just by itself and is aimed at those students who want to build desktop applications with graphical user interfaces. JavaFX (which is the technology used in this section) is something that most java developers will rarely or never need to work on. So you could skip that section entirely. But if you are one of the few that need to build user interfaces, then the content is there and ready for you. And there are other sections you can completely avoid if you wish.

If you want to know absolutely everything about Java, then you can go through the entire course if you wish, but it’s not necessary to do so if you are just looking to learn the essential information to get a java developer position.

Why would you choose to learn Java?

The reality is that there is a lot of computer languages out there. It’s in the hundreds. Why would you choose the Java language?

The number one reason is its popularity. According to many official websites that track popularity of languages, Java is either #1 or in the top 3. Popularity means more companies and their staff are using it, so there are more career opportunities available for you if you are skilled in the language.

The last thing you want to do is pick a language that is not in mainstream use. Java came out in the 1990’s and is still very popular today.

What version of Java should you learn?

Generally speaking you would want to learn the very latest version of a computer programming language, but thats not necessarily the case with Java.

Until recently Java releases were infrequent (one major release in 3 years was common). Companies standardised on specific versions of Java. Right now most companies are still focused on Java 8, which is a relatively old version, dating back to 2015.

Oracle (the owners of Java) are now releasing new versions of Java every six months, and when the new version comes out the old version is no longer supported.

But to cater for most companies who tend to stick to specific versions of Java for a long time, they have marked the current version of Java – Java 11 as LTS – or Long Term support. That means that they guarantee to support this version for the long term – for a number of years at least.

Companies will stick to versions of Java that are supported in the long term. For career purposes you should learn the appropriate versions of Java that your future employer will likely be using. Right now thats Java 8 and Java 11 (Java 9 and Java 10 have been released and already been marked obsolete and are no longer supported).

The good news is that this course is focused on Java 8, and has recently been updated for Java 11.

Will this course give me core java skills?

Yes it will. Core Java is the fundamental parts of the java jdk (the java development kit) that programmers need to learn to move onto other more advanced technologies.

Why should you take this course?

It’s been a best seller since it’s release on Udemy, you would be joining over 260,000 students who are already enrolled in the course.

There are close to 60,000 reviews left by students. It’s rated as the best course to learn Java for beginners.

What makes this course a bestseller?

Like you, thousands of others were frustrated and fed up with fragmented Youtube tutorials or incomplete or outdated courses which assume you already know a bunch of stuff, as well as thick, college-like textbooks able to send even the most caffeine-fuelled coder to sleep.

Like you, they were tired of low-quality lessons, poorly explained topics and all-round confusing info presented in the wrong way. That’s why so many find success in this complete Java developer course. It’s designed with simplicity and seamless progression in mind through its content.

This course assumes no previous coding experience and takes you from absolute beginner core concepts, like showing you the free tools you need to download and install, to writing your very first Java program. You will learn the core java skills you need to become employable in around 14 hours, and if you choose to, can take advantage of all the additional content in the course. It’s a one stop shop to learn java. If you want to go beyond the core content you can do so at any time.

Here’s just some of what you’ll learn

(It’s okay if you don’t understand all this yet, you will in the course)

  • All the essential Java keywords, operators, statements, and expressions needed to fully understand exactly what you’re coding and why – making programming easy to grasp and less frustrating
  • You will learn the answers to questions like What is a Java class, What is polymorphism and inheritance and to apply them to your java apps.
  • How to safely download and install all necessary coding tools with less time and no frustrating installations or setups
  • Complete chapters on object-oriented programming and many aspects of the Java API (the protocols and tools for building applications) so you can code for all platforms and derestrict your program’s user base (and potential sales)
  • How to develop powerful Java applications using one of the most powerful Integrated Development Environments on the market, IntelliJ IDEA! – Meaning you can code functional programs easier. IntelliJ has both a FREE and PAID version, and you can use either in this course.

(Don’t worry if you’re used to using Eclipse, NetBeans or some other IDE. You’re free to use any IDE and still get the most out of this course)

  • Learn Java to a sufficient level to be a be to transition to core Java technologies like Android development, the Spring framework, Java EE (Enterprise edition) in general as well as and other technologies. In order to progress to these technologies you need to first learn core Java – the fundamental building blocks. That’s what this course will help you to achieve.


Don’t worry if none of that made sense. I go into great detail explaining each and every core concept, programming term, and buzzwords you need to create your own Java programs.

This truly is Java for complete beginners.

By the end of this comprehensive course, you’ll master Java programming no matter what level of experience you’re at right now. You’ll understand what you are doing, and why you are doing it. This isn’t a recipe book, you’ll use your own creativity to make unique, intuitive programs.

Not only do these HD videos show you how to become a programmer in great detail, but this course includes a unique challenge feature. Each time a core concept is taught, a video presents a challenge for you to help you understand what you have just learned in a real world scenario.

You’ll go and complete the challenge on your own, then come back and see the answers which I then explain in detail in a video, allowing you to check your results and identify any areas you need to go back and work on.

This is a proven way to help you understand Java faster and ensure you reach your goal of becoming a Java Developer in record time. Remember doing those old past exam papers in high school or college? It’s the same concept, and it works.

As your instructor, I have over 35 years experience as a software developer and teacher and have been using Java since the year 2000. Yes, over 18 years (I’ve taught students younger than that). Meaning not only can I teach this content with great simplicity, but I can make it fun too!

It’s no surprise my previous students have amazing results…

See what your fellow students have to say:

“This course was a guiding light in my “Becoming a developer” path from the first step. It helped me become a much more educated developer comparing to my friend who learned to code from trial/error. It’s still a guide for me. every now and then I will come back to this course to learn something new or to improve what I’ve learned somewhere else. A BIG Thanks to “Tim Buchalka” my Master.” – Sina Jz

“I was an absolute beginner when I started this course, and now I can write some good small advanced clean codes. I wrote a code and showed it to a programmer, and he was shocked, he told me that I’m more than ready to start a programming career.” – Amirreza Moeini

“I am taking this class in conjunction with a Java 101 college class. I have learned more in one afternoon of videos from this class than I have in 4 weeks of college class. Tim actually explains what things are and why they do what they do, as opposed to my college instructor that mainly said “go make a program that does *whatever*” and then I had to figure out a program that would meet those requirements but not actually learning why it worked.” – Stacy Harris

It’s safe to say my students are thrilled with this course, and more importantly, their results, and you can be too…

This complete Java course will teach you everything you need to know in order to code awesome, profitable projects,

Is the course updated?

It’s no secret how technology is advancing at a rapid rate. New, more powerful hardware and software are being released every day, meaning it’s crucial to stay on top with the latest knowledge.

A lot of other courses on Udemy get released once, and never get updated. Learning an older version of Java can be counter productive – you could will be learning the “old way” of doing things, rather than using current technology.

Make sure you check the last updated date on the page of any course you plan to buy – you will be shocked to see some have not been updated for years.

That’s why I’m always adding new, up-to-date content to this course at no extra charge. Buy this course once, and you’ll have lifetime access to it and any future updates (which are on the way as we speak).

I’ve continued to do this since the original version of the course came out, and recently have been updating it to Java 11.

With this complete Java Masterclass, you will always have updated, relevant content.

+ Table of Contents

Course Introduction
1 Introduction To The Course
2 Remaster in Progress
3 Video Quality
4 Subtitles
5 How to Get Help
6 Important Tip – Source Code

Software Tools Setup
7 Biggest Tip to Succeed as a Java Programmer
8 Being Persistent and the Four Stages of Becoming a Programmer videos
9 Software Tools Introduction
10 Java Development Kit Installation Overview
11 Install JDK 11 for Windows
12 Installing Intellij IDEA for Windows
13 Install JDK 11 for Mac
14 Installing Intellij IDEA for Mac
15 Install JDK 11 for Linux
16 Installing Intellij IDEA for Linux
17 Configure IntelliJ IDEA

First Steps
18 Introduction
19 Hello World Project
20 Defining the Main Method
21 Hello World Challenge and Common Errors
22 Variables
23 Starting out with Expressions
24 Primitive Types
25 byte, short, long and width
26 Casting in Java
27 Primitive Types Challenge
28 float and double Primitive Types
29 Floating Point Precision and a Challenge
30 The char and boolean Primitive Data Types
31 Primitive Types Recap and the String Data Type
32 Operators, Operands and Expressions
33 Abbreviating Operators
34 if-then Statement
35 Logical and Operator
36 Logical OR Operator
37 Assignment Operator VS Equals to Operator
38 Ternary Operator
39 Operator Precedence and Operator Challenge
40 First Steps Summary
41 End of Remaster

Java Tutorial: Expressions, Statements, Code blocks, Methods and more
42 Introduction
43 Keywords And Expressions
44 Statements, Whitespace and Indentation (Code Organization)
45 Code Blocks And The If Then Else Control Statements
46 if then else Recap
47 Methods In Java
48 More On Methods And A Challenge
49 Method Challenge – Final Code Changes
50 DiffMerge Tool Introduction
51 Install DiffMerge
52 Using DiffMerge
53 Coding Exercises
54 Coding Exercises Example Part 1
55 Coding Exercises Example Part 2
56 Coding Exercises Example Part 3
57 Method Overloading
58 Method Overloading Recap
59 Seconds and Minutes Challenge
60 Bonus Challenge Solution

Control Flow Statements
61 Introduction
62 The switch statement (+Challenge Exercise)
63 Day of the Week Challenge
64 The for Statement (+Challenge Exercise)
65 For Loop Recap
66 Sum 3 and 5 Challenge
67 The while and do while statements (+Challenge Exercise)
68 While and Do While Recap
69 Digit Sum Challenge
70 Parsing Values from a String
71 Reading User Input
72 Problems and Solutions
73 Reading User Input Challenge
74 Min and Max Challenge

OOP Part 1 – Classes, Constructors and Inheritance
75 Introduction
76 Classes Part 1
77 Classes Part 2
78 Constructors – Part 1 (+Challenge Exercise)
79 Constructors – Part 2 (+Challenge Exercise)
80 Inheritance – Part 1
81 Inheritance – Part 2
82 Reference vs Object vs Instance vs Class
83 this vs super
84 Method Overloading vs Overriding Recap
85 Static vs Instance Methods
86 Static vs Instance Variables
87 Inheritance Challenge Part 1 (+Challenge Exercise)
88 Inheritance Challenge Part 2

OOP Part 2 – Composition, Encapsulation, and Polymorphism
89 Introduction
90 Composition
91 Composition Part 2 (+Challenge Exercise)
92 Encapsulation
93 Encapsulation (+Challenge Exercise)
94 Polymorphism
95 Polymorphism (+Challenge Exercise)
96 OOP Master Challenge Exercise
97 OOP Challenge – Solution

Arrays, Java inbuilt Lists, Autoboxing and Unboxing
98 Arrays
99 Arrays (Challenge Exercise)
100 Arrays Recap
101 References Types vs Value Types
102 Minimum Element Challenge
103 Reverse Array Challenge
104 List and ArrayList Part 1
105 ArrayList Part 2
106 ArrayList Part 3
107 ArrayList Challenge Part 1
108 ArrayList Challenge Part 2
109 ArrayList Challenge Part 3
110 Bug Fix for ArrayList Challenge
111 Autoboxing and Unboxing
112 Autoboxing & Unboxing (Challenge Exercise) – Part 1
113 Autoboxing & Unboxing (Challenge Exercise) – Part 2
114 Autoboxing & Unboxing (Challenge Exercise) – Part 3
115 LinkedList Part 1
116 LinkedList Part 2
117 LinkedList Part 3
118 LinkedList Challenge Part 1
119 Bug Fix for “Track 1” Error
120 LinkedList Challenge Part 2
121 LinkedList Challenge Part 3 (Final video)

Inner and Abstract Classes & Interfaces
122 Interfaces
123 Interfaces Part 2
124 Interfaces Challenge Part 1
125 Interfaces Challenge Part 2
126 Inner classes Part 1
127 Inner Classes Part 2
128 Inner Classes Challenge
129 Abstract Classes Part 1
130 Abstract Classes Part 2
131 Interface vs Abstract Class
132 Abstract Class Challenge Part 1
133 Abstract Class Challenge Part 2
134 Abstract Class Challenge Part 3 (includes recursion).

Java Generics
135 Generics Introduction
136 Our Generics Class
137 Our Generics Class Part 2
138 Our Generics Class Part 3
139 Generics Challenge

Naming Conventions and Packages. static and final keywords
140 Naming Conventions
141 Packages
142 Packages Part 2
143 Packages Part 3
144 Packages (Challenge Exercise)
145 Scope
146 Scope Part 2 and Visibility
147 Scope +(Challenge Exercise)
148 Access Modifiers
149 The static statement
150 The final statement
151 Final Part 2 and Static Initializers

Java Collections
152 Collections Overview
153 Binary Search
154 Collections List Methods
155 Comparable and Comparator
156 Maps
157 Map Continued and Adventure Game
158 Adding Exits to the Adventure game
159 Adventure Game challenge
160 Immutable Classes
161 Immutable Class Challenge
162 Sets & HashSet
163 HashSet – equals() and hashCode()
164 Finish off equals() and hashcode()
165 Potential issue with equals() and sub-classing
166 Sets – Symmetric & Asymmetric
167 Finishing Off Sets
168 Sets Challenge Part 1
169 Sets Challenge Part 2
170 Sets Challenge Part 3
171 Sorted Collections
172 StockList Class With Maps
173 Add a Basket
174 TreeMap and Unmodifiable Maps
175 Challenge Part 1
176 Challenge Part 2
177 Challenge Part 3
178 Challenge Part 4 (Final)

179 JDK11 Global Library Configuration
180 Create Your First JavaFX Project
181 JavaFX Overview
182 JavaFX Hello World Program
183 GridPane Layout
184 HBox Layout
185 BorderPane Layout
186 Other Layouts
187 Controls
188 RadioButton and CheckBox
189 ComboBox and ChoiceBox
190 Slider, Spinner, ColorPicker & DatePicker Controls
191 TitledPane
192 Events and Event Handlers
193 Events Continued
194 UI Thread
195 Threads and Runnable
196 Setup Sample Todo List Application
197 Base Interface
198 Add Change Listener
199 Formatting Dates
200 Singletons
201 Load and Save ToDo Items from/to Disk
202 Add DialogPane
203 Show Dialog and Add Controller Code
204 Bug Fix and Update List View
205 Data Binding and Observable
206 Cell Factories
207 Context Menu
208 KeyEvents and Toolbars
209 SortedList
210 FilteredList
211 CSS With JavaFX
212 Transforming Nodes and Choosers
213 More on Choosers and Web Pages
214 SceneBuilder
215 Installing SceneBuilder for Windows
216 Installing SceneBuilder for Mac
217 Overview of SceneBuilder
218 Building a UI with SceneBuilder
219 More on SceneBuilder
220 JavaFX Challenge
221 JavaFX Challenge Part 2
222 JavaFX Challenge Part 3
223 JavaFX Challenge Part 4
224 JavaFX Challenge Wrap up

Basic Input & Output including java.util
225 Exceptions
226 Stack Trace and Call Stack
227 Catching and throwing Exceptions
228 Multi Catch Exceptions
229 Introduction to I/O
230 Writing content – FileWriter class and Finally block
231 Try with Resources
232 FileReader and Closeable
233 BufferedReader
234 Load Big Location and Exits Files
235 Challenge
236 Buffered Writer and Challenge
237 Byte Streams
238 Reading Binary Data and End of File Exceptions
239 Object Input Output including Serialization
240 Finish Object I/O and RandomAccessFile class
241 Create Random Access File
242 Update Static Initializer Block With Random File Access
243 Update Adventure Game to Read Random Access File
244 Java NIO
245 Writing Objects With Java NIO
246 Reading and Writing with Java NIO
247 Writing Binary Files with Java NIO
248 Reading Files with NIO
249 Absolute and Relative Reads
250 Chained Put Methods
251 Writing Sequentially
252 FileChannel to Copy Files and Pipes with Threads
253 Filesystem
254 More on Paths
255 Exists and CopyFile
256 Move, Rename and Delete
257 File Attributes
258 Read Existing Directory Contents
259 Separators Temp Files and File Stores
260 Walk File Tree
261 Copy Entire Tree
262 Mapping IO and NIO Methods

Concurrency in Java
263 Concurrency and Threads Introduction
264 Threads
265 Runnable and Thread
266 Interrupt and Join
267 Multiple Threads
268 Thread Variables
269 Synchronisation
270 Producer and Consumer
271 Deadlocks, wait, notify and notifyAll methods
272 The Java Util Concurrent package
273 Thread Interference
274 Reentrant Lock and Unlock
275 Using Try Finally With Threads
276 Thread Pools
277 ArrayBlockingQueue Class
278 Deadlocks
279 More on Deadlocks
280 Thread Starvation
281 Fair Locks and Live Locks
282 Live Lock Example and Slipped Conditions
283 Other Thread Issues
284 JavaFX Background Tasks
285 Data Binding
286 Service
287 Challenge 1 and 2
288 Challenge 3,4 and 5
289 Challenge 6 and 7
290 Challenge 8
291 Challenge 9

Lambda Expressions
292 Lambda Expressions Introduction
293 Lambda Expressions Continued
294 Lambda Expressions Nested Blocks
295 Scope and Functional Programming
296 Functional Interfaces & Predicates
297 More on Predicates & Suppliers
298 Functions
299 Chaining java.util.function Functions
300 Streams
301 Streams – Intermediate and Terminal Operations
302 Streams – Flatmap & Lambda Best Practices
303 Lambda Challenge Part 1
304 Lambda Challenge Part 2

Regular Expressions
305 Regular Expressions Introduction
306 Character classes and Boundary Matchers
307 Quantifiers and the Pattern and Matcher classes
308 Matcher find and Group Methods
309 And, Or & Not
310 Regular Expressions Challenge Part 1
311 Regular Expressions Challenge Part 2
312 Regular Expressions Challenge Part 3

Debugging and Unit Testing
313 Introduction to Debugging
314 More on Debugging
315 Field Watch Points
316 Advanced Debugging
317 Introduction to Unit Testing with JUnit
318 Asserts in Junit
319 More Asserts and Exception Handling
320 Parameterized Testing
321 JUnit Challenge #1 and #2
322 JUnit Challenges #3 to #7
323 Junit Challenges #8 to #10

324 Section Introduction
325 Database Terminology
326 Install and Setup SQLite for Windows
327 Install and Setup SQLite for Mac
328 Install and Setup SQLite for Linux
329 Introduction to SQLite
330 More with SQLite
331 Querying Data With SQL
332 SQL Order by and Joins
333 More Complex Joins
334 Wildcards in Queries and Views
335 Housekeeping and Final SQL Challenge
336 JDBC and SQLite GUI Browser
337 Creating Databases With JDBC in Java
338 JDBC Insert, Update, Delete
339 .executeQuery() and using Constants
340 The Music SQLite Database
341 Write Java Query for Artists
342 Executing SQL in DB Browser
343 Query Albums by Artist Method
344 Query Artists for Song method
345 Result Set Meta Data
346 Functions and Views
347 Write the Method to Query View
348 SQL Injection Attacks and Prepared Statements
349 Transactions
350 Inserting Records With JDBC
351 Insert Albums, Artists, and Songs
352 Test Insert JDBC Code
353 JDBC with a GUI Program
354 Add Artists
355 Fix Artist and Preload Records
356 Implement Artist Query
357 Add ProgressBar
358 Handling Updates

Java Networking Programming
359 Networking Overview
360 First Client and Server Apps
361 Multi Threaded Server
362 Multi-Threading and Timeouts
363 UDP Server and Client
364 High Level APIS
365 URL Connections and Input Stream Reader
366 HTTPUrlConnection
367 Alternatives to HTTPUrlConnection

Java 9 Module System
368 Introduction to Modules
369 Module Declarations and Statements
370 Module Types

Migrating Java Projects to Java 9
371 Project Setup and Test
372 Structuring the new project
373 Creating the first module (Common)
374 Creating the Module Descriptor file
375 Creating the 2nd module (Database)
376 Challenge – Create the final module (UI)
377 Transitive Dependencies

Course Remaster in Progress
378 Work in Progress
379 Keywords and Naming Conventions
380 Naming Conventions Challenge
381 Operator Associativity
382 Declaration and Expression Statements
383 Expression Statements, Prefix and Postfix
384 Whitespace
385 Code Blocks and Indentation

Archived Videos
386 Old JavaFX Introduction Video for JDK 8
387 Old JavaFX Code Vs FXml Video for JDK 8

Extra Information – Source code, and other stuff
388 Source code for all Programs
389 Bonus Lecture and Information