/java-core-java-notes

self written core java notes (topic wise)

Self Written Core Java Notes

Chapter 1 : Introduction to Language Fundamentals
Chapter 2 : Opreators and Assignments
Chapter 3 : Flow Control
Chapter 4 : Declaration & Access Modifiers
Chapter 5 : OOPs Concepts
Chapter 6 : Exception Handling
Chapter 7 : Collection
Chapter 8 : java.lang Package
Chapter 9 : Multithreading
Chapter 10 : Multithreading Enhancement
Chapter 11 : JVM Architecture
Chapter 12 : Inner Classes
Chapter 13 : File IO
Chapter 14 : Serialization
Chapter 15 : Generics
Chapter 16 : Assertion
Chapter 17 : Development
Chapter 18 : Garbage Collection
Chapter 19 : Enumeration
Chapter 20 : Internationalization (I18N)
Chapter 21 : Regular Expression
Chapter 22 : Concurrent Collections

Contents

Chapter 1 : Introduction to Language Fundamentals
  • Identifiers & Reserve Keywords
  • Data Types
  • Literals
  • Arrays
  • main() method
  • Command Line Arguments
  • Coding Standards
Chapter 2 : Opreators and Assignments
  • Increment & Decrement Operator
  • Arithmetic Operators
  • String Concatenation Operator
  • Relational Operators
  • Equality Operators
  • instanceOf Operator
  • Bitwise Operators
  • Short Circuit Operator
  • Type Cast Operator
  • Assignment Operator
  • Conditional Operator
  • new Operator
  • [] Operator
  • Operator Precedence
  • Evaluation order of Operands
  • new vs newInstance
  • instanceof vs isInstance()
  • ClassNotFoundException vs NoClassDefFoundError
Chapter 3 : Flow Control
  • if-else Statement
  • switch Statement
  • while loop
  • for loop
  • for-each loop / Enhanced for loop
  • break
  • continue
Chapter 4 : Declaration & Access Modifiers
  • Java source file structure
  • Class Level Modifiers
  • Member Level Modifiers
  • Interfaces
Chapter 5 : OOPs Concepts
  • Data Hiding
  • Abstraction
  • Excapsulation
  • Tightly Excapsulation class
  • IS-A Relationship
  • Has-A Relationship
  • Method Signature
  • Overloading
  • Overriding
  • Static control flow
  • Instance control flow
  • Constructor
  • Coupling
  • Cohesion
  • Type-Casting
  • Singleton Class
Chapter 6 : Exception Handling
  • Introduction
  • Runtime Stack Mechanism
  • Default exception handling in java
  • Exception class hierarchy
  • Customized exception handling using try-catch
  • Control flow in try-catch
  • Methods to print exception information
  • try with mutiple catch blocks
  • finally block
  • Difference between final,finally,finalize
  • Control flow in try-catch-finally
  • Control flow in nested try-catch-finally
  • Various possible combinations of try-catch-finally
  • throw keyword
  • throws keyword
  • Exception handling keyword summary
  • Various possible compile-time errors in exception handling
  • Customized (or) User-defined exceptions
  • Top-10 exceptions
  • Java 1.7 Enhancements
    • try-with resources
    • multi-catch block
Chapter 7 : Collection
  • Limitations of Array
  • Differences : Array vs Collection
  • Collection & Collection Framework
  • 9 Key interfaces of Collection Framework
  • Collection(I)
  • List(I)
    • ArrayList
    • LinkedList
    • Vector
    • Stack
  • 3 Cursors of Java
    • Enumerarion
    • Iterator
    • ListIterator
  • Set(I)
    • HashSet
    • LinkedHashSet
    • SortedSet
    • TreeSet
  • Comparable
  • Comparator
  • Map(I)
    • HashMap
    • LinkedHashMap
    • IdentityHashMap
    • WeakHashMap
    • SortedMap
    • TreeMap
    • Hashtable
    • Properties
  • Queue(I)
    • PriorityQueue
  • NavigableSet
  • NavigableMap
  • Collections - Utility Class 1
  • Arrays - Utility Class 2
