Complete List of Core
Java Topics
if-elseif-else
switch
Loop/Iteration Statement
Keywords
o
this
abstract
Core Java
JDK, JRE, JVM
for
Abstract Classes
while
Java Identifiers
do-while
Abstract
Methods
Java Keywords
for-each
super
Java Naming Conventions
final
Commands
Branching/Jump
Statement
break
javac
java
continue
javap
return
javapackager
javaws
jconsole
jmap
jhat
jinfo
Object, Class and Package
Variable
Local Variables
Class Variables (Static
Variables)
Instance Variables (NonStatic Variables)
Fields
Methods
Datatypes
Java Literals
Escape Sequence Characters
Casting
Operators
Assignment
Relational
Arithmetic
Conditional
Logical
Bitwise
Instance of
Multi Line
Control Statements
o
Selection/DecisionMaking Statement
if
if-else
Final Method
Final Class
Static Variable
Access Modifiers
Static Method
Non-Access Modifiers
Static Import
OOPS Concepts and their
implementation in Java
o Association
o
Aggregation
Abstraction
Encapsulation
Polymorphism
Compile time
Runtime
Inheritance
Relationship
o
IS-A
HAS-A
volatile
transient
String Handling
o
String Pool
String Class
StringBuffer Class
StringBuilder Class
CharSequence
Assertion
Thread & Concurrency
Defining, Instantiating
and Starting threads
Thread States
Cohesion
Thread Properties
Coupling
Thread Priorities
Overloading
Interrupting Threads
Overriding
Multi-Threading
Constructor
Using Thread Dump
Command Line Arguments
Locks
Array
Deadlock
Var-Args
Wrapper Classes
Auto-Boxing ( Boxing, UnBoxing)
Interfaces
Inter-Thread
Communication
Worker Thread
Daemon Thread
join() method
wait(), notify(), notifyAll()
methods
sleep() method
Single Line
Comments
o
Final Variable
static
Modifiers
Functional Interfaces
(New in Java 8)
Marker Interfaces
Classpath
Initializer Block
o
Instance Initializer Block
Static Initializer Block
Order of Execution
o
o
o
o
Synchronization (block &
Method)
Concurrent API
(java.util.concurrent)
Blocking Queue
Thread Pool
HashSet
Enum Types (Enumeration)
Thread Safe collection
LinkedHashSet
Data Formatting
Callables and Futures
TreeSet
Fork/Join
SortedSet
Executor
NavigableSet
Date and Calender
classes
Numbers and Currencies
Synchronizers
EnumSet
Locale
Parsing
Exception
Map
Exception Hierarchy
HashMap
Tokenizing
Hashtable
Formatting
TreeMap
Resource Bundles
LinkedHashMap
Annotations
SortedMap
Memory Management
NavigableMap
Compile-time and
Runtime Exception
Checked and
Unchecked
try, catch, finally, throw,
throws
try with resources (new
in Java 7)
multi-catch (new in Java
7)
Exception overriding
User Defined Exception
JVM thrown exception
o
o
o
o
Programmatically thrown
exception
Nested Classes
o
Static Nested Class
Inner Classes
Regular Inner
Class
Method Local
Inner Class
Anonymous
Inner Class
Serialization and Deserialization
Important Package
o
o
o
java.lang
java.util
java.math
Object class and its methods
Regular Expressions
Collection
o
hashCode() and equals()
Iterator and ListIterator
Enumeration
List
Set
Queue
Garbage Collection
Heap Size
PriorityQueue
Stack Size
Deque
Java Start-up Args
ArrayDeque
Utility Classes
Collections
Arrays
Ordered and Sorted
Collections
Comparator and
Comparable interfaces
Properties class
JDBC
GUI - Swing, AWT, Applet
Lambda Expressions (new in
Java 8)
Different ways to create Java
Objects
Other
Java 7 new features
Diamond Operator
fail-fast and fail-safe
properties
Diamond Syntax (new in
Java 7)
Backed Collection
Using String in switch statement
Automatic Resource
Management
Numeric literals with underscores
Multi-catch feature
Thread Safe Collection
New File API (NIO2.0)
CopyOnWriteArr
ayList
ConcurrentHash
Map
CopyOnWriteArr
aySet
Synchronized Wrappers
Unmodifiable wrappers
Collection Related
Exception ( i.e.
ConcurrentModificationE
xception )
o
o
o
Cloning
ArrayList
Reflection
Vector
Class Loaders
LinkedList
I/O and NIO API
Stack
RMI
Generics
Working with path
File change notification
Fork and Join
Supporting Dynamism
invokedynamic
java.lang.invoke
Java 8 new features
o
Lambda Expressions
Stream Collection Types
(java.util.stream)
Functional Interface
(java.util.function)
Nashorn - node.js on
JVM
Date/Time Changes
(java.time)
Type annotation
Default Methods
o
o
o