This repository will contain all the codes with minor comments for the Java Core
See here and Video Tutorials for more information.
Codes with labs and test for each of below lessons:
- Основы Java
- Терминология
- Управляющие конструкции
- Числа, битовые операции
- Массивы, строки
- Базовые алгоритмы
- Итеративные алгоритмы
- Рекурсия
- Рекурсивные алгоритмы
- Динамические структуры данных
- Память в Java
- Исключения
- try-catch-finally
- Проверяемые/Непроверяемые
- Стратегии обработки
- try-with-resources
- Важные исключения в JDK
- Ввод/вывод
- Кодировки
- I/O Streams
- Serialization API
- Файловая система
- NIO / NIO.2
- Многопоточность
- Физический уровень
- Thread / Runnable
- JMM, volatile
- synchronized, wait/notify
- interrupt(), stop(), destroy()
- java.util.concurrent.
- Коллекции
- O-нотация
- Базовая иерархия (Collection, Set, List, Map)
- Iterable/Iterator, foreach
- ArrayList/LinkedList, equals()
- HashMap/HashSet, hashCode()
- TreeSet/TreeMap, Comparable/Comparator
- ООП: Синтаксис
- Понятие о типе (ClassCastException, instanceOf, java.lang.Class)
- Конструирование объектов
- Сущности (class, interface, abstract class, enum)
- Методы (overloading, overriding, hiding)
- Области видимости (модификаторы доступа, пакеты)
- Внутренние/вложенные, анонимные классы
- Разное (static, поля, …)
- ООП: Шаблоны
- Принципы ООП, UML
- Шаблоны/Создания
- Шаблоны/Структурные
- Шаблоны / поведенческие
- Продвинутые возможности
- Reflection API
- Аннотации
- Генерики
- Загрузка классов
- Java 8
- Методы в интерфейсах и ссылки на методы
- Лямбды (Project Lambda)
- Stream API
- Функциональные алгоритмы
Labs:
-
1.3 labs completed
-
basics.control_flow.AxA_plus_BxB.MathUtils
-
basics.bits.shift.left.IntegerUtils
-
basics.bits.swap.BitUtils
-
basics.bits.packed.PackedFlagArray
-
basics.big_integer.fraction.FractionUtils
-
basics.big_integer.toBinaryString.BigIntegerUtils
-
basics.big_integer.poly_eval.PolyUtils
-
basics.big_integer.poly_mul.PolyUtils
-
1.4 labs
-
basics.arrays.maxlen_pos_segment_left
-
basics.arrays.maxlen_pos_segment_right
-
basics.array.rotate_2D
-
basics.arrays.maxarea_pos_rect
-
basics.array.rotate_3D
-
basics.strings.chars_shift
-
2.1 labs
-
proc.loop.array_inverter_optimized
-
proc.loop.array_merger_fixed
-
proc.loop.bubble_sort_inverted
-
proc.loop.selection_sort_optimized
-
proc.loop.insertion_sort_optimized
-
proc.loop.matrix_mul
-
2.2 labs
-
proc.recursion.hanoi_tower
-
proc.recursion.permutation
-
proc.recursion.parser
-
2.4 labs
-
proc.dyn.single_lib_addLast
-
proc.dyn.single_lib_removeLast
-
proc.dyn.single_lib_insertInPosition
-
proc.dyn.single_lib_removeInPosition
-
proc.dyn.double_lib_addLast
-
proc.dyn.double_lib_removeLast
-
proc.dyn.double_lib_insertInPosition
-
proc.dyn.double_lib_removeInPosition
-
proc.dyn.fibonacci_tree_generateArg
-
proc.dyn.fibonacci_tree_generateRes
-
proc.dyn.tree_isSearchTree
-
proc.dyn.tree_add
-
3.1 labs
-
ex.try-catch-finally.atomic_tx