1.Exception Handling:
• Different types of abnormal conditions.
• Why do we require Exception handling
• try/ catch/ finally
• Deviations to finally block.
• Return statement inside try/catch/finally
• Errors and Exceptions
• Checked and uncheked
• Explanation of Error types
o StackOverFlowError
o OutOfMemoryError
o NoClassDefinationFoundErr or
o NoSuchMethodError etc…
• Explanation of UncheckedException types
o ArithmaticException
o NumberFormatException
o NullPointerException
o ArrayIndexOutOfBoundExc eption
o ClassCastException etc…
• Explanation of CheckedException types
o SQLException
o ClassNotFoundException
o IOException
o FileNotFoundException
o CloneNotSupportedExcepti on
o ParseException
o InterruptedException etc…
• Explanation of unreachable statements.
• throws keyword and its importance in unchecked.
• Rules of method overriding in case of throws.
• Order of catch blocks
• throw keyword and its usage
• Developing user defined exception class.
• Differentiate throws and throw.
2.Assertions
• Why do we require assertions.
• enabling and disabling the assert statements in execution wise, package wise and class wise.
• Types of assert statements.
• Usage of assert as an identifier in older versions of JDK
• In appropriate usage of assert statements
• Difference between throw and assert.
• Enable/Disable assert statements in Eclipse
3. Object Class
• toString()
• hashCode()
• equals()
• finalize()
• Garbage collector.
• clone()
o Deep copy / Shallow copy
• getClass()
• java.lang.Class methods
o getFields()
o getDeclaredFields()
o getMethods()
o GetDeclaredmethods()
• Reflection API
4. Multi Threading.
• Multi Tasking
• Multi Processing.
• Multi threading.
• Types of Threads (user and deamon)
• Thread with Runnable Interface
• Thread with Thread class
• Developing threads with inner classes.
• Default properties of threads.
• Finding current thread.
• Thread unique id.
• Thread name
• Thread priority.
• Thread daemon status.
• Threads join.
• Thread sleep.
• Thread interruptions.
• Synchronization
o Synchronization methods
o Synchronization blocks
• Dead Lock
• Inter Thread communication
o wait()
o notify()
o notifyAll()
• Thread pool
• Thread group
• Thread life cycle
• Thread yield.
• Thread Locale
• Difference between Thread and Runnasble.
5. Strings
• String class basic information.
• Some important methods of Spring class.
o toString()
o hashCode()
o equals()
o length()
o + operator
o concat()
o trim()
o charAt()
o indexOf()
o lastIndexOf()
o substring()
o split()
o toUpperCase()
o toLowerCase()
o equalsIgnoreCase()
o startsWith()
o endsWith()
o replace()
o replaceAll()
o _==_ operator
o size()
o Differentiate equals and
== operator etc..
• Explanation String memory management
• StringBuffer class
o Mulatability
o Capacity
o Buffer
o Thread safeness.
o Extra methods like append(), reverse(), delete(), etc
• Differentiate String class and stringBuffer class
• StringBuilder class
• Differentiate StringBuffer and stringBuilder.
• Formatters
o Flags, width, precision, conversion chars.
• Regular Expression
o Patterns, Matcher
o \d, \d+, \s, \w and so on
• StringTokenizer.
• Date, Calander
• NumberFormat and DateFormat Locale.
6. Arrays:
• DecAdlar Techtion, Definition, Initialization
• One dimensional Array
• Multi dimensional Array
• Java.util.Arrays
• Comparable Interface
• Comparator Interface
7. Collection API:
• Limitations of arrays.
• Introduction to Collection API
• Introduction of Java.util package
• Different streams of collection API.
List stream
• List overview
• Important members from List stream
o ArrayList
o LinkedList
o Vector
• How to read elements from Collection Object
o Through Regular for loop
o Through Enhanced for loop
o Through toString().
o Through Iterator
o Through ListIterator
• Experimenting all basic operations of Collection objects
• Sorting List elements by using Comparable.
• Sorting List elements by Comparator.
• Experimenting Collections utility class.
• Developing our own Stack by using Linked List
• Developing our own Queue by using Linked List
• Developing our own ArrayList class
• Developing Stack and Queue without using Collection classes.
• Development of different types of LinkedList classes
o Single
o Double
o Circular
• Difference between ArrayList and LinkedList
• Enumeration
Queue stream
• Queue overview
• PriorityQueue
• Usage of Comparator and Comparable in Queue stream.
• BlockingQueue.
• ArrayBlockingQueue
• DelayQueue
• BlockingDeque
• LinkedBlockingDeque
Set stream
• Set overview
• Set uniqueness
• Usage of hashCode() and equals() methods of Object class.
• Hash Bucketing.
• Important members of Set stream
o HashSet
o LinkedHashSet
o TreeSet
o NavigableSet
• Usage of Comparable and Comparator interfaces for TreeSet
Map stream
• Map overview.
• Important members of Map stream
o HashMap
o HashTable
o Properties
o TreeMap
o NavigableMap
o LinkedHashMap
o ConcurrentMap
• Usage of Comparable and Comparator interfaces for TreeMap.
• Developing our own ThreadLocal
• Developing Object Pool Design pattern
• Synchronization, developing our own synchronized collections.
• Fail fast and Fail Safe
• Concurrent package
8. Generics:
• Why Use Generics
• Generic Types
• Raw Types
• Generic Methods
• Bounded Type Parameters
• Generic Methods and Bounded Type Parameters
• Generics, Inheritance, and Subtypes
• Type Inference
• Wildcards
• Upper Bounded Wildcards
• Unbounded Wildcards
• Lower Bounded Wildcards
• Wildcards and Subtyping
• Wildcard Capture and Helper Methods
• Guidelines for Wildcard Use
• Type Erasure
• Erasure of Generic Types
• Erasure of Generic Methods
• Effects of Type Erasure and Bridge Methods
• Non-Reifiable Types
• Restrictions on Generics
9. File handling
• File
• FileReader
• FileWriter
• BufferedReader
• BufferedWriter
• BufferedInputStream
• BufferedOutputStream
• Serialization
• Deserialization
• transient key word.
• Externalization
• DeExternalization
• Java.io.Console
• Customizing S.O.P
• PrintStream
10. JVM architecture/
• Class loader subsystem.
• Runtime data area
• Method area
o Heap
o Java stacks
o PC registers
o Native method stacks
• Execution engine.
11. Design Patterns
• Structural Design Patterns
• Behavioral Design Patterns