JAVA
My Personal notes on Java programming language concepts and features.
Topics Covered
Java Basics
- Classes and Objects
- Methods
- Stack and Heap Memory
- Arrays
- Array of Objects
- Multi-Dimensional Arrays
- Strings
- Static Block, Method, Variable
- Encapsulation
- Getters and Setters
- This Keyword
- Constructors
- Naming Convention
- Anonymous Object
- Inheritance
- This and Super Keyword
- Method Overriding
- Packages
- Access Modifiers
- Polymorphism
- Dynamic Method Dispatch
- Final Keyword
- Object Class (equals/toString/hashCode)
- Upcasting and Downcasting
- Wrapper Class
Java Advanced
- Abstract Keyword
- Inner Class
- Interface
- Enums
- Annotations
- Functional Interface
- Lambda Expressions
- Exception Handling
- Try with Multiple Catch
- Exception Hierarchy and Throw Keyword
- Custom Exceptions
- Ducking Exception using throws
- User Input using BufferedReader and Scanner
- Try with Resources
- Threads
- Multiple Threads
- Thread Priority and Sleep
- Runnable vs Thread
- Race Condition
- Thread States
Collections Framework
- Collection API
- ArrayList
- LinkedList
- Vector
- Set
- HashSet
- LinkedHashSet
- TreeSet
- Map
- HashMap
- LinkedHashMap
- TreeMap
- Hashtables
- Queue
- Priority Queue
- LinkedList Queue
- ArrayDeque
- Comparator vs Comparable