This course was created with the
course builder. Create your online course today.
Start now
Create your course
with
Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Complete Java Masterclass
Introduction
Getting Started With This Course
Setup
How to Use This Section Of The Course
How To Install The Java Development Kit (JDK) For Windows
Download and Install IntelliJ (FREE and PAID version) for Windows
Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available
How To Install The Java Development Kit (JDK) For Mac OS X
Download and Install IntelliJ (FREE and PAID version) on a Mac
Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available
How To Install The Java Development Kit (JDK) For Ubuntu Linux
Install and Configure IntelliJ (FREE and PAID version) for Ubuntu Linux
Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available
First Steps
Introduction
Creating Your First Java Project
Exploring The IntelliJ Interface
Variables, Datatypes and Operators
Introduction
What Are Variables?
Getting To Know Primitive Data Types - The Byte, Short, Int And Long
Getting To Know Primitive Data Types - Float And Double
Getting To Know Primitive Data Types - Char And Boolean
Understanding Strings And Finishing Up Primitive Data Types
Operators In Java
More On Operators And Operator Precedence
Java Tutorial: Expressions, Statements, Code blocks, Methods and more
Introduction
Keywords And Expressions
Statements, Whitespace and Indentation (Code Organization)
Code Blocks And The If Then Else Control Statements
Methods In Java
More On Methods And A Challenge
Method Overloading
Control Flow Statements
Introduction
The switch statement (+Challenge Exercise)
The for Statement (+Challenge Exercise)
The while and do while statements (+Challenge Exercise)
OOP Part 1 - Classes, Constructors and Inheritance
Introduction
Classes Part 1
Classes Part 2
Constructors - Part 1 (+Challenge Exercise)
Constructors - Part 2 (+Challenge Exercise)
Inheritance - Part 1
Inheritance - Part 2
Reference vs Object vs Instance vs Class
this vs super
Inheritance Challenge Part 1 (+Challenge Exercise)
Inheritance Challenge Part 2
OOP Part 2 - Composition, Encapsulation, and Polymorphism
Introduction
Composition
Composition Part 2 (+Challenge Exercise)
Encapsulation
Encapsulation (+Challenge Exercise)
Polymorphism
Polymorphism (+Challenge Exercise)
OOP Master Challenge Exercise
OOP Challenge - Solution
Arrays, Java inbuilt Lists, Autoboxing and Unboxing
Arrays
Arrays (Challenge Exercise)
List and ArrayList Part 1
ArrayList Part 2
ArrayList Part 3
ArrayList Challenge Part 1
ArrayList Challenge Part 2
ArrayList Challenge Part 3
Bug Fix for ArrayList Challenge
Autoboxing and Unboxing
Autoboxing & Unboxing (Challenge Exercise) - Part 1
Autoboxing & Unboxing (Challenge Exercise) - Part 2
Autoboxing & Unboxing (Challenge Exercise) - Part 3
LinkedList Part 1
LinkedList Part 2
LinkedList Challenge Part 1
Bug Fix for "Track 1" Error
LinkedList Challenge Part 2
LinkedList Challenge Part 3 (Final video)
Inner and Abstract Classes & Interfaces
Interfaces
Interfaces Part 2
Interfaces Challenge Part 1
Interfaces Challenge Part 2
Inner classes Part 1
Inner Classes Part 2
Inner Classes Challenge
Abstract Classes Part 1
Abstract Classes Part 2
Interface vs Abstract Class
Abstract Class Challenge Part 1
Abstract Class Challenge Part 2
Abstract Class Challenge Part 3
Java Generics
Generics Introduction
Our Generics Class
Our Generics Class Part 2
Our Generics Class Part 3
Generics Challenge
Naming Conventions and Packages. static and final keywords
Naming Conventions
Packages
Packages Part 2
Packages Part 3
Packages (Challenge Exercise)
Scope
Scope Part 2 and Visibility
Scope +(Challenge Exercise)
Access Modifiers
The static statement
The final statement
Final Part 2 and Static Initializers
Java Collections
Collections Overview
Binary Search
Collections List Methods
Comparable and Comparator
Maps
Map Continued and Adventure Game
Adding Exits to the Adventure game
Adventure Game challenge
Immutable Classes
Immutable Class Challenge
Sets & HashSet
HashSet - equals() and hashCode()
Finish off equals() and hashcode()
Potential issue with equals() and sub-classing
Sets - Symmetric & Asymmetric
Finishing Off Sets
Sets Challenge Part 1
Sets Challenge Part 2
Sets Challenge Part 3
Sorted Collections
StockList Class With Maps
Add a Basket
TreeMap and Unmodifiable Maps
Challenge Part 1
Challenge Part 2
Challenge Part 3
Challenge Part 4 (Final)
JavaFX
Introduction
Code Vs FXml
GridPane Layout
HBox Layout
BorderPane Layout
Controls
RadioButton and CheckBox
ComboBox and ChoiceBox
Slider, Spinner, ColorPicker & DatePicker Controls
TitledPane
Events and Event Handlers
Events Continued
UI Thread
Threads and Runnable
Setup Sample Todo List Application
Base Interface
Add Change Listener
Formatting Dates
Singletons
Load and Save ToDo Items from/to Disk
Add DialogPane
Show Dialog and Add Controller Code
Bug Fix and Update List View
Data Binding and Observable
Cell Factories
Context Menu
KeyEvents and Toolbars
SortedList
FilteredList
FilteredList
CSS With JavaFX
Transforming Nodes and Choosers
SceneBuilder
Installing SceneBuilder for Windows
Installing SceneBuilder for Mac
Overview of SceneBuilder
Building a UI with SceneBuilder
More on SceneBuilder
JavaFX Challenge
JavaFX Challenge Part 2
JavaFX Challenge Part 3
JavaFX Challenge Part 4
Basic Input & Output including java.util
Exceptions
Stack Trace and Call Stack
Catching and throwing Exceptions
Multi Catch Exceptions
Introduction to I/O
Writing content - FileWriter class and Finally block
Buffered Reader
FileReader and Closeable
Load Big Location and Exits Files
Challenge
Buffered Writer and Challenge
Byte Streams
Reading Binary Data and End of File Exceptions
Object Input Output including Serialization
Finish Object I/O and RandomAccessFile class
Create Random Access File
Update Static Initializer Block With Random File Access
Update Adventure Game to Read Random Access File
Java NIO
Writing Objects With Java NIO
Reading and Writing with Java NIO
Writing Binary Files with Java NIO
Reading Files with NIO
Absolute and Relative Reads
Chained Put Methods
Writing Sequentially
FileChannel to Copy Files and Pipes with Threads
Filesystem
More on Paths
Exists and CopyFile
Move, Rename and Delete
File Attributes
New Lecture
Read Existing Directory Contents
Separators Temp Files and File Stores
Walk File Tree
Copy Entire Tree
Mapping IO and NIO Methods
Concurrency in Java
Concurrency and Threads Introduction
Threads
Runnable and Thread
Interrupt and Join
Multiple Threads
Thread Variables
Synchronisation
Producer and Consumer
Deadlocks, wait, notify and notifyAll methods
The Java Util Concurrent package
Thread Interference
Reentrant Lock and Unlock
Using Try Finally With Threads
Thread Pools
ArrayBlockingQueue Class
Deadlocks
Deadlocks
More on Deadlocks
Thread Starvation
Fair Locks and Live Locks
Live Lock Example and Slipped Conditions
Other Thread Issues
JavaFX Background Tasks
Data Binding
Service
Challenge 1 and 2
Challenge 3,4 and 5
Challenge 6 and 7
Challenge 8
Challenge 9
Lambda Expressions
Lambda Expressions Introduction
Lambda Expressions Continued
Lambda Expressions Nested Blocks
Scope and Functional Programming
Functional Interfaces & Predicates
More on Predicates & Suppliers
Functions
Chaining java.util.function Functions
Streams
Streams - Intermediate and Terminal Operations
Streams - Flatmap & Lambda Best Practices
Lambda Challenge Part 1
Lambda Challenge Part 2
Regular Expressions
Regular Expressions Introduction
Character classes and Boundary Matchers
Quantifiers and the Pattern and Matcher classes
Matcher find and Group Methods
And, Or & Not
Regular Expressions Challenge Part 1
Regular Expressions Challenge Part 2
Regular Expressions Challenge Part 3
Debugging and Unit Testing
Introduction to Debugging
More on Debugging
Field Watch Points
Advanced Debugging
Introduction to Unit Testing with JUnit
More Asserts and Exception Handling
Parameterized Testing
JUnit Challenge #1 and #2
JUnit Challenges #3 to #7
Junit Challenges #8 to #10
Introduction to Debugging
Section Introduction
Database Terminology
Install and Setup SQLite for Windows
Install and Setup SQLite for Mac
Install and Setup SQLite for Linux
Introduction to SQLite
More with SQLite
Querying Data With SQL
SQL Order by and Joins
More Complex Joins
Wildcards in Queries and Views
Housekeeping and Final SQL Challenge
JDBC and SQLite GUI Browser
Creating Databases With JDBC in Java
JDBC Insert, Update, Delete
.executeQuery() and using Constants
The Music SQLite Database
Write Java Query for Artists
Executing SQL in DB Browser
Query Albums by Artist Method
Query Artists for Song method
Result Set Meta Data
Functions and Views
Write the Method to Query View
SQL Injection Attacks and Prepared Statements
Transactions
Inserting Records With JDBC
Insert Albums, Artists, and Songs
Test Insert JDBC Code
JDBC with a GUI Program
Add Artists
Fix Artist and Preload Records
Implement Artist Query
Add Progress Bar
Handling Updates
Java Networking Programming
Networking Overview
First Client and Server Apps
Multi Threaded Server
Multi-Threading and Timeouts
UDP Server and Client
High Level APIS
URL Connections and Input Stream Reader
HTTPUrlConnection
Alternatives to HTTPUrlConnection
Java 9 Module System
Introduction to Modules
Module Declarations and Statements
Module Types
Migrating Java Projects to Java 9
Project Setup and Test
Structuring the new project
Creating the first module (Common)
Creating the Module Descriptor file
Creating the 2nd module (Database)
Challenge - Create the final module (UI)
Transitive Dependencies
Bonus Material
Bonus - Please Watch!
All Courses
Source code for all Programs
Free 90 Day Extended Trial of IntelliJ Ultimate Edition Now Available
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock