The java course provides exhaustive material to study java programming in detail. The programs (java code)are also provided as resources material. A student can use these programs as reference and learn by going through them. The course not just covers basic topics of java but also several advanced topics. This course will benefit those who are doing programming for first time and also to those who have done some (/limited programming) in other languages like C/C++. Even those who have done programming using python, javascript will also benefit. An IDE(Integrated Development Environment)is used for executing programs. The programs are explained by putting breakpoints/ print statements with preferably line-by-line walk through. Those who have done just core java (Object Oriented Programming, Encapsulation, Inheritance, Polymorphism, Late Binding of Functions, Classes & Objects, Access Control of Class Members, Constructors, Method Overloading, Inheritance, super and final, Runtime Polymorphism, Abstract classes & Methods, Interfaces & their Implementation, Packages, Static Data & Functions, Exception Handling, Types of Exceptions, Use of try catch block, Handling multiple exceptions, finally, throw & throws clause, User defined exceptions, Wrapper classes, Autoboxing) will also benefit by studying advanced topics ( Generics, Strings, Collections, ArrayList, LinkedList, HashSet, TreeSet, HashMap, HashTable, TreeMap, Vector, Lambda Expressions, Using Lambda Expression with Collections (Datastructures), Streams, Byte and Character Streams, File Handling, Multi-threading, Implementing Runnable Interface, Thread States, Thread Priorities, Inter-Thread Communication, NIO- New IO Support, Servlets, JDBC, Interaction with MySQL). Following topics are part of the course: JavaObject Oriented ProgrammingEncapsulation, Inheritance, PolymorphismLate Binding of FunctionsClasses & ObjectsAccess Control of Class MembersConstructorsMethod OverloadingInheritancesuper and finalRuntime PolymorphismAbstract classes & MethodsInterfaces & their ImplementationPackagesStatic Data & FunctionsException HandlingTypes of ExceptionsUse of try catch blockHandling multiple exceptionsfinally, throw & throws clauseUser defined exceptionsWrapper classesAutoboxingAdvanced JavaGenericsStringsCollectionsArrayList, LinkedList, HashSet, TreeSet, HashMapHashTableTreeMapVectorLambda ExpressionsUsing Lambda Expression with Collections (Datastructures)StreamsByte and Character StreamsFile HandlingMulti-threadingImplementing Runnable InterfaceThread StatesThread PrioritiesInter-Thread CommunicationNIO- New IO SupportServletsJDBCInteraction with MySQL