java-training

1 basics

- code study
	- 1.1 hello world
	- 1.2 postfix increment
	- 1.3 summing non floating
	- 1.4 comparing integers
	- 1.5 slow loops
	- 1.6 accessing private fields
- code challenges
	- 1.1 fizzbuzz
	- 1.2 foobarqix
	- 1.3 pair of 2
	- 1.4 pair of 3

2 oo

- code study
	- 2.1 initialization order
	- 2.2 covariant return
	- 2.3 class types
	- 2.4 shadowing
	- 2.5 default methods
	- 2.6 multiple inheritance
- code challenges
	- 2.1 two fighters
	- 2.2 movie database
	- 2.3 animal hierarchy

3 design patterns

- code study
	- 3.1 design patterns used in java apis
- code challenges
	- 3.1 iterator
	- 3.2 strategy
	- 3.3 proxy
	- 3.4 observer
	- 3.5 template method
	- 3.6 builder
	- 3.7 decorations (hard)
	- 3.8 drinking time (hard)

4 exceptions & IO

- code study
	- 4.1 exceptions
	- 4.2 multicatch
	- 4.3 finally
	- 4.4 try with resources
	- 4.5 suppressed
	- 4.6 try with resources and suppressed
	- 4.7 stacktrace
	- 4.8 character streams
	- 4.9 buffered character streams
	- 4.10 buffered binary streams
	- 4.11 scanner
- code challenges
	- 4.1 phonebook
	- 4.2 secret message
	- 4.3 anagram
	- 4.4 number to lcd
	- 4.5 occurence

5 generics

- activity 
	- 5.1 generic sort
- code study
	- 5.1 pecs
	- 5.2 heap pollution
	- 5.3 type errasure
	- 5.4 gloves and socks
- code challenges
	- 5.1 exchange desk
	- 5.2 pairs
	- 5.3 generic linked list
	- 5.4 generic iterator
	- 5.5 generic binary search

6 collectinos

- activity
	- 6.1 resizable array
- code study
	- 6.1 checked list
	- 6.2 remove in loop
	- 6.3 fail fast iterator
	- 6.4 fail safe iterator
	- 6.5 list iterator
	- 6.6 spliterator
	- 6.7 collection interface
	- 6.8 list interface
	- 6.9 queue interface
	- 6.10 deque interface
	- 6.11 set interface
	- 6.12 map interface
	- 6.13 equals and hashcode
	- 6.14 ordering
	- 6.15 unmodifiable collection
- code challenges
	- 6.1 leaders
	- 6.2 pascal triangle
	- 6.3 bell triangle
	- 6.4 zig zag
	- 6.5 merge sorted lists
	- 6.6 matrix spiral
	- 6.7 my hashtable
	- 6.8 my arraylist
	- 6.9 my set

7 concurrency

- code study
	- 7.1 contention
	- 7.2 lack of coordination
	- 7.3 good coordination
	- 7.4 starvation
	- 7.5 intrinsic locks
	- 7.6 lock objects
	- 7.7 deadlock
	- 7.8 livelock
	- 7.9 executors
- code challenges
	- 7.1 rabbit race
	- 7.2 bank transactions
	- 7.3 rock paper scissors
	- 7.4 dining philosopers (hard)

8 functional

- acitvity
	- 8.1 get highest score from a collection of objects
- code study
	- 8.1 method contructor reference
	- 8.2 closure
	- 8.3 stream
	- 8.4 list words
	- 8.5 check range
- code challenges
	- 8.1 consumer
	- 8.2 predicate
	- 8.3 lambda

9 reactive

- code study
	- 9.1 create flux
	- 9.2 create mono
	- 9.3 java9 and reactor
	- 9.4 lazy evaluation and immutability
	- 9.5 reactor schedulers
- code challenge
	- 9.1 flux
	- 9.2 mono
	- 9.3 operations
	- 9.4 transformations
	- 9.5 merges

clean code projects

- chess game