The most complete and well-structured Java course available for free. 8+ years of experience packed in 50 hours of content in more than 280 videos. If learning Java or improving your development skills is your goal, you are at the right place.
Q. Who created?
A. This crazy dude here: https://www.linkedin.com/in/williamsuane/
Q. Who edited?
A. The brother of the crazy dude, another crazy dude: https://www.linkedin.com/in/wildneisuane/
Q. Where can I watch?
A. Just go this YouTube Playlist and hit play.
Q. What if I speak Portuguese?
A. Just go to this other YouTube Playlist and hit play.
Q. What is covered is convered in this course?
A. Glad you asked:
- Java One For All 01 - Who is this course for?
- Java One For All 02 - How Java Works
- Java One For All 04 - Configuring environment variables
- Java One For All 03 - Downloading JDK 15
- Java One For All 05 - Compiling your code manually
- Java One For All 07 - First steps with IntelliJ
- Java One For All 06 - Downloading IDE IntelliJ Community
- Java One For All 08 - Organizing the code in packages
- Java One For All 10 - Primitive types pt 01 - naming convention for variables
- Java One For All 09 - Comments
- Java One For All 11 - Primitive types pt 02 - declaring variables and size in memory
- Java One For All 13 - Primitive types pt 04 - Strings
- Java One For All 12 - Primitive types pt 03 - casting
- Java One For All 14 - Primitive types pt 05 - Exercise
- Java One For All 16 - Operators pt 02 - Relational
- Java One For All 15 - Operators pt 01 - Arithmetic
- Java One For All 17 - Operators pt 03 - Logical AND
- Java One For All 19 - Operators pt 05 - Assignment
- Java One For All 18 - Operators pt 04 - Logical OR
- Java One For All 20 - Conditional Statement pt 01 - IF
- Java One For All 22 - Conditional Statement pt 03 - Ternary Operator
- Java One For All 21 - Conditional Statement pt 02 - ELSE IF
- Java One For All 23 - Conditional Statement pt 04 - Truth Table
- Java One For All 25 - Conditional Statement pt 06 - Switch
- Java One For All 24 - Conditional Statement pt 05 - Tax Bracket exercise solution
- Java One For All 26 - Conditional Statement pt 07 - Switch exercise
- Java One For All 28 - Loop pt 02 - Exercise for
- Java One For All 27 - Loop pt 01 - while, do while, for
- Java One For All 29 - Loop pt 03 - Break
- Java One For All 30 - Loop pt 04 - Exercise break
- Java One For All 31 - Loop pt 05 - Continue
- Java One For All 32 - Arrays pt 01
- Java One For All 33 - Arrays pt 02
- Java One For All 34 - Arrays pt 03
- Java One For All 35 - Arrays pt 04 - Foreach
- Java One For All 36 - Multidimensional Arrays pt 01
- Java One For All 37 - Multidimensional Arrays pt 02 - Foreach
- Java One For All 38 - Multidimensional Arrays pt 03 - Multidimensional arrays initialization
- Java One For All 39 - Object Orientation - Introduction to classes pt 01
- Java One For All 40 - Object Orientation - Introduction to classes pt 02
- Java One For All 41 - Object Orientation - Introduction to classes pt 03
- Java One For All 42 - Object Orientation - Classes Exercise
- Java One For All 43 - Object Orientation - Object Reference
- Java One For All 44 - Object Orientation - Methods pt 01
- Java One For All 45 - Object Orientation - Methods pt 02 - Parameters
- Java One For All 46 - Object Orientation - Methods pt 03 - Return pt 01
- Java One For All 47 - Object Orientation - Methods pt 04 - Return pt 02
- Java One For All 48 - Object Orientation - Methods pt 05 - Primitive Type Parameters
- Java One For All 49 - Object Orientation - Methods pt 06 - Reference Parameters pt 01
- Java One For All 50 - Object Orientation - Methods pt 07 - Reference Parameters pt 02
- Java One For All 51 - Object Orientation - Methods pt 08 - Reference this
- Java One For All 52 - Object Orientation - Methods pt 09 - Varargs
- Java One For All 53 - Object Orientation - Methods pt 10 - Exercise
- Java One For All 54 - Object Orientation - Acces Modifier private, get and set pt 01
- Java One For All 55 - Object Orientation - Acces Modifier private, get and set pt 02
- Java One For All 56 - Object Orientation - Acces Modifier private, get and set pt 03
- Java One For All 57 - Object Orientation - Overloading methods
- Java One For All 58 - Object Orientation - Constructors pt 01
- Java One For All 59 - Object Orientation - Constructors pt 02 - Overloading
- Java One For All 60 - Object Orientation - Instance Initialization Block
- Java One For All 61 - Object Orientation - static modifier
- Java One For All 62 - Object Orientation - static methods
- Java One For All 63 - Object Orientation - Static Initialization block
- Java One For All 64 - Object Orientation - Association pt 01 - Arrays with objects
- Java One For All 65 - Object Orientation - Association pt 02 - Unidirectional association one to many
- Java One For All 66 - Object Orientation - Association pt 03 - Unidirectional association many to one
- Java One For All 67 - Object Orientation - Association pt 04 - Bidirectional association
- Java One For All 68 - Object Orientation - Reading data from the keyboard
- Java One For All 69 - Object Orientation - Exercise reading data from keyboard
- Java One For All 70 - Object Orientation - Association pt 05 - Exercise association
- Java One For All 71 - Object Orientation - Inheritance pt 01
- Java One For All 72 - Object Orientation - Inheritance pt 02 - super
- Java One For All 73 - Object Orientation - Inheritance pt 03 - protected
- Java One For All 74 - Object Orientation - Inheritance pt 04 - Constructors
- Java One For All 75 - Object Orientation - Inheritance pt 05 - Initialization order
- Java One For All 76 - Object Orientation - Overriding toString
- Java One For All 77 - Object Orientation - Final Modifier pt 01 - Primitive types
- Java One For All 78 - Object Orientation - Final Modifier pt 02 - Reference types
- Java One For All 79 - Object Orientation - Final Modifier pt 03 - Classes and methods
- Java One For All 80 - Object Orientation - Enumeration pt 01 - Introduction
- Java One For All 81 - Object Orientation - Enumeration pt 02 - Attributes and Constructors
- Java One For All 82 - Object Orientation - Enumeration pt 03 - Overriding methods
- Java One For All 83 - Object Orientation - Enumeration pt 04 - Getting enumeration by attribute
- Java One For All 84 - Object Orientation - Abstract classes pt 01
- Java One For All 85 - Object Orientation - Abstract classes pt 02 - Abstract methods
- Java One For All 86 - Object Orientation - Abstract classes pt 03 - Abstract methods rules
- Java One For All 87 - Object Orientation - Interfaces pt 01 - Introduction
- Java One For All 88 - Object Orientation - Interfaces pt 02 - Implementing multiple interfaces
- Java One For All 89 - Object Orientation - Interfaces pt 03 - Attributes and static methods
- Java One For All 90 - Object Orientation - Polymorphism pt 01 - Setting up
- Java One For All 91 - Object Orientation - Polymorphism pt 02 - How it works
- Java One For All 92 - Object Orientation - Polymorphism pt 03 - Polymorphic prameters
- Java One For All 93 - Object Orientation - Polymorphism pt 04 - Cast and instanceof
- Java One For All 94 - Object Orientation - Polymorphism pt 05 - Interface oriented programming
- Java One For All 95 - Exceptions pt 01 - Errors
- Java One For All 96 - Exceptions pt 02 - RuntimeException
- Java One For All 97 - Exceptions pt 03 - Exception
- Java One For All 98 - Exceptions pt 04 - Throw Runtime Exception
- Java One For All 99 - Exceptions pt 05 - Throw Exception
- Java One For All 100 - Exceptions pt 06 - Finally block
- Java One For All 101 - Exceptions pt 07 - Capturando múltiplas exceções
- Java One For All 102 - Exceptions pt 08 - Collapsed multi catch
- Java One For All 103 - Exceptions pt 09 - Try with resources
- Java One For All 104 - Exceptions pt 10 - Custom Exception
- Java One For All 105 - Exceptions pt 11 - Overriding rules
- Java One For All 106 - Utility Classes - Wrapper pt 01
- Java One For All 107 - Utility Classes - Wrapper pt 02
- Java One For All 108 - Utility Classes - String pt 01
- Java One For All 109 - Utility Classes - String pt 02
- Java One For All 110 - Utility Classes - String pt 03 - Performance
- Java One For All 111 - Utility Classes - String pt 05 - StringBuilder
- Java One For All 112 - Utility Classes - Date
- Java One For All 113 - Utility Classes - Calendar
- Java One For All 114 - Utility Classes - DateFormat
- Java One For All 115 - Utility Classes - Date Internationalization with Locale
- Java One For All 116 - Utility Classes - Number Internationalization with Locale
- Java One For All 117 - Utility Classes - Currency Internationalization with Locale
- Java One For All 118 - Utility Classes - SimpleDateFormat
- Java One For All 119 - Utility Classes - LocalDate
- Java One For All 120 - Utility Classes - LocalTime
- Java One For All 121 - Utility Classes - LocalDateTime
- Java One For All 122 - Utility Classes - Instant
- Java One For All 123 - Utility Classes - Duration
- Java One For All 124 - Utility Classes - Period
- Java One For All 125 - Utility Classes - ChronoUnit
- Java One For All 126 - Utility Classes - TemporalAdjusters
- Java One For All 127 - Utility Classes - TemporalAdjuster
- Java One For All 128 - Utility Classes - ZonedDateTime, ZoneId, OffsetDateTime
- Java One For All 129 - Utility Classes - DateTimeFormatter
- Java One For All 130 - Utility Classes - ResourceBundle
- Java One For All 131 - Utility Classes - Regex pt 01 - Pattern and Matcher
- Java One For All 132 - Utility Classes - Regex pt 02 - Pattern and Matcher - Metacharacters
- Java One For All 133 - Utility Classes - Regex pt 03 - Pattern and Matcher - Range
- Java One For All 134 - Utility Classes - Regex pt 04 - Pattern and Matcher - Quantifier pt 01
- Java One For All 135 - Utility Classes - Regex pt 05 - Pattern and Matcher - Quantifier pt 02
- Java One For All 136 - Utility Classes - Regex pt 06 - Pattern and Matcher - Anchor
- Java One For All 137 - Utility Classes - Scanner - Tokens and Delimiters
- Java One For All 138 - Utility Classes - IO pt 01 - File
- Java One For All 139 - Utility Classes - IO pt 02 - FileWriter
- Java One For All 140 - Utility Classes - IO pt 03 - FileReader
- Java One For All 141 - Utility Classes - IO pt 04 - BufferedWriter
- Java One For All 142 - Utility Classes - IO pt 05 - BufferedReader
- Java One For All 143 - Utility Classes - IO pt 06 - File for Directories
- Java One For All 144 - Utility Classes - NIO pt 01 - Path, Paths, Files pt 01
- Java One For All 145 - Utility Classes - NIO pt 02 - Path, Paths, Files pt 02
- Java One For All 146 - Utility Classes - NIO pt 03 - Normalize
- Java One For All 147 - Utility Classes - NIO pt 04 - Resolving paths
- Java One For All 148 - Utility Classes - NIO pt 05 - Relativize
- Java One For All 149 - Utility Classes - NIO pt 06 - BasicFileAttributes pt 01
- Java One For All 150 - Utility Classes - NIO pt 07 - BasicFileAttributes pt 02
- Java One For All 151 - Utility Classes - NIO pt 08 - DosFileAttributesView
- Java One For All 152 - Utility Classes - NIO pt 09 - PosixFileAttributes
- Java One For All 153 - Utility Classes - NIO pt 10 - DirectoryStream
- Java One For All 154 - Utility Classes - NIO pt 11 - SimpleFileVisitor pt 01
- Java One For All 155 - Utility Classes - NIO pt 12 - SimpleFileVisitor pt 02
- Java One For All 156 - Utility Classes - NIO pt 13 - PathMatcher pt 01
- Java One For All 157 - Utility Classes - NIO pt 14 - PathMatcher pt 02
- Java One For All 158 - Utility Classes - NIO pt 15 - ZipOutputStream
- Java One For All 159 - Utility Classes - Serialization pt 01
- Java One For All 160 - Utility Classes - Serialization pt 02
- Java One For All 161 - Collection pt 01 - equals pt 01
- Java One For All 162 - Collection pt 02 - equals pt 02
- Java One For All 163 - Collection pt 03 - hashCode pt 01
- Java One For All 164 - Collection pt 04 - hashCode pt 02
- Java One For All 165 - Collection pt 05 - Time complexity
- Java One For All 166 - Collection pt 06 - List pt 01
- Java One For All 167 - Collection pt 07 - List pt 02
- Java One For All 168 - Collection pt 08 - List pt 03
- Java One For All 169 - Collection pt 09 - Sorting lists pt 01
- Java One For All 170 - Collection pt 10 - Sorting lists pt 02 - Comparable
- Java One For All 171 - Collection pt 11 - Sorting lists pt 03 - Comparator
- Java One For All 172 - Collection pt 12 - Binary Search
- Java One For All 173 - Collection pt 13 - Converting List to arrays and vice versa
- Java One For All 174 - Collection pt 14 - Iterator
- Java One For All 175 - Collection pt 15 - Set, HashSet
- Java One For All 176 - Collection pt 16 - NavigableSet, TreeSet pt 01
- Java One For All 177 - Collection pt 17 - NavigableSet, TreeSet pt 02
- Java One For All 178 - Collection pt 18 - Map, HashMap, LinkedHashMap pt 01
- Java One For All 179 - Collection pt 19 - Map, HashMap, LinkedHashMap pt 02
- Java One For All 180 - Collection pt 20 - Map, HashMap, LinkedHashMap pt 03
- Java One For All 181 - Collection pt 21 - NavigableMap, TreeMap
- Java One For All 182 - Collection pt 22 - Queue, PriorityQueue
- Java One For All 183 - Generics pt 01 - Introduction
- Java One For All 184 - Generics pt 02 - Wildcard pt 01
- Java One For All 185 - Generics pt 03 - Wildcard pt 02
- Java One For All 186 - Generics pt 04 - Generic Classes pt 01
- Java One For All 187 - Generics pt 05 - Generic Classes pt 02
- Java One For All 188 - Generics pt 06 - Generic methods
- Java One For All 189 - Inner classes pt 01 - Nested class
- Java One For All 190 - Inner classes pt 02 - Local class
- Java One For All 191 - Inner classes pt 03 - Anonymous classes
- Java One For All 192 - Inner classes pt 04 - Static nested classes
- Java One For All 193 - Behavior parameterization pt 01
- Java One For All 194 - Behavior parameterization pt 02
- Java One For All 195 - Lambdas pt 01 - Predicate
- Java One For All 196 - Lambdas pt 02 - Consumer
- Java One For All 197 - Lambdas pt 03 - Function
- Java One For All 198 - Method Reference pt 01 - Reference to static methods
- Java One For All 199 - Method Reference pt 02 - Reference to non static methods
- Java One For All 200 - Method Reference pt 03 - Reference to constructors
- Java One For All 201 - Optional pt 01
- Java One For All 202 - Optional pt 02
- Java One For All 203 - Streams pt 01 - Introduction pt 01
- Java One For All 204 - Streams pt 02 - Introduction pt 02
- Java One For All 205 - Streams pt 03 - Introduction pt 03
- Java One For All 206 - Streams pt 04 - FlatMap pt 01
- Java One For All 207 - Streams pt 05 - FlatMap pt 02
- Java One For All 208 - Streams pt 06 - Finding and Matching
- Java One For All 209 - Streams pt 07 - Reduce pt 01
- Java One For All 210 - Streams pt 08 - Reduce pt 02
- Java One For All 211 - Streams pt 09 - Generating Streams pt 01
- Java One For All 212 - Streams pt 10 - Generating Streams pt 02
- Java One For All 213 - Streams pt 11 - Collectors pt 01 - Summarizing
- Java One For All 214 - Streams pt 12 - Collectors pt 02 - Grouping by pt 01
- Java One For All 215 - Streams pt 13 - Collectors pt 03 - Grouping by pt 02
- Java One For All 216 - Streams pt 14 - Collectors pt 04 - Grouping by pt 03
- Java One For All 217 - Streams pt 15 - Collectors pt 05 - Grouping by pt 04
- Java One For All 218 - Streams pt 16 - Parallel Streams pt 01
- Java One For All 219 - Streams pt 17 - Parallel Streams pt 02
- Java One For All 220 - Threads pt 01 - Introduction
- Java One For All 221 - Threads pt 02 - Thread States
- Java One For All 222 - Threads pt 03 - Thread priority and sleep
- Java One For All 223 - Threads pt 04 - Yield and Join
- Java One For All 224 - Threads pt 05 - Synchronizing threads pt 01
- Java One For All 225 - Threads pt 06 - Synchronizing threads pt 02
- Java One For All 226 - Threads pt 07 - Synchronizing threads pt 03 - Thread safe classes
- Java One For All 227 - Threads pt 08 - Synchronizing threads pt 04 - Deadlock
- Java One For All 228 - Threads pt 09 - Synchronizing threads pt 05 - Wait, notify, notifyAll
- Java One For All 229 - Concurrency pt 01 - AtomicInteger
- Java One For All 230 - Concurrency pt 02 - Lock and ReentrantLock
- Java One For All 231 - Concurrency pt 03 - Conditions
- Java One For All 232 - Concurrency pt 04 - ReentrantReadWriteLock
- Java One For All 233 - Concurrency pt 05 - CopyOnWriteArrayList
- Java One For All 234 - Concurrency pt 06 - ArrayBlockingQueue
- Java One For All 235 - Concurrency pt 07 - LinkedTransferQueue
- Java One For All 236 - Concurrency pt 08 - Executors pt 01 - Thread Pool
- Java One For All 237 - Concurrency pt 09 - Executors pt 02 - ScheduledThreadPool
- Java One For All 238 - Concurrency pt 10 - Executors pt 03 - Interface Callable
- Java One For All 239 - Concurrency pt 11 - Executors pt 04 - Future
- Java One For All 240 - Concurrency pt 12 - CompletableFuture pt 01 - get and join
- Java One For All 241 - Concurrency pt 13 - CompletableFuture pt 02 - streams
- Java One For All 242 - Concurrency pt 14 - CompletableFuture pt 03 - ThreadPoolFactory
- Java One For All 243 - Concurrency pt 15 - CompletableFuture pt 04 - Chaining calls pt 01
- Java One For All 244 - Concurrency pt 16 - CompletableFuture pt 05 - Chaining calls pt 02
- Java One For All 245 - Concurrency pt 17 - CompletableFuture pt 06 - allOf, anyOf
- Java One For All 246 - Design Patterns pt 01 - Builder
- Java One For All 247 - Design Patterns pt 02 - Factory
- Java One For All 248 - Design Patterns pt 03 - Singleton pt 01 - Eager Initialization
- Java One For All 249 - Design Patterns pt 04 - Singleton pt 02 - Lazy Initialization
- Java One For All 250 - Design Patterns pt 05 - Singleton pt 03 - Singleton with enumeration
- Java One For All 251 - Design Patterns pt 06 - Data Transfer Object
- Java One For All 252 - JDBC pt 01 - Installing Docker
- Java One For All 253 - JDBC pt 02 - Creating MySQL container
- Java One For All 254 - JDBC pt 03 - Installing Worbench, creating schema and tables
- Java One For All 255 - JDBC pt 04 - Installing and adding Maven to the project
- Java One For All 256 - JDBC pt 05 - Adding dependency and connecting to the database
- Java One For All 257 - JDBC pt 06 - Insering data with Statement
- Java One For All 258 - JDBC pt 07 - Lombok and Log4J2
- Java One For All 259 - JDBC pt 08 - Deleting data with Statement -
- Java One For All 260 - JDBC pt 09 - Updating data with Statement
- Java One For All 261 - JDBC pt 10 - Searching data with ResultSet pt 01 - findAll
- Java One For All 262 - JDBC pt 11 - Searching data with ResultSet pt 02 - findByName
- Java One For All 263 - JDBC pt 12 - ResultSetMetaData
- Java One For All 264 - JDBC pt 13 - DriverMetaData
- Java One For All 265 - JDBC pt 14 - ResultSet.TYPE_SCROLL_INSENSITIVE
- Java One For All 266 - JDBC pt 15 - Updating rows with ResultSet
- Java One For All 267 - JDBC pt 16 - Inserting and Deleting rows with ResultSet
- Java One For All 268 - JDBC pt 17 - PreparedStatement pt 01
- Java One For All 269 - JDBC pt 18 - PreparedStatement pt 02
- Java One For All 270 - JDBC pt 19 - CallableStatement
- Java One For All 271 - JDBC pt 20 - Connected RowSet - JdbcRowSet pt 01
- Java One For All 272 - JDBC pt 21 - Connected RowSet - JdbcRowSet pt 02
- Java One For All 273 - JDBC pt 22 - Disconnected RowSet - CachedRowSet
- Java One For All 274 - JDBC pt 23 - Transactions
- Java One For All 275 - JDBC pt 24 - Crud pt 01 - findByName and findAll
- Java One For All 276 - JDBC pt 25 - Crud pt 02 - delete
- Java One For All 277 - JDBC pt 26 - Crud pt 03 - save
- Java One For All 278 - JDBC pt 27 - Crud pt 04 - update
- Java One For All 279 - JDBC pt 28 - Crud pt 05 - Anime CRUD
- Java One For All 280 - Unit tests with jUnit pt 01
- Java One For All 281 - Unit tests with jUnit pt 02
- Java One For All 282 - Updating JDK
- Java One For All 283 - Record Class
- Java One For All 284 - Pattern Matching for instanceof