Урок 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
Can it be updated?