- User Defined Exception handling
- File reader, writer
- String, StringBuffer, StringBuilder, StringTokenizer
- wait and notify
- deadlock BLOCKED, WAITING
- jps, jcmd, jconsole to detect deadlock
- Thread dumpstack
- Exception Handling
- checked , unchecked exception
- throw the exception
- throws with method signature for checked exception
- try, catch, finally
- synchronized using IndexCounter
- synchronized using IndexCounter1, IndexCounter2
- synchronized using IndexCounter.class for static shared resources
- synchronized to evaluate the time of execution
- MultiProcessing, MultiTasking, MultiThreading
- Thread creation: extend Thread, implement Runnable, lambda
- sleep time
- wait and wait time, releases cpu
- join waits for a thread to complete
- Iterator and ListIterator
- Thread highlights.
- Assignments Below:
- HashMap Internal Get and Put ( N, E )
- Which Iterator has set and remove functionality.
- Which iterator can move backward and forward.
- Which iterator can move forward only.
- Iterator with map.EntrySet using while loop ( E )
- WeakHashMap and IdentityHashMap put, get, iterate with entrySet ( E )
- What is Enum and why it is used ( E )
- What is parameterized Enum ( E )
- Usage of abstract method in Enum ( E )
- Process vs Thread ( N )
- Context Switching in Process vs Context Switching in Thread ( N )
- Sort array of int values in reverse order using Comparator ( E )
- Map examples with use cases
- HashSet, LinkedHashSet, TreeSet (custom sorting logic)
- properties and hash table
- reading properties from classpath and user.home
- HashMap, LinkedHashMap, TreeMap (comparable and comparator usage with custom key)
- HashMap internal with replace and append
* on hash collision/conflict do replace when: if (p.hash == hash &&
* ((k = p.key) == key || (key != null && key.equals(k))))
* e = p;
* otherwise append like a linked list- Sort using comparable and comparator for List
- Hashing and Buckets
- HashMap: put, get, iteration custom MapKey (custom equals and hashcode)
- assignment: Map<String, Integer> , Key is string type (no need to override equals and hashcode)
- vector has synchronized methods. enumerate with vectors
- stack extends vector
- queue is first in first out
- custom linked list example
- list as array elements
- LinkedList with String
- Final keyword
- ArrayList Internal Add method operation
- ArrayList with String
- ArrayList with Employee (assignment)
- inheritance & modifiers
- comparator sorting (asc, desc)
- arraylist basics
- interface, static methods
- abstract class
- strategy design pattern
- template design pattern
- serialization
- class & objects
- inheritance
- overriding
- this as keyword
- this as constructor
- super as keyword
- super as constructor in inheritance
- Object class methods
- Array declaration
- initialization
- recursion
- stackoverflow error
- default values
- array as params and modify index
- array as return values for finding squares
- 2d array iteration using for each
- 2d array iteration using for with index or while (assignment)
- 1d array and 2d array
- Static & Non Static Variables
- Primitive Types, Wrapper Types, System Defined Types
org.example.App to org.example.App6