JAVA
Setup:
- How To Install The Java Development Kit (JDK) For Windows
- Download and Install IntelliJ (FREE and PAID version) for Windows
- Configuring IntelliJ for Java on Windows
- How To Install The Java Development Kit (JDK) For Mac OS X
- Download and Install IntelliJ (FREE and PAID version) on a Mac
- Configuring IntelliJ for Java on a Mac
- How To Install The Java Development Kit (JDK) For Ubuntu Linux
- Install and Configure IntelliJ (FREE and PAID version) for Ubuntu Linux
- Introduction
- Creating Your First Java Project
- Exploring The IntelliJ Interface
- 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
- Introduction
- Keywords And Expressions
- Statements, Whitespace and Indentation (Code Organization)
- Code Blocks And The If Then Else Control Statements
- Methods In Java
- Method Overloading
- Introduction
- The switch statement
- The for Statement
- The while and do while statements
- Introduction
- Classes Part
- Constructors
- Inheritance
- Introduction
- Composition
- Encapsulation
- Polymorphism
- Arrays
- List and ArrayList Part 1
- ArrayList Part 2
- Autoboxing and Unboxing
- LinkedList
- Interfaces
- Inner classes
- Abstract Classes
- Generics Introduction
- Our Generics Class
- Naming Conventions
- Packages
- Scope
- Access Modifiers
- The static statement
- The final statement
- Collections Overview
- Binary Search
- Collections List Methods
- Comparable and Comparator
- Maps
- Immutable Classes
- Sets & HashSet
- HashSet - equals() and hashCode()
- Finish off equals() and hashcode()
- Potential issue with equals() and sub-classing
- Sets - Symmetric & Asymmetric
- Sorted Collections
- StockList Class With Maps
- Add a Basket
- TreeMap and Unmodifiable Maps
- Introduction
- Code Vs FXml
- GridPane Layout
- HBox Layout
- BorderPane Layout
- Other Layouts
- Controls
- RadioButton and CheckBox
- ComboBox and ChoiceBox
- Slider, Spinner, ColorPicker & DatePicker Controls
- TitledPane
- Events and Event Handlers
- 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
- CSS With JavaFX
- Transforming Nodes and Choosers
- More on Choosers and Web Pages
- SceneBuilder
- Installing SceneBuilder for Windows
- Installing SceneBuilder for Mac
- Overview of SceneBuilder
- Building a UI with SceneBuilder
- More on SceneBuilder
- JavaFX Challenge Wrap up
- Exceptions
- Stack Trace and Call Stack
- Catching and throwing Exceptions
- Multi Catch Exceptions
- Introduction to I/O
- Writing content - FileWriter class and Finally block
- Try with Resources
- FileReader and Closeable
- BufferedReader
- Load Big Location and Exits Files
- 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
- Read Existing Directory Contents
- Separators Temp Files and File Stores
- Walk File Tree
- Copy Entire Tree
- Mapping IO and NIO Methods
- 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
- Using Try Finally With Threads
- Thread Pools
- ArrayBlockingQueue Class
- Deadlocks
- Thread Starvation
- Fair Locks and Live Locks
- Live Lock Example and Slipped Conditions
- Other Thread Issues
- JavaFX Background Tasks
- Data Binding
- Service
- 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
- Regular Expressions Introduction
- Character classes and Boundary Matchers
- Quantifiers and the Pattern and Matcher classes
- Matcher find and Group Methods
- And, Or & Not
- Introduction to Debugging
- More on Debugging
- Field Watch Points
- Advanced Debugging
- Introduction to Unit Testing with JUnit
- Asserts in Junit
- More Asserts and Exception Handling
- Parameterized Testing
- 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 ProgressBar
- Handling Updates
- 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 HTTPUrlConenction