Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Java Foundations: The Complete Course with Java 21 Updates, а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:03:20
    1 - Welcome to the World of Java
  • Урок 2. 00:05:06
    2 - What is Java
  • Урок 3. 00:15:57
    3 - Installing JDK 21 IntelliJ IDE on MacOS with SDKMan Homebrew
  • Урок 4. 00:20:00
    4 - Installing JDK 21 IntelliJ IDE on Windows with Chocolatey
  • Урок 5. 00:03:04
    5 - Legacy Lesson Install JDK 17 on Windows
  • Урок 6. 00:04:13
    6 - Legacy Lesson Install JDK 17 on MacOS
  • Урок 7. 00:05:44
    7 - Legacy Lesson Installing a Java Editor IntelliJ IDE
  • Урок 8. 00:09:17
    8 - Hello World Our First Simple Application
  • Урок 9. 00:06:33
    9 - Asking for Help
  • Урок 10. 00:06:25
    10 - Coding Exercises for the Whole Course
  • Урок 11. 00:34:44
    12 - Object Orientation
  • Урок 12. 00:17:53
    13 - Class Basics
  • Урок 13. 00:18:51
    14 - Variables Data Types
  • Урок 14. 00:06:50
    15 - var Variables
  • Урок 15. 00:19:58
    16 - Simple Collections with Arrays
  • Урок 16. 00:32:55
    17 - Methods
  • Урок 17. 00:11:25
    18 - Varargs
  • Урок 18. 00:09:04
    19 - Static Methods
  • Урок 19. 00:06:28
    20 - Static Variables
  • Урок 20. 00:05:42
    21 - Static Initializers
  • Урок 21. 00:15:02
    22 - The Object Superclass
  • Урок 22. 00:33:12
    23 - Member Visibility Methods
  • Урок 23. 00:07:20
    24 - Member Visibility Fields
  • Урок 24. 00:22:51
    25 - Constructors
  • Урок 25. 00:22:46
    26 - Getters Setters
  • Урок 26. 00:00:58
    28 - Intro
  • Урок 27. 00:17:09
    29 - Creating Strings
  • Урок 28. 00:10:00
    30 - Upper Lower Casing
  • Урок 29. 00:05:39
    31 - Strings Blank or Empty
  • Урок 30. 00:06:30
    32 - Replacing Text Within Strings
  • Урок 31. 00:19:10
    33 - Removing White Space strip
  • Урок 32. 00:05:28
    34 - Getting Individual Characters of a String charAt
  • Урок 33. 00:09:36
    35 - Comparing String for Alphabetical Order compareTo
  • Урок 34. 00:03:18
    36 - Determining if Text is Contained in a String contains
  • Урок 35. 00:29:16
    37 - String Concatenation concat
  • Урок 36. 00:10:34
    38 - Determining the Length of a String length
  • Урок 37. 00:20:37
    39 - Getting Parts of a String substring
  • Урок 38. 00:32:12
    40 - Searching within a String indexOf
  • Урок 39. 00:23:39
    41 - Splitting String Apart split
  • Урок 40. 00:08:25
    42 - Beginning Ending of Strings startsWith endsWith
  • Урок 41. 00:15:06
    43 - Comparing Strings for Equality contentEquals
  • Урок 42. 00:11:05
    44 - JDK 21 String Templates
  • Урок 43. 00:02:24
    46 - Intro to Regular Expressions
  • Урок 44. 00:13:09
    47 - ABCs of Regular Expressions Part One
  • Урок 45. 00:34:24
    48 - ABCs of Regular Expressions Part Two
  • Урок 46. 00:25:28
    49 - Capture Groups Part One
  • Урок 47. 00:12:58
    50 - Capture Groups Part Two
  • Урок 48. 00:13:04
    51 - Named Capture Groups
  • Урок 49. 00:11:26
    52 - Comments in Regular Expressions
  • Урок 50. 00:06:44
    53 - Wrapping Up Phone Number Parsing
  • Урок 51. 00:19:54
    54 - Additional Character Classes
  • Урок 52. 00:40:14
    55 - Parsing a Real Text Document
  • Урок 53. 00:15:32
    56 - Greedy Operators
  • Урок 54. 00:16:07
    57 - Finding Multiple Matches
  • Урок 55. 00:09:05
    60 - Bits and Bytes
  • Урок 56. 00:09:33
    61 - Hexadecimal Numbers
  • Урок 57. 00:17:26
    62 - Numeric Data Types
  • Урок 58. 00:11:33
    63 - Bigger Numbers
  • Урок 59. 00:19:41
    64 - Floating Point Numbers
  • Урок 60. 00:37:27
    66 - Simple Math Operations
  • Урок 61. 00:17:36
    67 - Standard Math Functions
  • Урок 62. 00:07:02
    68 - More on Random Numbers
  • Урок 63. 00:06:05
    69 - Coding Exercise Calculating the Area of a Circle
  • Урок 64. 00:21:50
    70 - Coding Exercise Calculating Centripetal Force
  • Урок 65. 00:05:52
    71 - Comparing Numbers
  • Урок 66. 00:09:10
    72 - Introducing BigDecimal
  • Урок 67. 00:12:31
    73 - Using BigDecimal
  • Урок 68. 00:11:59
    74 - More on BigDecimal BigInteger
  • Урок 69. 00:19:48
    76 - Formatting Numbers
  • Урок 70. 00:13:04
    77 - Customizing Number Formatters
  • Урок 71. 00:24:42
    79 - Numeric Wrapper Classes
  • Урок 72. 00:06:01
    81 - Intro to Control Flow
  • Урок 73. 00:27:21
    82 - Conditionals with IfElse
  • Урок 74. 00:07:51
    83 - Control Flow Inequalities
  • Урок 75. 00:19:42
    84 - The Switch Statement
  • Урок 76. 00:22:39
    85 - Switch Statement New Features
  • Урок 77. 00:26:46
    86 - While Loops Part One
  • Урок 78. 00:14:58
    87 - Switch Statement Pattern Matching in JDK 21
  • Урок 79. 00:11:17
    88 - Legacy Lesson see JDK 21 version Switch Statement Pattern Matching JDK 17
  • Урок 80. 00:22:04
    89 - While Loops Part Two
  • Урок 81. 00:32:15
    90 - DoWhile Loops Part One
  • Урок 82. 00:23:35
    91 - DoWhile Loops Part Two
  • Урок 83. 00:26:19
    92 - For Loops
  • Урок 84. 00:09:40
    93 - A Simpler For Loop
  • Урок 85. 00:04:40
    94 - The Enhanced For Loop
  • Урок 86. 00:06:21
    95 - Applying Loops to Regex
  • Урок 87. 00:02:54
    97 - Intro to Testing
  • Урок 88. 00:18:59
    98 - Setting Up
  • Урок 89. 00:28:36
    99 - Our First Test
  • Урок 90. 00:23:33
    100 - Writing the Second Test
  • Урок 91. 00:12:19
    101 - Testing Edge Cases
  • Урок 92. 00:19:22
    102 - Testing Annuity Calculation
  • Урок 93. 00:19:51
    103 - Reimplementing the Guessing Game with TDD
  • Урок 94. 00:37:23
    104 - Guessing Game TDD Part Two
  • Урок 95. 00:19:51
    105 - Implementing Randomness
  • Урок 96. 00:25:26
    106 - Testing for Randomness A Deeper Explanation
  • Урок 97. 00:34:40
    107 - Tracking the Number of Guesses
  • Урок 98. 00:11:39
    108 - Handling More than Four Guesses
  • Урок 99. 00:24:58
    109 - Wrapping up Testing
  • Урок 100. 00:13:21
    110 - Reimplementing the Guessing Game User Interface
  • Урок 101. 00:35:46
    111 - Debugging Code Part One
  • Урок 102. 00:17:05
    112 - Debugging Code Part Two
  • Урок 103. 00:01:32
    114 - Intro
  • Урок 104. 00:31:01
    115 - Enums
  • Урок 105. 00:22:00
    116 - Enum Ordinals
  • Урок 106. 00:20:57
    117 - Enum Methods
  • Урок 107. 00:22:39
    118 - Enum Fields
  • Урок 108. 00:12:22
    119 - Enum ValueOf
  • Урок 109. 00:12:54
    120 - The this Keyword
  • Урок 110. 00:13:18
    121 - Setup for More Advanced OOP Topics
  • Урок 111. 00:29:02
    122 - Employee Salaries Continued
  • Урок 112. 00:24:28
    123 - Completing Other Employee Cases
  • Урок 113. 00:34:12
    124 - Introducing a Programmer Class
  • Урок 114. 00:26:24
    125 - Implementing the Other Employee Classes
  • Урок 115. 00:29:30
    126 - Introducing Interfaces
  • Урок 116. 00:20:55
    127 - Revisiting Class Hierarchies
  • Урок 117. 00:19:03
    128 - Completing the Employee Class Hierarchy
  • Урок 118. 00:07:35
    129 - Dealing with the Null Case
  • Урок 119. 00:22:17
    130 - Introducing Abstract Classes
  • Урок 120. 00:27:38
    131 - Factory Methods
  • Урок 121. 00:09:49
    132 - Nested Classes
  • Урок 122. 00:17:44
    133 - Other Types of Nested Classes
  • Урок 123. 00:20:36
    134 - Records
  • Урок 124. 00:18:43
    135 - Lambdas Versus Anonymous Classes
  • Урок 125. 00:24:54
    136 - Composition Versus Inheritance
  • Урок 126. 00:22:00
    137 - Default Methods
  • Урок 127. 00:19:23
    138 - Comparing Classes with instanceof
  • Урок 128. 00:11:53
    139 - Unnamed Patterns
  • Урок 129. 00:20:47
    140 - OOP Recap
  • Урок 130. 00:36:12
    142 - Solutions Explanations to Exercises 81
  • Урок 131. 00:42:05
    143 - Solutions Explanations to Exercises 82 83
  • Урок 132. 00:20:39
    144 - Solutions Explanations to Exercises 84 89
  • Урок 133. 00:20:05
    145 - Solutions Explanations to Exercises 810 819
  • Урок 134. 00:20:50
    146 - Solutions Explanations to Exercises 820 822
  • Урок 135. 00:04:52
    147 - Intro to Collections
  • Урок 136. 00:22:28
    148 - List Basics
  • Урок 137. 00:26:52
    149 - Linked Lists
  • Урок 138. 00:20:33
    150 - Looping with Iterators
  • Урок 139. 00:07:22
    151 - Loose Ends of Lists
  • Урок 140. 00:27:03
    152 - Additional List Methods
  • Урок 141. 00:43:51
    153 - Listcontains Objectequals
  • Урок 142. 00:31:05
    154 - Implementing Comparator to Sort Lists
  • Урок 143. 00:38:11
    155 - Implementing Comparable to Sort Lists
  • Урок 144. 00:19:54
    156 - Intro to Sets
  • Урок 145. 00:22:46
    157 - Sets Hashcode
  • Урок 146. 00:12:34
    158 - LinkedHashSet
  • Урок 147. 00:25:41
    159 - TreeSet
  • Урок 148. 00:04:12
    160 - Intro to Maps
  • Урок 149. 00:25:43
    161 - A Map Scenario
  • Урок 150. 00:29:47
    162 - Using Map Implementations
  • Урок 151. 00:24:50
    163 - Additional Map Methods
  • Урок 152. 00:08:07
    164 - JDK 21 Collections Changes
  • Урок 153. 00:03:56
    165 - Wrapping Up
  • Урок 154. 00:01:48
    167 - Intro to Streams Lambdas
  • Урок 155. 00:22:17
    168 - First Steps into Streams API
  • Урок 156. 00:11:10
    169 - Streams Explained
  • Урок 157. 00:42:41
    170 - Creating Streams
  • Урок 158. 00:28:58
    171 - Summing with Streams
  • Урок 159. 00:25:10
    172 - Sorting with Streams
  • Урок 160. 00:24:10
    173 - Filtering with Streams
  • Урок 161. 00:20:43
    174 - Additional Filtering Techniques
  • Урок 162. 00:31:35
    175 - Flattening Streams of Streams
  • Урок 163. 00:30:09
    176 - Alternatives to Filter
  • Урок 164. 00:45:33
    177 - The Map Reduce Pattern
  • Урок 165. 00:23:46
    178 - Intro to More Advanced Streams
  • Урок 166. 00:46:07
    179 - Big Data Summing
  • Урок 167. 00:18:50
    180 - Domain Models with Streams API
  • Урок 168. 00:24:16
    181 - Grouping Records
  • Урок 169. 00:22:19
    182 - Summing by Groups
  • Урок 170. 00:29:01
    183 - Nested Groupings
  • Урок 171. 00:18:13
    184 - Reducing with Collect
  • Урок 172. 00:12:57
    185 - Partitioning vs Grouping
  • Урок 173. 00:11:46
    186 - Functional Interfaces
  • Урок 174. 00:38:30
    187 - Functional Methods of Collections
  • Урок 175. 00:36:20
    189 - Exceptions
  • Урок 176. 00:19:10
    190 - Checked Exceptions
  • Урок 177. 00:30:20
    191 - Generics Part One
  • Урок 178. 00:34:28
    192 - Generics Part Two
  • Урок 179. 00:31:02
    193 - Optionals Part One
  • Урок 180. 00:42:24
    194 - Optionals Part Two
  • Урок 181. 00:28:46
    195 - Dates Times Intro
  • Урок 182. 00:08:03
    196 - Dates Times Periods Durations
  • Урок 183. 00:15:44
    197 - Dates Times Time Zones
  • Урок 184. 00:31:43
    198 - Dates Times Parsing Formatting
  • Урок 185. 00:13:00
    199 - Dates Times Temporal Adjustors Immutability
  • Урок 186. 00:12:26
    200 - Getting Started with Databases
  • Урок 187. 00:09:17
    201 - Installing DBeaver SQL Client
  • Урок 188. 00:14:54
    202 - Installing Squirrel SQL Client
  • Урок 189. 00:20:43
    203 - Lets Learn Some SQL
  • Урок 190. 00:20:55
    204 - Creating Retrieving Records
  • Урок 191. 00:12:29
    205 - Database Functions
  • Урок 192. 00:12:47
    206 - The UD in CRUD
  • Урок 193. 00:29:13
    207 - Creating a New Database Project
  • Урок 194. 00:19:22
    208 - TDD for Saving a Person
  • Урок 195. 00:28:58
    209 - Writing the JDBC Code to Save a Person
  • Урок 196. 00:37:33
    210 - Tidying Up Explaining Our Save Code
  • Урок 197. 00:08:32
    211 - Creating a Custom Save Exception
  • Урок 198. 00:41:33
    212 - Finding a Person By ID
  • Урок 199. 00:10:59
    213 - FindById A Negative Case
  • Урок 200. 00:09:44
    214 - Deleting a Person
  • Урок 201. 00:18:50
    215 - Deleting Multiple People at Once
  • Урок 202. 00:34:26
    216 - Updating a Person
  • Урок 203. 00:21:15
    217 - Creating a Reusable CRUD Repository
  • Урок 204. 00:09:34
    218 - CRUD Repository FindById
  • Урок 205. 00:22:53
    219 - CRUD Repository Completing the Remaining Methods
  • Урок 206. 00:31:42
    220 - CRUD Repository Implementing a Custom Annotation
  • Урок 207. 00:38:33
    221 - CRUD Repository Allowing Multiple SQL Annotations
  • Урок 208. 00:28:54
    222 - CRUD Repository Custom ID Annotation
  • Урок 209. 00:32:31
    223 - Loading Five Million People with PeopleRepository
  • Урок 210. 00:22:51
    224 - Speeding up the Queries with Indexes
  • Урок 211. 00:30:24
    225 - Creating an Address Table
  • Урок 212. 00:39:40
    226 - Saving One Address
  • Урок 213. 00:20:01
    227 - Saving a Person without an Address
  • Урок 214. 00:20:09
    228 - Fetching a Person with Their Address
  • Урок 215. 00:29:00
    229 - Fetching Address in One Go with Join Queries
  • Урок 216. 00:40:03
    230 - Joins with Missing Addresses
  • Урок 217. 00:41:30
    231 - Adding a Second Address Field
  • Урок 218. 00:04:15
    232 - Brief Word of Encouragement
  • Урок 219. 00:04:38
    233 - Challenge Adding a Spouse
  • Урок 220. 00:28:54
    234 - Adding Children
  • Урок 221. 00:21:25
    235 - Fetching Children in One Join
  • Урок 222. 00:32:41
    236 - Writing Code to Fetch Children in One Join
  • Урок 223. 00:17:01
    237 - Troubleshooting Techniques for Broken Tests
  • Урок 224. 00:29:05
    238 - Fixing FindAll for JoinFetched Child Code
  • Урок 225. 00:13:57
    239 - Join Tables
  • Урок 226. 00:27:12
    240 - Optimizing with Caching
  • Урок 227. 00:17:36
    241 - Optimizing Prepared Statements
  • Урок 228. 00:34:33
    242 - Conclusion
  • Урок 229. 00:09:33
    243 - Introduction
  • Урок 230. 00:14:51
    244 - Creating the PeopleDBWeb Project
  • Урок 231. 00:09:06
    245 - Implementing Web Hello World
  • Урок 232. 00:22:05
    246 - Web HTTP Basics
  • Урок 233. 00:22:53
    247 - Displaying a Simple List of People
  • Урок 234. 00:25:20
    248 - Introducing a Bootstrap Table for People
  • Урок 235. 00:30:03
    249 - Formatting Dates Salaries
  • Урок 236. 00:44:03
    250 - Introducing Spring Data
  • Урок 237. 00:42:17
    251 - Saving People
  • Урок 238. 00:31:16
    252 - UI Database Tweaks
  • Урок 239. 00:29:52
    253 - Validating Data
  • Урок 240. 00:27:27
    254 - Deleting People
  • Урок 241. 00:37:59
    255 - Updating People
  • Урок 242. 00:40:00
    256 - Internationalization
  • Урок 243. 00:33:13
    257 - Uploading a File
  • Урок 244. 00:38:14
    258 - Saving Uploaded Files
  • Урок 245. 00:35:23
    259 - Retrieving Uploaded Files
  • Урок 246. 00:35:11
    260 - Handling Exceptions in UI
  • Урок 247. 00:28:44
    261 - Introducing a Service Layer for Coordination Logic
  • Урок 248. 00:18:16
    262 - Coordinating Deletes with a Service
  • Урок 249. 00:17:21
    263 - Custom Query Methods
  • Урок 250. 00:39:02
    264 - Pagination
  • Урок 251. 00:37:44
    265 - Importing a CSV File
  • Урок 252. 00:26:19
    266 - Fixing Deletes UI Loose Ends
  • Урок 253. 00:35:12
    267 - Items Not Covered Thoroughly
  • Урок 254. 00:32:08
    268 - Where to Go from Here