www.udemy.com/course/java-ot-zaura/
Java Core: Generics, Collections, Nested Classes, Lambdas, Streams, Multithreading, IO and NIO, RegEx, Reflection, Annotations
Программа курса
-
Введение
1.1. Знакомство с курсом -
Интерфейсы Comparable и Comparator
2.1. Интерфейс Comparable
2.2. Интерфейс Comparator -
Generics
3.1. Введение в generics
3.2. Parameterized class
3.3. Parameterized method
3.4. Type erasure
3.5. Subtyping
3.6. Wildcards
3.7. Пример на generics -
Коллекции
4.1. Введение в Collection и List
4.2. ArrayList
4.3. Методы ArrayList. Часть 1
4.4. Методы ArrayList. Часть 2
4.5. Методы ArrayList и связанные с ним методы. Часть 3
4.6. Интерфейс Iterator
4.7. LinkedList
4.8. Интерфейс ListIterator
4.9. Binary search
4.10. Big O notation
4.11. Vector
4.12. Stack
4.13. Введение в Map. HashMap
4.14. Методы equals и hashCode
4.15. HashMap в деталях. Часть 1
4.16. HashMap в деталях. Часть 2
4.17. TreeMap
4.18. LinkedHashMap
4.19. HashTable
4.20. Введение в Set. HashSet
4.21. TreeSet
4.22. LinkedHashSet
4.23. Введение в Queue. LinkedList
4.24. PriorityQueue
4.25. Введение в Deque. ArrayDeque -
Nested классы
5.1. Введение в Nested классы
5.2. Static Nested класс
5.3. Inner класс
5.4. Local Inner класс -
Lambda выражения
6.1. Anonymous класс
6.2. Lambda выражения. Часть 1
6.3. Lambda выражения. Часть 2
6.4. Predicate
6.5. Supplier
6.6. Consumer
6.7. Function -
Streams
7.1. Введение в Streams. Метод map
7.2. Метод filter
7.3. Метод forEach
7.4. Метод reduce
7.5. Метод sorted
7.6. Method chaining
7.7. Метод concat
7.8. Метод distinct
7.9. Метод count
7.10. Метод peak
7.11. Метод flatMap
7.12. Метод collect: grouping и partitioning
7.13. Метод findFirst
7.14. Методы min и max
7.15. Метод limit
7.16. Метод skip
7.17. Метод mapToInt
7.18. Parallel Stream -
Многопоточность
8.1. Ввведение в многопоточность
8.2. Варианты создания потоков
8.3. Thread name и Thread priority
8.4. Методы sleep и join. Thread states
8.5. Concurrency и parallelism. Synchronous и asynchronous
8.6. Ключевое слово volatile
8.7. Data race. Synchronized methods
8.8. Понятие «монитор». Synchronized blocks
8.9. Методы wait и notify
8.10. Понятия Deadlock, Livelock, Lock Starvation
8.11. Lock и ReentrantLock
8.12. Daemon потоки
8.13. Прерывание потоков
8.14. ThreadPool и ExecutorService. Часть 1
8.15. ThreadPool и ExecutorService. Часть 2
8.16. Интерфейсы Callable и Future. Часть 1
8.17. Интерфейсы Callable и Future. Часть 2
8.18. Синхронизатор Semaphore
8.19. Синхронизатор CountDownLatch
8.20. Синхронизатор Exchanger
8.21. Класс AtomicInteger
8.22. Синхронизированные коллекции
8.23. ConcurrentHashMap
8.24. CopyOnWriteArrayList
8.25. ArrayBlockingQueue -
Работа с файлами IO и NIO
9.1. Введение в Стримы. FileWriter
9.2. FileReader
9.3. Try with resources
9.4. BufferedWriter и BufferedReader
9.5. FileInputStream и FileOutputStream
9.6. DataInputStream и DataOutputStream
9.7. Сериализация. Часть 1
9.8. Сериализация. Часть 2
9.9. Класс RandomAccessFile
9.10. Класс File
9.11. Введение в Channel и Buffer. Чтение из файла
9.12. Channel и Buffer. Запись в файл
9.13. Channel и Buffer. Важные методы
9.14. Интерфейс Path и класс Files. Часть 1
9.15. Интерфейс Path и класс Files. Часть 2
9.16. Введение в метод walkFileTree
9.17. Метод walkFileTree. Копирование директории
9.18. Метод walkFileTree. Удаление директории -
Регулярные выражения
10.1. RegEx. Часть 1
10.2. RegEx. Часть 2
10.3. RegEx. Часть 3
10.4. Методы класса String: mathes и split
10.5. Пример «Проверка IP»
10.6. Методы replaceAll и group
10.7. Методы printf и format -
Другие важные темы
11.1. Enum. Часть 1
11.2. Enum. Часть 2
11.3. Класс Scanner. Часть 1
11.4. Класс Scanner. Часть 2
11.5. Reflection. Часть 1
11.6. Reflection. Часть 2
11.7. Аннотации
Что сделано:
- Разобраны серьёзные темы на простых примерах
- Добавил закладки и содержание в PDF со слайдами