<h3>Introduction to Java</h3>
<p>Introduction to Java Virtual Machine</p>
<p>An Overview of Java and Buzzwords</p>
<p>Java Classes and OOP Implementation</p>
<p>Packages and Interfaces</p>
<p>Exception Handling</p>
<p>String Handling</p>
<p>New in Jdk 5/6</p>
<p>New in Jdk 7/8</p>
<p>Collection Framework</p>
<p>System Properties & Internationalization</p>
<p>Multithreading and Concurrency API</p>
<p>I/O Streams</p>
<p>Reflection Api</p>
<ul>
<li>Understanding Requirement: Why Java?</li>
<li>Why Java is important to the Internet?</li>
<li>Securities walls in Java.</li>
<li>Java on Windows/Linux platform.</li>
<li>Why Java on top in industry.</li>
<li>Java Virtual Machine Architecture.</li>
<li>Class loading process by Class loaders.</li>
<li>Bootstrap Loader.</li>
<li>Extension Loader.</li>
<li>System Loader.</li>
<li>Relationship between loaders.</li>
<li>Role of just in Time Compiler (JIT).</li>
<li>Execution Engine.</li>
<li>Data Types, Variables and Arrays.</li>
<li>Operators</li>
<li>Control Statements.</li>
<li>Object Oriented Paradigms.</li>
<li>Abstraction</li>
<li>The Four OOP Principles: (Encapsulations, Inheritance, and Polymorphism).</li>
<li>CLASS Fundamentals.</li>
<li>Command Line Arguments.</li>
<li>Learning Static Initializer.</li>
<li>Declaration of Objects.</li>
<li>Instance Variable Hiding.</li>
<li>Overloading and Overriding of Methods.</li>
<li>Up casting.</li>
<li>Down casting.</li>
<li>Understanding of Access Controls: Private public and protected.</li>
<li>Learning Nested and Inner Classes.</li>
<li>Dynamic Method Dispatching.</li>
<li>Using Abstract Classes.</li>
<li>Using Final to Prevent Overriding & Inheritance.</li>
<li>Garbage Collection.</li>
<li>Defining a Package.</li>
<li>Understanding CLASSPATH.</li>
<li>Importing Packages.</li>
<li>Access protection.</li>
<li>Defining and Implementing an Interface.</li>
<li>Abstract Classes vs. Interfaces.</li>
<li>Adapter Classes.</li>
<li>Anonymous Classes.</li>
<li>Fundamentals of Exception Handling.</li>
<li>Types of Exceptions.</li>
<li>Learning Exceptions Handlers.</li>
<li>Try and Catch.</li>
<li>Multiple Catch Clauses.</li>
<li>Nested Try Statements.</li>
<li>Throw, Throws and Finally.</li>
<li>Creating Custom Exceptions.</li>
<li>Assertions</li>
<li>Learning String Operations</li>
<li>Learning Character Extractions</li>
<li>Learning String Comparisons</li>
<li>Understanding of String Buffer Class</li>
<li>String Builder Class</li>
<li>String versus String Buffer.</li>
<li>Special methods of String and String Buffer.</li>
<li>What to choose between String and String Buffer.</li>
<li>Premain, Method, Object size.</li>
<li>Autoboxing, Unboxing.</li>
<li>Java Compiler API.</li>
<li>Generics</li>
<li>Annotations</li>
<li>Vargs</li>
<li>Static-Import.</li>
<li>ENUM</li>
<li>Switch with String</li>
<li>Multi Catch</li>
<li>Try with Resources</li>
<li>Type Inference</li>
<li>Numeric Literals</li>
<li>Lambda Expression</li>
<li>Functional Interfaces</li>
<li>Method References</li>
<li>Stream Filter</li>
<li>Default Methods</li>
<li>forEach method</li>
<li>StringJoiner</li>
<li>Optional class</li>
<li>The Collection Interfaces (List, Set, SortedSet)</li>
<li>The Collection Classes (ArrayList, LinkedList, HashSet, TreeSet)</li>
<li>Differences b/w HashSet, HashMap and HashTable.</li>
<li>Differences between other Collection Classes.</li>
<li>Accessing a Collection via an Iterator.</li>
<li>Working with Maps.</li>
<li>Working with Comparators, Comparable.</li>
<li>The Legacy Classes and Interfaces (Enumeration, Vector, Stack, Dictionary, Hashtable).</li>
<li>Difference b/w Non Legacy and Legacy Interfaces and Classes.</li>
<li>Date and Time Handling.</li>
<li>Usage of Property File.</li>
<li>Define the Locale.</li>
<li>Defining multiple types of locale using multiple property files.</li>
<li>Resource Bundle.</li>
<li>Fetching text from Resource Bundle</li>
<li>Java Thread Model.</li>
<li>Lifecycle of a Thread.</li>
<li>Creating a Thread: Extending Thread.</li>
<li>Implementing Runnable.</li>
<li>Creating Multiple Threads and Context Switching.</li>
<li>Synchronization: Methods and Statements.</li>
<li>Inter-thread Communication.</li>
<li>Thread Local.</li>
<li>Dead Lock.</li>
<li>Executor Framework.</li>
<li>Shutdown Hookup and Re-entrant Locking.</li>
<li>Cyclic Barrier and CountDownLatch</li>
<li>File Handling.</li>
<li>Binary Systems.</li>
<li>Character Streams.</li>
<li>Serialization</li>
<li>Scanner</li>
<li>Stream Tokenizer.</li>
<li>String Tokenizer.</li>
<li>GzipOutputStream Class.</li>
<li>Data Encryption & Decryption.</li>
<li>Determining the Class of an Object</li>
<li>Getting Information about Class’s modifiers, fields, methods, constructors and super classes</li>
<li>Finding out constant and method declaration belong to an interface</li>
<li>Creating an instance of a class whose name is not known until runtime</li>
<li>Greeting and setting value of an object’s field if field name is unknown until runtime</li>
<li>Invoking a method on an object if the method is unknown until runtime</li>
<li>Creating a new array whose size and component type are not known until runtime</li>
</ul>