# Core Java - Course Contents 1 Introduction to Java JDK /JRE - Language Features Basics of Java Syntax main() method syntax Data types Operators Operator precendence 2 Control Statements if-else - syntax and application switch-case - syntax and application for-each - syntax and application for - syntax and application while - syntax and application do-while - syntax and application When to use which loop 3 Arrays to Java Fundamentals about Arrays Array Access and Iterations Multi-dimentional Arrays Problem solving with Arrays 4 Object Oriented Programming - Part - 1 Class Fundamentals Difference between types of Identifiers Using Objects Encapsulation 5 Text Processing String Class String Contatination Text Processing methods length(), indexOf(),substring(),charAt(),toLowerCase(),toUpperCase(),trim(),split() 6 Fundamental java.lang Classes Numeric - Classes - Integer, Short, Float, Double, Long Text/Number conversion methods Byte and Boolean Auto Boxing Math class with its utility methods 7 Object Oriented Programming - Part - 2 Inheritance Method Overloading Method Overriding Object Class Internals Overiding toString() & equals() methods Scope 8 Object Oriented Programming - Part - 3 Abstract Class and usages of abstract keyword Understanding Interface Using Interfaces Polymorphism Enums 9 Static Keyword and its usage Non-Static Init Blocks Static Init Blocks Static fields Static methods Static classes 10 Nested Classes Non-static Inner Classes Static Inner Classes Local Classes Anonymous Inner Classses 11 Final Keyword and its usage Final fields Final methods Final Classes Common Errors with final usages 12 GC Constructors and finalize method Garbage Collection Understanding the internals of String, StringBuilder Class Understanding the Memory Implications/Overheads of String concatenation 13 System class Demystified Understanding System Class Truths about println method Working with System Time in Milli and Nano seconds System class internals 14 Data Structures - Part - 1 Fundamentals of DataStructures Collection Hierarchy Collection Root Interface Introduction to Interfaces in collection framework(Set, List, Queue, Map) Usages of Iterable & Iterator 15 Data Structures - Part - 2 Understanding internals of List interface ArrayList - methods and usage Vector and Stack LinkedList When to use Arrays and ArrayLists 16 Data Structures - Part - 3 Understanding HashCode Understanding Map Interface Internals of HashMap implementation TreeMap LinkedHashmap 17 Data Structures - Part - 4 Dictionay and Hashtable Properties 18 Data Structures - Part - 5 Understanding Set interface HashSet and its usages TreeSet and its usages LinkedHashSet and its usages 19 Utility Classes Date, DateFormat, Calendar Random-number-generator Understanding Utility classes like Understanding sort and search methods in Arrays, Collections 20 Generics - Part - 1 Introduction to Generics Generics in Collections Framework Correct Usage of Generics 21 Generics - Part - 2 Writing Custom Generic Class Bounded Generics Wild Card Generics 22 Exception Handling - Part - 1 Exception classes & their Hierarchy Exception Types Usage of try, catch and finally try-with-resources 23 Exception Handling - Part - 2 Avoidable mistakes with try-catch-finally Usage of throw, throws Writing User defined Exceptions 24 Multi-Threading Multitasking & Multiprocessing Understanding Threads & its States Thread Synchronization Thread class, Runnable Interface 25 IO (Input/Output) - File Handling File class and Path class File Copying/Moving IO hierarchy & their design Byte Streams Character Streams(Readers and Writers) Filter Streams StringWriter & ByteArrayOutputStream Object Streams 26 Annotations Introduction to Annotations 27 Assertions Introduction to Assertions The complete course includes extensive coding and practice exercises.