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 print (/break points) statements with preferably line-by-line walk through. Those who have done just core java will also benefit by studying New Features along with advanced topics. Following topics are part of the course: New Features (8/9 - 17)Type Inference, local variablesReference Type variablesJShellJShell, BasicsJShell, MethodsJShell, ClassJShell, Builtin VariablesJShell, Import and other commandsLambda Expression Lambda Expression, Functional InterfacesLambda Expression, Single ExpressionLambda Expression, Block ExpressionGenerics with Lambda ExpressionCollections with Lambda ExpressionLambda Expression, Method referenceLambda Expression, Instance MethodLambda Expression, Generic MethodModulesModules, Requires, ExportModules, Implied DependencyModules, Legacy SupportNew HTTPClientNew HTTP Client, programmingNew HTTP Client, Asynchronous GetNew HTTP Client, Asynchronous Multiple GetNew HTTP Client, Synchronous GetNew HTTP Client, Synchronous PostNew HTTP Client, AuthenticatorStream APIStream API, Serial and Parallel Stream CreationStream API, Parallel Stream ReduceStream API, Parallel Stream Map Reduce FilterStream API, Parallel Stream to CollectionStream API, Spliterator, IteratorString, Pattern Switch User defined Type, Pattern SwitchSerializationSerialization, File usageSerialization, Object serialization, Custom Filter-PatternSerialization, Custom Filter as ClassSerialization, Context FilterRecord Record classesSealed ClassesSealed, sealed, un-sealed, permitsSealed Classes, ProgramSealed Classes, ReflectionJavaObject 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 JavaGenericsStringsByte and Character StreamsFile HandlingMulti-threadingImplementing Runnable InterfaceThread StatesThread PrioritiesInter-Thread CommunicationNIO- New IO Support