-
Урок 1.
00:06:54
Why Yet Another Java Course?
-
Урок 2.
00:10:31
Course Structure & UI Controls for Site Navigation
-
Урок 3.
00:03:09
Chapter Introduction
-
Урок 4.
00:06:44
What is Java & Who is Using It?
-
Урок 5.
00:07:37
Story behind Java's Creation ~ A Brief History
-
Урок 6.
00:06:19
Compilation
-
Урок 7.
00:08:39
Platform Dependency + Demo
-
Урок 8.
00:07:54
Interpreter
-
Урок 9.
00:05:40
Platform Independence in Java + Demo
-
Урок 10.
00:12:30
Java Virtual Machine
-
Урок 11.
00:08:35
An Overview of Java SE
-
Урок 12.
00:19:14
Installing JDK 10 on Windows
-
Урок 13.
00:04:47
Installing JDK 10 on Mac
-
Урок 14.
00:06:53
Installing JDK10 on Linux
-
Урок 15.
00:09:21
Setting Classpath Environment Variable
-
Урок 16.
00:16:17
Writing First Java Program + Demo
-
Урок 17.
00:02:41
Conclusion
-
Урок 18.
00:03:20
Chapter Introduction
-
Урок 19.
00:12:59
Class & Objects
-
Урок 20.
00:17:14
Demo: Absolute Java Basics
-
Урок 21.
00:07:22
Variables: Introduction
-
Урок 22.
00:05:31
Variable Kinds
-
Урок 23.
00:02:01
Variables: Primitive Types
-
Урок 24.
00:14:18
Primitive Variables: Integers + Demo
-
Урок 25.
00:05:27
Primitive Variables: Floating-point Numbers + Item 48
-
Урок 26.
00:11:28
Primitive Variables: Character Data Type + Demo
-
Урок 27.
00:07:41
Primitive Variables: Boolean Data Type + Demo
-
Урок 28.
00:19:26
Variables: Type Casting + Demo
-
Урок 29.
00:03:01
Variables: Object References
-
Урок 30.
00:07:42
Statements + Demo
-
Урок 31.
00:11:26
Arrays + Demo
-
Урок 32.
00:07:23
2D Arrays
-
Урок 33.
00:05:21
3D Arrays + Demo
-
Урок 34.
00:20:52
Methods: Introduction + Demo
-
Урок 35.
00:21:28
Method Types + Demo
-
Урок 36.
00:18:19
How Data is Passed to Methods in Java? + Demo
-
Урок 37.
00:10:28
Method Overloading + Demo
-
Урок 38.
00:08:40
Methods: varargs + Demo
-
Урок 39.
00:16:13
Constructors + Demo
-
Урок 40.
00:05:18
this Reference + Demo
-
Урок 41.
00:16:22
Demo: Student Example
-
Урок 42.
00:09:46
Demo: Reinitializing Object References ~ More Brainstorming!
-
Урок 43.
00:21:44
Review of Exercise 1 Solution with Best Practices
-
Урок 44.
00:03:39
Conclusion
-
Урок 45.
00:03:33
Chapter Introduction
-
Урок 46.
00:04:10
Operators
-
Урок 47.
00:22:14
Arithmetic Operators + Demo
-
Урок 48.
00:08:56
Arithmetic Operation Rules + Demo
-
Урок 49.
00:14:46
Demo: Comparison Operators
-
Урок 50.
00:28:15
Logical Operators + Demo
-
Урок 51.
00:19:49
Car Price Estimator ~ Coding Exercise for Comparison & Logical Operators
-
Урок 52.
00:06:07
Car Price Estimator - Exercise Solution
-
Урок 53.
00:09:25
Bitwise Operators + Demo
-
Урок 54.
00:05:38
Bit Shift Operators
-
Урок 55.
00:18:06
Control-flow: Demo: if-statement
-
Урок 56.
00:18:06
Control-flow: switch + Demo
-
Урок 57.
00:03:37
When is switch Preferred?
-
Урок 58.
00:07:27
Control-flow: Ternary + Demo
-
Урок 59.
00:11:58
Control-flow: for Statement + Demo
-
Урок 60.
00:21:55
Demo: More for Statement ...
-
Урок 61.
00:18:43
Demo: for-each Statement (+ discussion on Item 46)
-
Урок 62.
00:05:17
Variable Scope
-
Урок 63.
00:03:27
Control-flow: while Statement
-
Урок 64.
00:09:17
Control-flow: break Statement + Demo
-
Урок 65.
00:05:09
Control-flow: continue + Demo
-
Урок 66.
00:27:02
Recursion + Demo
-
Урок 67.
00:05:56
Conclusion
-
Урок 68.
00:02:30
Chapter Introduction
-
Урок 69.
00:09:22
Java API + Item 47 (Know and use the libraries)
-
Урок 70.
00:16:42
Accessing Packages + Demo
-
Урок 71.
00:29:40
Creating Packages & Classpath Management + Demo
-
Урок 72.
00:04:19
Naming Packages
-
Урок 73.
00:05:45
Strings: Introduction
-
Урок 74.
00:19:47
String Class + Demo
-
Урок 75.
00:15:53
String Pool & Interning + Demo
-
Урок 76.
00:03:30
String Immutability
-
Урок 77.
00:10:33
String Concatenation + Demo
-
Урок 78.
00:03:15
Item 51: String Concatenation Performance
-
Урок 79.
00:04:51
Escape Sequences + Demo
-
Урок 80.
00:09:10
Access Levels
-
Урок 81.
00:10:59
Information Hiding - Item 14: Use accessor methods, not public fields + Demo
-
Урок 82.
00:03:50
Information Hiding - Item 13: Minimize the accessibility of classes and members
-
Урок 83.
00:05:37
Demo: Student Example with Information Hiding
-
Урок 84.
00:07:03
Conclusion
-
Урок 85.
00:02:29
Chapter Introduction
-
Урок 86.
00:07:11
Static Methods + Item 4: Enforce noninstantiability with a private constructor
-
Урок 87.
00:08:31
Math Class + Demo
-
Урок 88.
00:07:26
Static Variables + Demo
-
Урок 89.
00:07:45
Initializers: Static & Instance + Demo
-
Урок 90.
00:09:45
final Variable + Demo
-
Урок 91.
00:10:23
Constant Variables + Demo
-
Урок 92.
00:10:47
Boxed Primitives
-
Урок 93.
00:04:26
Autoboxing + Demo
-
Урок 94.
00:11:38
Item 49: Prefer Primitives to Boxed Primitives + Demo
-
Урок 95.
00:10:05
Coding Conventions: Naming (Item 56: Use generally accepted naming conventions)
-
Урок 96.
00:07:32
Coding Conventions: Structuring Programs (Item 45: Minimize the scope of local)
-
Урок 97.
00:06:40
Coding Conventions: Stylistic + Demo
-
Урок 98.
00:13:13
Coding Conventions: Comments + Demo
-
Урок 99.
00:07:48
Conclusion
-
Урок 100.
00:10:16
thrill.io ~ A Social Polymarking App!
-
Урок 101.
00:04:16
Case Study
-
Урок 102.
00:08:28
Inheritance
-
Урок 103.
00:12:28
Access Modifiers & Inheritance + Demo
-
Урок 104.
00:04:09
IS-A Test
-
Урок 105.
00:12:36
Polymorphism + Demo
-
Урок 106.
00:10:08
Casting Objects &
-
Урок 107.
00:07:28
instanceof Operator + Demo
-
Урок 108.
00:14:50
Type Safety
-
Урок 109.
00:17:04
Method Overriding + Demo
-
Урок 110.
00:14:18
Method Binding + Demo
-
Урок 111.
00:03:04
What is Not Overridden? (final Method is one of them) + Demo
-
Урок 112.
00:07:53
Demo: Fields are Not Overridden
-
Урок 113.
00:08:34
Object Class + Demo + Item 10: Always override toString
-
Урок 114.
00:05:31
Constructor Chaining + Demo
-
Урок 115.
00:07:04
Preventing Inheritance
-
Урок 116.
00:06:15
Conclusion
-
Урок 117.
00:06:28
New Requirement: thrill.io for Kids
-
Урок 118.
00:05:59
Abstract Classes & Methods + Demo
-
Урок 119.
00:05:22
Item 20: Prefer class hierarchies to tagged classes
-
Урок 120.
00:04:09
New Requirement: Sharing Bookmarks
-
Урок 121.
00:18:45
Multiple Inheritance & Diamond Problem
-
Урок 122.
00:08:09
Interfaces
-
Урок 123.
00:11:24
More on Interfaces
-
Урок 124.
00:07:52
Demo: Interfaces
-
Урок 125.
00:07:57
Interfaces: A Conceptual View
-
Урок 126.
00:03:21
Item 18: Prefer interfaces to abstract classes
-
Урок 127.
00:06:45
Item 52: Refer to objects by their interfaces
-
Урок 128.
00:06:04
Marker Interfaces
-
Урок 129.
00:18:52
Cloneable Interface + Demo
-
Урок 130.
00:04:18
default Methods (Java 8) + Demo
-
Урок 131.
00:10:10
Recap of default Methods
-
Урок 132.
00:11:49
default Methods: Other Benefits + Demo
-
Урок 133.
00:12:38
Static Methods in Interfaces + Demo
-
Урок 134.
00:02:11
Conclusion
-
Урок 135.
00:05:32
Introduction
-
Урок 136.
00:11:01
Installing Eclipse
-
Урок 137.
00:11:14
Writing a Java Program in Eclipse
-
Урок 138.
00:05:27
Eclipse Build Process
-
Урок 139.
00:10:35
Importing Demo Code
-
Урок 140.
00:10:31
Source Code Navigation
-
Урок 141.
00:02:47
Automatic Source Code Cleaning & Generation
-
Урок 142.
00:17:36
Code Refactoring
-
Урок 143.
00:18:04
Using Eclipse Debugger
-
Урок 144.
00:00:44
JUnit & Debugging
-
Урок 145.
00:03:59
Conclusion
-
Урок 146.
00:06:56
Project Introduction
-
Урок 147.
00:12:06
MVC Architecture
-
Урок 148.
00:12:34
Implementing Entities
-
Урок 149.
00:04:51
Implementing Manager Classes - Demonstrates Singleton Pattern!!
-
Урок 150.
00:18:41
Implementing Constant Exporting Classes
-
Урок 151.
00:05:41
Implementing Data Store
-
Урок 152.
00:09:15
Implementing Dao Classes
-
Урок 153.
00:15:55
Launching the Application
-
Урок 154.
00:19:42
Implementing User Bookmarking Feature
-
Урок 155.
00:19:02
Implementing Kid-Friendly Eligibility Criteria Using TDD
-
Урок 156.
00:13:32
Marking Bookmarks as Kid-Friendly
-
Урок 157.
00:19:09
Implementing Sharing Feature: Part 1 (Implementing Shareable Interface)
-
Урок 158.
00:08:29
Implementing Sharing Feature: Part 2 (View, Controller and Manager)
-
Урок 159.
00:08:33
Introduction
-
Урок 160.
00:09:37
Lifetime of a Type
-
Урок 161.
00:10:08
Lifetime of a Type: Class Loading
-
Урок 162.
00:17:51
Lifetime of a Type: Linking
-
Урок 163.
00:07:56
Demo: Lifetime of a Type
-
Урок 164.
00:06:21
Reflection
-
Урок 165.
00:12:45
Accessing Class Object
-
Урок 166.
00:06:34
Demo: Reflection
-
Урок 167.
00:10:50
Runtime Data Areas
-
Урок 168.
00:06:56
Method Area & Heap
-
Урок 169.
00:08:47
Method Table
-
Урок 170.
00:07:15
Garbage Collection: Introduction
-
Урок 171.
00:10:09
Garbage Collection Algorithms
-
Урок 172.
00:07:44
GC: Generational Collections
-
Урок 173.
00:06:26
Demo: Tuning Heap & Analyzing GC Cycles
-
Урок 174.
00:05:49
Item 6: Eliminate Obsolete Object References
-
Урок 175.
00:06:04
Stack
-
Урок 176.
00:17:58
Stack Frame
-
Урок 177.
00:08:05
Instruction Set: invokespecial & invokevirtual + Demo
-
Урок 178.
00:03:05
Conclusion
-
Урок 179.
00:15:01
Chapter Introduction
-
Урок 180.
00:09:41
Demo: Exceptions & Exception Handling
-
Урок 181.
00:10:10
Demo: Multiple Exceptions & Polymorphically Referencing Exceptions!!
-
Урок 182.
00:11:54
Checked & Unchecked Exceptions + Demo
-
Урок 183.
00:15:11
finally Block + Demo
-
Урок 184.
00:07:24
try-with-resources Statement + Demo
-
Урок 185.
00:12:50
Demo: Suppressed Exceptions
-
Урок 186.
00:09:21
Demo - Best Practices: Creating New Exceptions (Items 58 & 65)
-
Урок 187.
00:07:15
Demo - Best Practices for Capturing Failure Information (Item 63)
-
Урок 188.
00:06:23
Demo - Item 61: Throw exceptions appropriate to the abstraction
-
Урок 189.
00:10:08
Exceptions: More Advice ... (Items 57, 59, 60, 62, and 38)
-
Урок 190.
00:09:20
Assertions
-
Урок 191.
00:06:09
Demo: Assertions
-
Урок 192.
00:06:33
Conclusion
-
Урок 193.
00:19:42
Chapter Introduction
-
Урок 194.
00:06:34
Character Encoding + Demo (Prerequisite)
-
Урок 195.
00:05:51
Stream IO
-
Урок 196.
00:19:58
Byte Streams
-
Урок 197.
00:04:08
Reading Byte-Oriented Files Efficiently + Decorator Pattern + Demo
-
Урок 198.
00:09:40
Character Streams
-
Урок 199.
00:10:53
Reading & Writing Text Efficiently
-
Урок 200.
00:13:04
Project Extension: Reading User & Bookmark Data from Text Files (Demo)
-
Урок 201.
00:09:39
Project Extension: Downloading WebLinks & Writing to Disk (Demo)
-
Урок 202.
00:14:40
Demo: Reading User Input from Console using BufferedReader & Scanner
-
Урок 203.
00:17:35
The File Class + Demo
-
Урок 204.
00:12:05
Serializing Java Objects + Demo
-
Урок 205.
00:03:36
Deserialization & Versioning + Demo
-
Урок 206.
00:07:18
Demo: Decoding with Compatible Encoding Scheme
-
Урок 207.
00:07:36
Conclusion
-
Урок 208.
00:06:32
Chapter Introduction
-
Урок 209.
00:03:32
Collection Interface
-
Урок 210.
00:06:13
List Interface
-
Урок 211.
00:16:17
ArrayList - Introduction
-
Урок 212.
00:19:19
Demo: ArrayList
-
Урок 213.
00:10:37
Iterator + Demo
-
Урок 214.
00:10:40
List Iterator + Demo
-
Урок 215.
00:09:37
LinkedList
-
Урок 216.
00:09:48
Queue & Deque Interfaces
-
Урок 217.
00:09:38
ArrayDeque + Demo
-
Урок 218.
00:14:52
Hash Table
-
Урок 219.
00:05:22
Set Interface & HashSet + Demo + Overriding hashCode & Equals (Item 9) + Item 52
-
Урок 220.
00:09:05
LinkedHashSet + Demo
-
Урок 221.
00:18:04
SortedSet & NavigableSet
-
Урок 222.
00:09:47
TreeSet (Comparable & Comparator) + Demo
-
Урок 223.
00:08:34
Demo: More TreeSet ~ Exploring NavigableSet Methods
-
Урок 224.
00:13:39
Map Interface
-
Урок 225.
00:07:36
Demo: HashMap + Excercise
-
Урок 226.
00:17:43
Demo: Beware of Creating Mutable Keys
-
Урок 227.
00:10:19
LinkedHashMap + Demo
-
Урок 228.
00:19:55
SortedMap, NavigableMap and TreeMap + Demo
-
Урок 229.
00:08:24
Demo: Arrays Class
-
Урок 230.
00:16:35
Demo: Arrays Class (Part 2) ~ Parallelized Operations from Java 8
-
Урок 231.
00:05:19
Demo: Collections Class
-
Урок 232.
00:08:36
Best Practice: Return empty arrays or collections instead of nulls (Item 43)
-
Урок 233.
00:12:25
Conclusion - A Quick Summary
-
Урок 234.
00:08:34
Chapter Introduction ~ Motivation & Agenda
-
Урок 235.
00:15:56
Generic & Parameterized Types
-
Урок 236.
00:13:14
Demo: Creating Generic Types
-
Урок 237.
00:09:51
Project Extension: Replacing Arrays with ArrayLists (Part 1)
-
Урок 238.
00:11:16
Project Extension: Replacing Arrays with ArrayLists (Part 2)
-
Урок 239.
00:12:15
Bounded Type Parameter + Demo
-
Урок 240.
00:10:11
Item 23: Don’t use raw types in new code + Demo
-
Урок 241.
00:07:17
Unbounded Wildcard + Demo
-
Урок 242.
00:15:18
Invariance + Demo + Item 25: Prefer lists to arrays
-
Урок 243.
00:20:47
Generic Methods (Items 26 & 27: Favor generic types/methods)
-
Урок 244.
00:11:24
Demo: Generic Methods & Generic Constructors
-
Урок 245.
00:12:45
Bounded Wildcards: Motivation + Demo
-
Урок 246.
00:15:27
Bounded Wildcards + Item 28: Use bounded wildcards to increase API flexibility
-
Урок 247.
00:04:46
Demo: Bounded Wildcards
-
Урок 248.
00:11:59
Generics Restrictions
-
Урок 249.
00:09:19
Conclusion - A Quick Summary
-
Урок 250.
00:17:10
Chapter Introduction
-
Урок 251.
00:21:58
Nonstatic Member Classes + Demo
-
Урок 252.
00:07:44
Anonymous Classes + Demo & Item 21 ~ About Function objects
-
Урок 253.
00:15:14
Local Classes + Demo
-
Урок 254.
00:04:37
Static Member Classes + Demo + Item 22: Favor Static Member Classes
-
Урок 255.
00:06:25
Variable Scope with Nested Classes
-
Урок 256.
00:10:26
Conclusion - A Quick Summary
-
Урок 257.
00:12:35
enums: Motivation & Introduction + Item 30: Use enums instead of int constants
-
Урок 258.
00:06:09
Enum Class + Demo
-
Урок 259.
00:04:17
enums with State & Behavior + Demo
-
Урок 260.
00:12:18
Nested enums + Demo
-
Урок 261.
00:11:12
Project Extension: Converting Constant Exporting Classes to Enums
-
Урок 262.
00:08:14
enums with Constant-specific Behavior + Demo
-
Урок 263.
00:07:53
Chapter Introduction ~ Motivation & Agenda
-
Урок 264.
00:14:41
Threads: Introduction
-
Урок 265.
00:12:56
Demo: Launching Threads and Making them to Sleep!
-
Урок 266.
00:13:29
Demo: Thread Naming, Prioritization and Joining + Item 73 (Avoid thread groups)
-
Урок 267.
00:10:51
Race Condition + Demo
-
Урок 268.
00:10:46
Synchronization + Demo + Item 66: Synchronize access to shared mutable data
-
Урок 269.
00:09:30
Java Memory Model (JMM)
-
Урок 270.
00:17:55
Volatile Variables + Demo
-
Урок 271.
00:08:42
Atomic Variables + Demo
-
Урок 272.
00:14:45
Synchronization Best Practices (+ Item 67: Avoid excessive synchronization)
-
Урок 273.
00:21:55
Thread Cooperation & Management + Demo
-
Урок 274.
00:23:52
Demo: wait & notify
-
Урок 275.
00:26:00
Thread Interruption + Demo
-
Урок 276.
00:05:49
Explicit Locks (Reentrant Lock) + Demo
-
Урок 277.
00:16:23
Item 69: Prefer concurrency utilities to wait and notify
-
Урок 278.
00:13:41
Executor Framework + Demo (Item 68: Prefer executors and tasks to threads)
-
Урок 279.
00:10:20
Executor Service & Future
-
Урок 280.
00:11:43
Demo: ExecutorService & Future
-
Урок 281.
00:19:21
Tasks with Time Limits + Demo
-
Урок 282.
00:21:04
Project Extension: Downloading Web Links Concurrently
-
Урок 283.
00:01:56
Project Extension: Implementing Background Job to Download Web Links
-
Урок 284.
00:12:51
Agenda
-
Урок 285.
00:24:31
Background ~ epoch, UTC, Timezone ...
-
Урок 286.
00:09:53
Legacy API ~ Date & Calendar Classes + Demo
-
Урок 287.
00:22:44
New Date & Time API ~ Introduction
-
Урок 288.
00:15:13
Demo: New Date & Time API
-
Урок 289.
00:10:31
Database Introduction & Chapter Agenda
-
Урок 290.
00:25:16
Installing MySQL Database & MySQL Workbench
-
Урок 291.
00:17:38
Database Design & Normalization
-
Урок 292.
00:25:30
Database Design using MySQL Workbench
-
Урок 293.
00:09:11
Project Ext.: Creating Database via CREATE & INSERT Queries + Storage Engines
-
Урок 294.
00:19:28
Installing JDBC Driver
-
Урок 295.
00:20:51
Writing SELECT Queries with Multiple Tables, GROUP BY, ORDER BY, etc.
-
Урок 296.
00:14:05
Project Extension: Loading Data from Database via JDBC API
-
Урок 297.
00:08:45
Project Extension: Saving Bookmarking Data via INSERT Queries
-
Урок 298.
00:13:41
Project Extension: ALTER Query & Saving Kid-Friendly Details via UPDATE Queries
-
Урок 299.
00:10:24
Functional-style Programming: Motivation & Chapter Agenda
-
Урок 300.
00:13:30
Lambdas ~ Introduction
-
Урок 301.
00:25:11
Demo: Lambdas
-
Урок 302.
00:14:34
Demo: Capturing Variables from Lambdas ~ Closures!
-
Урок 303.
00:13:01
Predicate, (Bi) Function, and Unary Operator Interfaces + Demo
-
Урок 304.
00:08:53
Demo: Consumer, Supplier, and Primitive Functional Interfaces
-
Урок 305.
00:23:42
Demo: Method References
-
Урок 306.
00:07:04
Demo: Constructor References
-
Урок 307.
00:18:51
Streams + Demo
-
Урок 308.
00:10:35
Stream Operations: An Overview
-
Урок 309.
00:18:28
Demo: Slicing a Stream
-
Урок 310.
00:23:11
Demo: Stream Matching Operations
-
Урок 311.
00:23:35
Demo: Stream Finding Operations & Optional Class
-
Урок 312.
00:10:53
Stream Reduction Operations + Demo
-
Урок 313.
00:12:02
Mutable Reduction with Collection Operations + Demo
-
Урок 314.
00:18:33
collect() with Collector
-
Урок 315.
00:25:17
Demo: Collecting Stream into List & Set
-
Урок 316.
00:07:43
Demo: Grouping Stream Elements
-
Урок 317.
00:23:32
Demo: Summarizing Groups & Generating Multi-level Groups
-
Урок 318.
00:12:08
Motivation & Agenda
-
Урок 319.
00:07:22
Web Basics
-
Урок 320.
00:23:56
Java EE & Servlet Containers
-
Урок 321.
00:13:36
Installing Tomcat
-
Урок 322.
00:22:36
BooksAloha! ~ Creating & Deploying a Web Application using Servlets
-
Урок 323.
00:13:45
Servlet Life Cycle
-
Урок 324.
00:06:04
Implementing BooksAloha! as MVC using JSP
-
Урок 325.
00:28:56
Using JSTL to Improve Presentation Layer
-
Урок 326.
00:29:21
Project Extension: Web-enabling thrill.io Project
-
Урок 327.
00:35:07
Project Extension: Implementing Browse Functionality
-
Урок 328.
00:08:53
Project Extension: Implementing Bookmarking & MyBooks Functionality
-
Урок 329.
00:21:21
Project Extension: Implementing Login Functionality with Session
-
Урок 330.
00:00:00
JAR Files - Introduction