Chapter 8 : java.lang Package
  • Introduction to java.lang package
  • Object Class
  • String Class
  • StringBuffer Class
  • StringBuilder Class
  • Wrapper Class
  • Autoboxing & Autounboxing
Chapter 9 : Multithreading
  • Introduction to Multithreading
  • Ways to define a Thread
    • By extending Thread Class
    • By implementing Runnable Interface
  • Getting & Setting a name of Thread
  • Thread Priorities
  • Methods to prevent Thread execution
    • yield()
    • join()
    • sleep()
  • Synchronization
  • Inter-Thread Communication
  • Deadlock
  • Daemon Threads
Chapter 10 : Multithreading Enhancement
  • ThreadGroup Class
  • java.util.concurrent package
    • Lock (Interface)
Chapter 11 : JVM Architecture
  • Virtual Machine
  • Types of Virtual Machine
    • Hardware based VM
    • Application based VM
  • Basic Architecture of VM
  • Class Loader Subsystem
    • Loading
    • Linking
    • Initialization
  • Types of Classloaders
    • Bootstrap CL
    • Extension CL
    • Application CL
  • How classloaders work
  • Need of customized classloader
  • Psuedo code of customized classloader
  • Memory Aread of JVM
    • Method Area
    • Heap Area
    • Stack Area
    • PC registers
    • Native method stacks
  • Program to display head memory stats
  • How to set Min & Max head size
  • Execution Engine
    • Interpreter
    • JIT Compiler
  • Java Native Interface (JNI)
  • Complete Architecture Diagram of JVM
  • Class file structure
Chapter 12 : Inner Classes
  • Introduction to Inner Class
  • Normal/Regular Inner Class
  • Method Local Inner Class
  • Anonymous Inner Class
    • Normal Java Class vs Anonymous Inner Class
    • Where Anonymous Inner Class are best suitable
  • Static Nested Class
Chapter 13 : File IO
  • File
  • FileWriter
  • FileReader
  • BufferedWriter
  • BufferedReader
  • PrintWriter
Chapter 14 : Serialization
  • Introduction
  • Object Graph in Serialization
  • Customized Serialization
  • Serialization w.r.t Inheritance
  • Externalization
  • SerialversionUID
Chapter 15 : Generics
  • Introduction
  • Generic Classes
  • Bounded Types
  • Generics methods & Wild-card Character (?)
  • Communication with non-generic code
  • Conclusions
Chapter 16 : Assertion
  • Introduction of Assertion
  • "assert" as a keyword & identifier
  • Types of assert statement
  • Various possible runtime flags
  • Appropriate & Inappropriate use of assertions
  • AssertionError
Chapter 17 : Development
  • javac command
  • java command
  • classpath settings
  • JAR files
  • System Properties
  • JAR vs WAR vs EAR
  • Web Application vs Enterprise Application
  • Web Server vs Application Server
  • How to create executable JAR file?
  • Ways to run java program
  • classpath vs path
  • JDK vs JRE vs JVM
  • java vs javaw vs javaws
Chapter 18 : Garbage Collection
  • Introduction
  • Ways to make an object eligible to GC
  • Methods for requesting JVM to run GC
  • Finzalization
Chapter 19 : Enumeration
  • Introduction
  • Internal Implementation of enum
  • enum declaration & usage
  • enum vs switch
  • enum vs inheritance
  • java.lang.Enum
  • ordinal() method
  • Speciality of java enum
  • enum vs constructor
  • enum vs Enum vs Enumeration
Chapter 20 : Internationalization (I18N)
  • Introduction
  • Locale
  • NumberFormat
  • DateFormat
Chapter 21 : Regular Expression
  • Introduction
  • Pattern
  • Matcher
  • Character Classes
  • Predefined Character Classes
  • Quantifiers
  • Pattern class split() method
  • String Tokenizer
Chapter 22 : Concurrent Collections

  • ConcurrentHashMap
  • CopyOnWriteArrayList
  • CopyOnWriteArraySet

(Credits : Notes are prepared by watching Durga sir's videos from DurgaSoft)