Learn to Automate
Core Java Training Course Details
Total Modules: 32
Core Java Basics
Training Video - 1
- Java - What, Where and Why?
- Difference between JDK,JRE and JVM
- Installation of JDK/JRE
- Setting/Verifying JAVA_HOME environment variable
- Verifying java installation from command prompt
- Download and configure eclipse for conding
- Execute Java Program from command prompt
Training Video - 3
Java Data Types, Operators and Arrays
- Primitive variables and sizes
- Casting of primitive data types
- What are wrapper classes?
- Difference between wrapper classes and primitive data types
- Decide where to use primitive data types and where to use wrapper class
- Different operators in Java
- Which operator should be used in which situation
- Equals method and == operator for string
- Operator precedence
- Creating and Using Arrays
- Declare, instantiate, initialize and use a one-dimensional array
- Declare, instantiate, initialize and use multi-dimensional array
Training Video - 4
- Scope of variables
- Global variables
- Local variables
- Instance variables
- How variable scope play thier role in method calling of different classes
Training Video - 2
Loops and Statements-Decision Constructs
- Create and use while loop
- Create and use do-while loop
- Create and use for loops including the enhanced for loop
- Create and use do/while loop
- how and where to use break and continue keyword
- Create if and if/else and ternary constructs
- Create and use switch statement
Object Oriented Programming Concepts
Training Video - 5
- What is Object
- In how many ways objects can be created in java
- Object Reference
- Difference between object and object reference
- Comparing object references
- Creating Objects of pre-defined classes in java
Training Video - 8
- What is inheritance and why do we use this concept in classes?
- Inheritance with classes
- Inheritance with interfaces
- How access modifiers work with inheritance?
- Use of this and super keywords to access objects and constructors.
- Method Overloading-Polymorphism with Inheritance
- Method Overiding-Polymorphism with Inheritance
- Variable Hiding with inheritance
- What is object casting, What makes that we need to caste objects and why a situation happens for cast objects?
- Advantage of doing object casting
- Inheritance and its benefits
- Develop code that demonstrates the use of polymorphism-including overriding and object type versus reference type
Training Video - 11
- What is encapsulation?
- Apply encapsulation principles to a class
Training Video - 6
Static - Non Static Fields/Method/Classes
- What is static?
- What is non Static or Instance?
- When to use static variables?
- How to use and how to define static functions and static global variables
- How to use and how to define non-static functions and non-static variables
- Pass by value and pass by reference with static variables/methods
- Functions returning Object references
- Why is main method static
Training Video - 9
- What do we mean by Interfaces?
- Why are they created and what kind of help do they provide?
- How interfaces resolves the problem of multiple inheritances?
- How interfaces are different from classes and abtract classes?
Training Video - 12
- what are abstract classes and how are they different from interfaces?
- why do we make class abstract?
- How abstract classes are utilized with inheritance?
- What other keywords can we use while implementing Abstraction?
Training Video - 7
- What are constructors and how many times of constructors can be created?
- What kind of help does constructors provide?
- Constructor Overloading and use of default constructor
- Difference between method and a constructor
- Use of this and super keyword while accessing constructors
Training Video - 10
- Compile Time and Run Time Polymorphism : What do we mean by that?
- What help does it provide and why and how are they implemented?
- What is method overloading and method overridding and what do we need to use this concept?
- How objects helps overcome this problem?
Training Video - 13
Object’s life cycle
- What are objects, why do we create them amd what purpose does it solves?
- How dereferencing of objects are being done and what is the concept of garbage collection?
- When is object eligible for garbage collection
- Memory management
- Calling garbage collector
- Calculating memory used/free memory
Access Modifiers, Wrapper Classes and Exception Handling
Training Video - 14
- What do we mean by a package and what help does it provide?
- How to create a package
- Difference between a class and a package
- How to import a package in a class or how to decide what classes are going to come within a package
Training Video - 16
Working with Selected classes from the Java API
- What are Wrapper classes and how are they different from primitive data types?
- How autoboxing and unboxing is done with wrapper classes?
- What are mutable and immutable classes?
- Are wrapper classes and String class a immutable class?
- What purpose or benefits a immutable class gives in comparison to mutable class
- Can we create our own immutable class?
- What is String, StringBuffer and a String Builder class and how are they different from each other?
- Which one should be used - String, Styring Buffer, String Builder and in which scenarios?
Training Video - 17
- What are Exceptions and how is this different from Error Class?
- Why do we need to know about Exception classes?
- How many types of Exception types are there and who can we distinguish them?
- How throw and throws keyword help in handling exceptions?
- How try and catch blocks help in handling Exceptions?
- What are assertions and how is this different from Exception Handling
- Develop code that handles multiple Exception types in a single catch block- latest jdk feature
- Develop code that uses try-with-resources statements - latest jdk feature
- Develop code that uses AutoCloseable interface - latest jdk feature
- Create your own Exception class and use them in a program
- Test invariants by using assertions
- Show where Throwable class fits in the hierarchy
- In the end, show the complete hierarchy of Exception and Error classes for thier better usage within code.
Training Video - 15
- What are access modifiers and how many different types of access modifiers are there?
- How are these access modifiers used, show them with examples?
- Explain the concept of access modifier within package, outside package, with inheritance and without using inheritance
- Explain access modifiers with classes, constructors, variables and interfaces.
- How access modifier play major role in defining some of the design patterns as well?
Date, Time, InstanceOf, Enumeration and Nested Classes
Training Video - 18
Classes from java.date, java.time and java.util packages
- Why java.time package is introduced when we already had java.date and java.sql package with us before jdk1.6
- Which major help has this package provided in date and time reslution in java programming?
- Usage of java.time.LocalDateTime class, java.time.LocalDate and java.time.LocalTime class with examples
- Use of java.time.ZoneId, java.time.ZonedDateTime with examples
- Use of java.time.Instant and java.util.TimeZone class with examples
- Use of java.util.TimeZone, java.time.DayOfWeek and java.time.LocalDateTime class with examples
- Use of java.util.Date, java.util.Calendar, java.util.GregorianCalendar class with examples
- Use of java.time.Period, java.time.Duration, java.time.temporal.TemporalAdjusters class with examples
- Create and manipulate legacy classes like calendar class using classes from java.time.LocalDateTime, java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter and java.time.Period
Training Video - 19
Java Class Design
- What is instanceof keyword and what purpose does it provide in day to day programming
- How instanceof keyword work with casting and how does nullable variables work with instanceof keyword?
- Use virtual method invocation
- What does hashCode, equals, and toString methods from Object do?
- Override the hashCode, equals, and toString methods from Object class to improve the functionality of your class.
Training Video - 20
Advanced Class Design
- Identify when and how to apply abstract classes
- Construct abstract Java classes and subclasses
- Use of final keywords with classes, methods, variables and in interfaces.
- Create top-level and nested classes
- How many different types of nested classes are there and for what purpose are they used for?
- What is enumeration type and show them with examples?
- How is enumeration type different from iterator implemented classes?
Design Patterns, Generics. Comparator and Comparable Interface Implementation
Training Video - 21
Object-Oriented Design Principles
- Write code that declares, implements and/or extends interfaces
- Choose between interface inheritance and class inheritance
- Apply cohesion, low-coupling, IS-A, and HAS-A principles
- Apply object composition principles (including has-a relationships)
- Design a class using a Singleton design pattern
- Write code to implement the Data Access Object (DAO) pattern
- Design and create objects using a factory pattern
Training Video - 22
- What are Generics and when were they really introduced in jdk?
- In which version of jdk were they re-introduced and for which classes/interfaces were they actually designed for?
- What help does the concept of Generics actually provided?
- How generics are being used with classes, interfaces, methods, constructors and anonymous classes?
- Where all generics cannot be used in Java
- Show this with examples?
- What are wildcards in generics?
- What is unbouned
- What is Unbounded wildcard parameterized type in java?
- What are lower bound and upper bounded wildcard parameterized types in Generics?
- What is typer inference and what is the use of diamond operator or angular bracket for type inference?
- Analyze the interoperability of collections that use raw types and generic types?
- Use wrapper classes, autoboxing and unboxing with generics?
Lambda Expressions and String Processing
Training Video - 23
- What are lamdba expressions and how are they different from lets say regular expressions in java
- What are the rules that we need to follow to use Lambda expressions for ex. with zero paramters or with one parameter etc.
- What are functional Interfaces and what are Anonymous classes in Java?
- How is function body defined while using lambda expressions?
- What are the important characteristics of using Lambda Expressions
- Thread Implementation with Lambdas
- Callable Interface implementation using lambdas
- How to use Lamdba using forEach statement
- WHat is method reference and how it is used with lambdas
- How to sort using lambdas
- How to synchronize using lambdas
- How to serialize using lambdas
Training Video - 24
- Search, parse and build strings (including Scanner, StringTokenizer, StringBuilder, String and Formatter)
- Search, parse, and replace strings by using regular expressions, using expression patterns for matching limited to: . (dot), * (star), + (plus), ?, \d, \D, \s, \S, \w, \W, \b. \B, , ().
- Format strings using the formatting parameters: %b, %c, %d, %f, and %s in format strings.
Collections, Data Structures and Algorithms
Training Video - 25
- Use of List implemented classes(ArrayList, Vector, Stack, LinkedList classes) with examples and differences between them.
- Difference between Array and ArrayList or Vector and ArrayList with examples and conversion of Array or Vector to Arraylist or linked lst with examples
- Use of Set interface implemented classes(HashSet, TreeSet, LinkedHashSet classes) with examples and differences between them.
- Difference between HashSet and TreeSet or difference btween List implemented classes and Set implemented classes with examples.
- Use of Map implemented classes(HashMap, HashTable, LinkedHashMap and TreeMap classes) with examples and differences between them.
- Difference between ArrayList and hashMap with examples and how to synchronize, sort and serialize HashMaps
- Difference between list and set implemented classes with map implemented classes.
- Explain Array and LinkedList representation of Queues.
- Explain how sort, search, traversal, insertion, removal happens within list, set and map implemented classes
- Explain how single linked list and doubly linked list differs from each other with examples
Training Video - 26
Data Structures and Algorithms
- Explain Bubble Sort data structure and the algorithm involved behind it with examples
- Explain Deque data structure and the algorithm involved behind it with examples
- Explain Insertion Sort data structure and the algorithm involved behind it with examples
- Explain Quick Sort data structure and the algorithm involved behind it with examples
- Explain Merge Sort data structure and the algorithm involved behind it with examples
- Explain Selection Sort data structure and the algorithm involved behind it with examples
- Explain Stacks data structure and the algorithm involved behind it with examples
Java I/O Fundamentals with latest NIO concepts
Training Video - 27
Java I/O Fundamentals - Part A
- Read and write data from the console using System.in class
- Usage of readers amd writers to read and write data to files using classes from java.io package(BufferedReader and BufferedWriter class)
- Usage of streams to read and write data to files using classes from java.io package(DataInputStream, DataOutputStream, ObjectInputStream, ObjectOutputStream and PrintWriter classes)
- Why File, FileReader, FileWriter objects are necessary for all I/O connections and how these API's are used with other classes?
- What kind of exception can these classes throw and how to handle them?
- What were the problems with the above classes and how new JAVA.NIO paackage resolves in terms of java filing.
Training Video - 28
Java I/O Fundamentals - Part B
- How file and directory paths are assigned using Path class in java filing code.
- How to verify, delete, copy or move files or directories with the help of Files class.
- Read, change file and directory attributes, focusing on the BasicFileAttributes, DosFileAttributes, and PosixFileAttributes interfaces.
- Recursively access a directory tree using the DirectoryStream and FileVisitor interfaces.
- Find file on servers using PathMatcher interface and what all attributes this API provides?
- Watch a directory for changes with the WatchService interface - what kinds of benefit does it provide?
- What kind of exceptions can the classes from java.NIO package throw and how to handle them?
Training Video - 29
MULTI THREADING - PART A
- How to create threads using Thread class and how to use those created threads using start and run method
- How to create threads using Runnable Interface and how to use those created threads using start and run method
- What is the difference between thread created using Thread class and Runnable Interface and which one should be preferred?
- How to manage and control thread lifecycle
- Explain Join method with threads with examples
- What is synchronize keyword, how should we use this and what kinds of benefit does it provide?
- What is synchronize block and how is it different from sychronized method?
- What does Executor and ExecutorService Interface do and what kind of benefit does it provide?
- What all methods does Executor and Executor Service method provides and what does those methods provide for multi threaded application?
- What is the default method of Executor and Executor Service interface that needs to be implemented?
- What do we mean by Callable and Future interface and how does these interfaces help in multi threaded application?
- Explain different methods of Callable and Future interface that are extensively used with Executor and Executor Service interface?
- What does ScheduledExecutorService do and how is it different from Executor and ExecutorService interfaces?
- Explain different methods of ScheduledExecutorService interface that work with multi threaded application?
- Explain invokeAll method with Callable, Future and ExecutorService interfaces with examples?
- Explain invokeAny method with Callable, Future and ExecutorService interfaces with examples?
Training Video - 30
MULTI THREADING - PART B
- Explain Fork Pool Join Interface and what does this mean, how does this interace help in multi threaded application?
- What are Locks and what kind of work do they do for multi threaded application?
- What is Lock Interface and what kinds of methods does this provide and what do these methods do with examples?
- What is ReentrantLock lock interface and what kind of methods does this interface provide, explain them with examples?
- What is ReentrantReadWriteLock lock interface and what kind of methods does this interface provide, explain them with examples?
- What is StampedLock lock interface and what kind of methods does this interface provide, explain them with examples?
- What is Semaphore class in multi threaded application and what kind of methods does this interface provide, explain them with examples?
Training Video - 31
- What is the purpose of defining Locale object or what help does this Locale object provide to the application or business requirements?
- Explain different ways of creating Locale object and how each one is different from one another and which one way is most preferrable?
- Explain the need of creating different properties files for specifying different Locale information on application?
- Mention where Locale specific property files should be placed within the project?
- What is ResourceBundle API and what help does it provide?
- Explain getISOCountries method of Locale class that tells how to gather Locale information for each country?
- Explain Builder, setLanguage, setRegion and build method do for Locale objects and what help does it provide?
- Explain forLanguageTag method for Locale object with examples?
- Explain getDefault, getAvailableLocales, getDisplayName, getLanguage, getDisplayLanguage, getCountry, getDisplayCountry, getScript, getDisplayScript, getVariant and getDisplayVariant method of Locale class
- Format dates, numbers, and currency values for localization with the NumberFormat and DateFormat classes (including number format patterns).
- Explain getInstance, getCurrencyInstance
- Explain Currency class, getInstance, getDisplayName, getCurrencyCode methods of Currency class.
- Explain DateFormat, getDateInstance, NumberFormat, getInstance methods and class and its relation with Locale class.
Training Video - 32
Understanding JDBC/Building Database Applications with JDBC
- Explain how many different types of connections can Java based application create with database?
- Explain does the databases like MongoDB, DB2, Oracel, SQL+ matter in relation to the Java-DB connectivity?
- Explain what kind of benefirts does JDBC connection do for the java based application?
- Explain what class.forName API does for java-jdbc connection and till what version of jdk do we need to configure connectivity using this API?
- Describe the interfaces that make up the core of the JDBC API (including the Driver, Connection, Statement, and ResultSet interfaces and their relationship to provider implementations)
- Identify the components required to connect to a database using the DriverManager class (including the jdbc URL)
- Submit queries and read results from the database (including creating statements, returning result sets, iterating through the results, and properly closing result sets, statements, and connections)
- Construct and use RowSet objects using the RowSetProvider class and the RowSetFactory interface
- Explain all the new API's, the latest releases of jdk has provided in relation to JDBC-ODBC connectivity?
- Explain what interfaces like Statement, PreparedStatement and CallableStatement does and show thier usage with examples?
- Explain what does arguments like TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE, TYPE_FORWARD_ONLY, CONCUR_READ_ONLY, CONCUR_UPDATABLE, CLOSE_CURSORS_AT_COMMIT, HOLD_CURSORS_OVER_COMMIT etc. with DatabaseMetaData, getMetaData and supportsResultSetType methods help while creating resultset object and explain them with examples?
- Explain the flaws of ResultSet interface which RowSet has resolved, which one is more preferrable and why?
- Explain what is exactly connected and disconnected rowset means and how five kinds of RowSet actually differentiate from each other?
- Explain JdbcRowSet,JdbcRowSetTest resultset type with JdbcRowSetImpl with methods like last, updateRow, moveToInsertRow, deleteRow, beforeFirst etc.
- Explain RowSetFactory, JdbcRowSet, createJdbcRowSet and thier respective methods with examples?
- Use JDBC transactions (including disabling auto-commit mode, committing and rolling back transactions, and setting and rolling back to savepoints)
- Explain CachedRowSet rowset with examples?
- Explain JoinRowSet, RowSetProvider.newFactory method with examples/li>
- Explain CachedRowSet rowset, RowSetProvider.newFactory methods with examples
- Explain WebRowSet rowset, WebRowSetImpl do with examples?
- Explain classes like CachedRowSet rowset, CachedRowSetImpl, WebRowSetImpl and methods like moveToCurrentRow methods do with examples?
- Explain what help does FilteredRowSet interface provide and show them with exampls