Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай Ultimate Java Part 3: Advanced Topics, а также все другие курсы, прямо сейчас!
Премиум
  • Урок 1. 00:00:39
    1- Introduction
  • Урок 2. 00:00:43
    1- Introduction
  • Урок 3. 00:03:46
    2- What are Exceptions
  • Урок 4. 00:03:41
    3- Types of Exceptions
  • Урок 5. 00:02:06
    4- Exceptions Hierarchy
  • Урок 6. 00:03:52
    5- Catching Exceptions
  • Урок 7. 00:04:29
    6- Catching Multiple Types of Exceptions
  • Урок 8. 00:04:11
    7- The finally Block
  • Урок 9. 00:02:27
    8- The try-with-resources Statement
  • Урок 10. 00:04:42
    9- Throwing Exceptions
  • Урок 11. 00:03:08
    10- Re-throwing Exceptions
  • Урок 12. 00:04:19
    11- Custom Exceptions
  • Урок 13. 00:04:57
    12- Chaining Exceptions
  • Урок 14. 00:00:56
    13- Summary
  • Урок 15. 00:00:28
    1- Introduction
  • Урок 16. 00:03:33
    2- The Need for Generics
  • Урок 17. 00:03:23
    3- A Poor Solution
  • Урок 18. 00:04:28
    4- Generic Classes
  • Урок 19. 00:02:25
    5- Generics and Primitive Types
  • Урок 20. 00:03:26
    6- Constraints
  • Урок 21. 00:04:05
    7- Type Erasure
  • Урок 22. 00:05:39
    8- Comparable Interface
  • Урок 23. 00:04:49
    9- Generic Methods
  • Урок 24. 00:02:33
    10- Multiple Type Parameters
  • Урок 25. 00:04:18
    11- Generic Classes and Inheritance
  • Урок 26. 00:05:28
    12- Wildcards
  • Урок 27. 00:00:56
    13- Summary
  • Урок 28. 00:00:35
    1- Introduction
  • Урок 29. 00:03:09
    2- Overview of Collections Framework
  • Урок 30. 00:03:55
    3- The Need for Iterables
  • Урок 31. 00:05:25
    4- The Iterable Interface
  • Урок 32. 00:05:27
    5- The Iterator Interface
  • Урок 33. 00:09:36
    6- The Collection Interface
  • Урок 34. 00:03:52
    7- The List Interface
  • Урок 35. 00:04:29
    8- The Comparable Interface
  • Урок 36. 00:03:52
    9- The Comparator Interface
  • Урок 37. 00:04:48
    10- The Queue Interface
  • Урок 38. 00:05:34
    11- The Set Interface
  • Урок 39. 00:03:45
    12- Hash Tables
  • Урок 40. 00:06:27
    13- The Map Interface
  • Урок 41. 00:00:45
    14- Summary
  • Урок 42. 00:00:48
    1- Introduction
  • Урок 43. 00:03:52
    2- Functional Interfaces
  • Урок 44. 00:01:24
    3- Anonymous Inner Classes
  • Урок 45. 00:03:44
    4- Lambda Expressions
  • Урок 46. 00:01:57
    5- Variable Capture
  • Урок 47. 00:03:47
    6- Method References
  • Урок 48. 00:01:43
    7- Built-in Functional Interfaces
  • Урок 49. 00:04:07
    8- The Consumer Interface
  • Урок 50. 00:04:29
    9- Chaining Consumer
  • Урок 51. 00:02:31
    10- The Supplier Interface
  • Урок 52. 00:03:01
    11- The Function Interface
  • Урок 53. 00:04:20
    12- Composing Functions
  • Урок 54. 00:02:03
    13- The Predicate Interface
  • Урок 55. 00:02:11
    14- Combining Predicates
  • Урок 56. 00:03:16
    15- The BinaryOperator Interface
  • Урок 57. 00:01:14
    16- The UnaryOperator Interface
  • Урок 58. 00:00:41
    17- Summary
  • Урок 59. 00:00:42
    1- Introduction
  • Урок 60. 00:06:25
    2- Imperative vs Functional Programming
  • Урок 61. 00:05:02
    3- Creating a Stream
  • Урок 62. 00:05:25
    4- Mapping Elements
  • Урок 63. 00:03:00
    5- Filtering Elements
  • Урок 64. 00:04:22
    6- Slicing Streams
  • Урок 65. 00:05:13
    7- Sorting Streams
  • Урок 66. 00:02:10
    8- Getting Unique Elements
  • Урок 67. 00:03:20
    9- Peeking Elements
  • Урок 68. 00:03:38
    10- Simple Reducers
  • Урок 69. 00:04:13
    11- Reducing a Stream
  • Урок 70. 00:06:04
    12- Collectors
  • Урок 71. 00:04:52
    13- Grouping Elements
  • Урок 72. 00:02:11
    14- Partitioning Elements
  • Урок 73. 00:01:26
    15- Primitive Type Streams
  • Урок 74. 00:00:40
    16- Summary
  • Урок 75. 00:00:56
    1- Introduction
  • Урок 76. 00:03:08
    2- Processes and Threads
  • Урок 77. 00:03:15
    3- Starting a Thread
  • Урок 78. 00:02:36
    4- Pausing a Thread
  • Урок 79. 00:02:28
    5- Joining a Thread
  • Урок 80. 00:02:55
    6- Interrupting a Thread
  • Урок 81. 00:02:09
    7- Concurrency Issues
  • Урок 82. 00:05:54
    8- Race Conditions
  • Урок 83. 00:02:51
    9- Strategies for Thread Safety
  • Урок 84. 00:03:41
    10- Confinement
  • Урок 85. 00:03:18
    11- Locks
  • Урок 86. 00:05:14
    12- The synchronized Keyword
  • Урок 87. 00:06:34
    13- The volatile Keyword
  • Урок 88. 00:03:36
    14- Thread Signalling with wait() and notify()
  • Урок 89. 00:03:26
    15- Atomic Objects
  • Урок 90. 00:02:10
    16- Adders
  • Урок 91. 00:03:25
    17- Synchronized Collections
  • Урок 92. 00:02:38
    18- Concurrent Collections
  • Урок 93. 00:01:19
    19- Summary
  • Урок 94. 00:00:39
    1- Introduction
  • Урок 95. 00:01:47
    2- Thread Pools
  • Урок 96. 00:06:51
    3- Executors
  • Урок 97. 00:05:01
    4- Callables and Futures
  • Урок 98. 00:01:51
    5- Asynchronous Programming
  • Урок 99. 00:01:39
    6- Completable Futures
  • Урок 100. 00:03:43
    7- Creating a Completable Future
  • Урок 101. 00:04:19
    8- Implementing an Asynchronous API
  • Урок 102. 00:04:05
    9- Running Code on Completion
  • Урок 103. 00:04:16
    10- Handling Exceptions
  • Урок 104. 00:04:35
    11- Transforming a Completable Future
  • Урок 105. 00:06:09
    12- Composing Completable Futures
  • Урок 106. 00:04:33
    13- Combining Completable Futures
  • Урок 107. 00:02:49
    14- Waiting for Many Tasks to Complete
  • Урок 108. 00:02:14
    15- Waiting for the First Task
  • Урок 109. 00:02:25
    16- Handling timeouts
  • Урок 110. 00:01:19
    17- Project- Best Price Finder
  • Урок 111. 00:04:16
    18- Solution- Getting a Quote
  • Урок 112. 00:04:50
    19- Solution- Getting Many Quotes
  • Урок 113. 00:04:28
    20- Solution- Random Delays