Home Courses Instructor Labs

Complete Guide : Java Programming

(1026 Ratings) 4178 Students Enrolled
Created By Prabhu Y Last Updated Tue, 14-Jan-2020 English
  • Course Duration
    18 Hours
  • Mode of Training
    Self-Paced
  • Lessons
    377 Lessons
  • Placement Assistance
    Guaranteed
$ 199.99 $ 19.99 90% off 100% Money Back Guarantee
12k+ satisfied learners Read Reviews
What Will I Learn?
  • Core Java Complete Guide
  • Object Oriented Concepts Explained in Detail
  • Fundamentals of Java concepts
  • Learn the basics of Java Programming
  • Understand the internal of Java Virtual Machine
  • Write the Multithreaded Programs
  • Read and Write Files
  • Most commonly asked Java Interview Questions
  • Features of Java 9, Java 10 and Java 11
  • Debugging Fundamentals

Requirements
  • Basic Computer Knowledge
  • Programming Knowledge (optional)
+ View More
Description

This is a Complete Guide for one who wants to learn Java and become a Java Developer, one who wants to become Test Automation Engineer who requires Java to write the Automation JavaScripts and for the one who wants to fill their gaps and become the master with the Language.

The following are the topics covered in the course:

  • Object Oriented Concepts are explained in detail
  • Java Installation and Eclipse IDE
  • Static and Non-Static members and their execution control flow
  • Fundamentals of Data types in Java
  • Conditionl Statements and Control Flow Statements
  • Usage of Packages
  • Implement Inheritance, Abstraction, Polymorphism and Encapsulation
  • Interfaces and its uses
  • Abstract classes and Interfaces to implement Abstraction
  • Multithreads
  • Exception blocks
  • Read and write Files using I/O Streams API
  • Understand and use Java Collection Class
  • Learn Java 9, Java 10 and Java 11 Features¬†
  • Internals of JVM
Curriculum For This Course
377 Lessons 18 Hours
  • Java Development Kit 00:02:49 Preview
  • Java Platform Independency 00:01:37
  • Introduction to OOPS 00:02:52 Preview
  • Basic OOPS Principles 00:00:45 Preview
  • Encapsulation 00:01:15
  • Inheritance 00:02:54
  • Abstraction 00:02:05
  • Polymorphism 00:01:06
  • Building Blocks of a Java Program 00:02:47
  • Methods 00:02:10
  • Installing Java 00:02:09
  • Installing Eclipse 00:02:09
  • Configuring JDK in eclipse 00:02:47
  • Downloading the completed projects 00:01:49
  • Download the assignment solutions 00:00:56
  • Create a Hello World Program 00:03:15
  • Hello World Explained 00:02:18 Preview
  • Static and Non Static Contexts 00:01:43
  • Static Blocks 00:02:34
  • Static Methods 00:03:44
  • Static Variables 00:01:54
  • Non Static Members 00:01:16
  • Create Non Static Variables Blocks and Constructor 00:04:30
  • Static vs Non Static Blocks 00:02:05
  • Default Constructor 00:01:59
  • Create a object reference 00:02:19
  • Create object reference in a static block 00:01:16
  • Create a static reference directly 00:01:38
  • The this Keyword 00:03:17
  • Create a reference in a static method 00:02:56
  • Invoking a non static method 00:01:35
  • Static vs Non Static a Summary 00:01:24
  • Data Type Introduction 00:03:23 Preview
  • Data Type In Action 00:04:51
  • Type Casting 00:01:35
  • Implicit Type Casting 00:02:16
  • Explicit Type Casting In Action 00:02:54
  • Explicit Type Casting In Action Beyond Range 00:03:27
  • Wrapper Classes Introduction 00:01:23
  • Primitives and Objects 00:02:44
  • Primitives and String 00:02:09
  • String and Objects 00:02:56
  • Wrapper Type Constructors 00:01:54
  • Wrap up the wrapper types 00:03:05
  • Command Line Arguments 00:04:58
  • Increment and Decrement Operators 00:04:05
  • Arithmetic Operators 00:02:19
  • String Concatenation Operator 00:04:10
  • Relational Operators 00:02:58
  • Bitwise Operators 00:05:23
  • Short Circuit Operators 00:03:22
  • Assignment Operator 00:02:25
  • Ternary Operator 00:02:24
  • Flow Control Statements Introduction 00:01:07
  • IF-ELSE 00:04:52
  • Switch 00:03:52
  • Switch Fall Through 00:01:36
  • While 00:02:37
  • Do-While 00:01:41
  • For Loop 00:02:49
  • Break 00:01:06
  • Labelled Blocks and Break 00:02:26
  • Continue 00:02:16
  • Introduction 00:03:12
  • private 00:03:48
  • default 00:02:19
  • protected 00:03:19
  • Packages Introduction 00:03:57 Preview
  • Importing Packages 00:05:23
  • Using classes with the same name 00:03:00
  • Sub Packages 00:03:35
  • Java Lang Package 00:01:41
  • Naming the packages 00:02:22
  • Importing and Using In Built Classes 00:05:24
  • Introduction 00:02:11
  • Create the Project and Package 00:02:20
  • Create the classes 00:04:53
  • Instantiate Organizer and Event 00:03:34
  • Create and use parameterized constructors 00:02:17
  • Single Inheritance 00:02:57
  • Multi Level Inheritance 00:03:07
  • Inheritance and Memory Allocation 00:01:41
  • Multi Level Inheritance and Constructors 00:04:00
  • Hierarchical Inheritance 00:02:07
  • Method Overriding 00:03:39
  • super Keyword 00:04:16
  • super Method 00:05:53
  • Constructor Chaining 00:07:47
  • Applying Inheritance to the Event Management Application 00:02:20
  • Introduction 00:02:00
  • Create an abstract class 00:02:23
  • Main method in a abstract class 00:00:58
  • Extending an abstract class 00:04:39
  • Abstract and Other Modifiers 00:03:46
  • Create an interface 00:04:22
  • Interfaces vs Abstract Classes - A Summary 00:01:39
  • Final Classes and Variables 00:04:22
  • Final Methods 00:02:51
  • Marker Interfaces 00:01:19
  • Introduction 00:00:50
  • Compile Time Polymorphism Introduction 00:00:57
  • Compile Time Polymorphism In Action 00:04:27
  • Runtime Polymorphism 00:01:46
  • Runtime Polymorphism In Action 00:05:08
  • Interfaces 00:03:43
  • Using Interfaces 00:02:14
  • Object Casting 00:04:06
  • Introduction 00:01:16
  • Encapsulated Class 00:04:54
  • Advantages 00:01:59
  • Encapsulate the Event Management Application 00:04:02
  • Abstraction in Event Management Usecase 00:04:29
  • Runtime Polymorphism in Action 00:02:59
  • Exception Handling Introduction 00:02:52
  • Exception while dividing numbers 00:03:49
  • Exception while parsing a String 00:01:26
  • ArrayIndexOutOfBoundException 00:02:41
  • NullPointerException 00:02:03
  • Exception Class Hierarchy and Handling 00:04:43
  • Handling Exceptions 00:04:18
  • Multiple Catch Blocks 00:05:32
  • Exceptions and Inheritance 00:02:21
  • Handling Checked Exceptions 00:03:42
  • Using a finally block 00:03:43
  • Using a throws keyword 00:03:50
  • Using a throw keyword 00:03:15
  • Creating Custom Exceptions 00:05:02
  • Assertions 00:02:57
  • Assertions HandOn 00:03:43
  • Single Threaded Example 00:03:44
  • Multi Threading in Action 00:03:51
  • Sleep Method 00:03:16
  • Join Method 00:07:12
  • Calculating Time 00:02:39
  • Thread Identity 00:02:55
  • Thread Priority 00:03:16
  • Implementing Runnable Interface 00:03:20
  • Yield Method Demo 00:03:03
  • Interrupt Method Demo 00:03:37
  • Synchronization 00:02:48
  • Synchronization Demo 00:05:38
  • Class Level Lock 00:02:22
  • Class Level Lock Demo 00:02:14
  • Synchronized Block 00:01:18
  • Synchronized Blocks Demo 00:03:08
  • InterThread Communication 00:02:34
  • InterThread Communication in Action 00:05:52
  • Disadvantages of traditional thread creation 00:02:01
  • Executor Framework Introduction 00:02:25
  • Implement CheckProcessorTask 00:02:58
  • Create a pool of threads 00:03:34
  • Callable and Future 00:01:52
  • Implement Callable 00:02:52
  • Use Future and read the result 00:03:16
  • Introduction 00:02:35
  • Basic GC Demo 00:04:07
  • Pushing the JVM Memory Limits 00:03:32
  • Requesting for Garbage Collection 00:01:49
  • Static Inner Classes With Static Members 00:02:26
  • Static Inner Classes With Non Static Members 00:01:20
  • Non Static Inner Classes 00:03:03
  • Accessing Outer Class Members 00:04:12
  • Local Inner Classes 00:03:02
  • Anonymous Inner Classes 00:01:22
  • Anonymous Connection Class 00:04:31
  • Anonymous Runnable Class 00:01:55
  • Strings Introduction 00:00:46
  • Different ways to create a String 00:03:35
  • Strings and Wrapper Types 00:02:52
  • String Pooling 00:02:25
  • String Pooling In Action 00:03:17
  • Immutability in Action 00:03:34
  • Immutable Values 00:02:59
  • String Comparision 00:04:14
  • Object Comparision 00:02:44
  • String Methods 00:04:44
  • More String Methods 00:03:53
  • StringBuffer and StringBuilder 00:06:30
  • IO Streams Introduction 00:03:36
  • Read a File Using FileInputStream 00:08:04
  • Copy A File using FileOutputStream 00:05:57
  • Using Reader And Writer 00:04:38
  • StringTokenizer 00:04:28
  • Count Words Using BufferedReader and StringTokenizer 00:06:38
  • Try with Resource Block 00:02:16
  • Serialization 00:02:44
  • Serialization In Action 00:06:38
  • Deserialization In Action 00:04:35
  • Arrays 00:02:45
  • Using Arrays 00:05:12
  • For-Each Loop 00:02:02
  • Introduction 00:00:39
  • toString method 00:03:43
  • Overriding the toString method 00:02:18
  • hashCode 00:00:59
  • Override the hashCode method 00:02:21
  • Override the equals method 00:04:45
  • equals and hashCode Contract 00:00:54
  • Collections Introduction 00:06:27 Preview
  • List Introduction 00:02:30
  • ArrayList Hands On 00:02:13
  • Restricting the ArrayList Type 00:02:36
  • Inserting and Replacing Objects 00:04:23
  • addAll and contains Methods 00:04:21
  • size get and remove Methods 00:02:27
  • LinkedList 00:01:28
  • LinkedList Hands On 00:04:45
  • Set Introduction 00:00:50
  • Random class 00:02:38
  • Using HashSet 00:03:48
  • Different Set Classes 00:05:16
  • Iterator 00:02:47
  • TreeSet of Strings 00:02:21
  • TreeSet of StringBuffers 00:01:32
  • ListIterator 00:03:16
  • Comparable and Comparator 00:02:55
  • Create a StringBuffer Comparator 00:02:57
  • Sort Strings by Length 00:03:35
  • Sorting Objects 00:05:49
  • Create a Object Comparator 00:02:15
  • Map Introduction 00:01:23
  • HashMap Demo 00:05:23
  • LinkedHashMap Demo 00:01:04
  • IdentityHashMap Demo 00:03:22
  • WeakHashMap Demo 00:04:50
  • Queue Introduction 00:01:50
  • PriorityQueue Introduction 00:00:50
  • PriorityQueue In Action 00:04:03
  • NavigableSet Introduction 00:01:17
  • NavigableSet In Action 00:04:34
  • Arrays and Collections Classes 00:00:58
  • Collections Sort 00:02:24
  • Using Custom Comparator 00:01:30
  • Binary Search 00:02:36
  • Reversing a List 00:01:50
  • Arrays sort() 00:01:53
  • Arrays sort using custom comparator 00:02:07
  • Array to List conversion 00:02:39
  • Generics 00:05:43
  • Generic class structure 00:01:17
  • Create your own Generic Class 00:04:10
  • Restricting Generic Type Parameters 00:02:39
  • Using multiple restrictions 00:01:56
  • Using Generic Method Parameters and Wild Cards 00:01:23
  • Wildcard and extends 00:02:36
  • Wildcard and super 00:02:08
  • Method level generic type parameters 00:02:00
  • Type Erasure 00:01:33
  • Enum Introduction 00:02:44
  • Using a Enum 00:01:52
  • Values and Ordinal methods 00:01:38
  • Defining and using fields 00:02:18
  • Introduction 00:00:48
  • Lambda Expressions 00:02:00
  • Functional Interfaces 00:01:11
  • Create a functional Interface 00:02:46
  • Create your first Lambda 00:02:21
  • Addition using Lambdas 00:03:21
  • Lambdas using Runnable Interface 00:04:30
  • Lambdas and anonymous classes 00:02:52
  • Default methods in interfaces 00:02:36
  • Diamond Problem and Default Methods 00:02:12
  • Predicates 00:00:31
  • Predicate handson 00:01:58
  • String Predicate 00:01:12
  • Passing Predicate to a method 00:03:24
  • Predicate Joins 00:00:25
  • Predicate Joins in Action 00:03:23
  • Functions 00:00:39
  • Function Hands On 00:01:43
  • Method Referencing using :: Operator 00:02:23
  • Method Referencing in action 00:03:11
  • Referencing an instance method 00:03:12
  • Referencing a Constructor 00:04:25
  • Streams Introduction 00:02:08
  • Filter Even Numbers Using Streams 00:05:02
  • Convert Strings to Lower Case using streams 00:03:44
  • Other Methods on the Stream 00:05:14
  • What is a Virtual Machine? 00:01:23
  • Components of a JVM 00:00:53
  • How Class Loaders Work 00:01:35
  • Types of class loaders 00:01:45
  • Dynamic Class Loading In Action 00:04:10
  • Class is loaded only once 00:02:27
  • Display the class loaders 00:01:46
  • Class Loading Sub System 00:02:00
  • Linking 00:01:35
  • Initialization 00:00:36
  • Method Area 00:00:26
  • Stack Area 00:02:08
  • Heap Area 00:00:21
  • PC Registers Area 00:00:25
  • Native Method Stack Area 00:00:22
  • Introduction 00:02:51
  • Locale 00:01:50
  • Locale hands on 00:04:21
  • NumberFormat 00:01:37
  • NumberFormat hands on 00:02:14
  • NumberFormat integers and fractions 00:01:47
  • DateFormat 00:02:07
  • DateFormat hands on 00:02:29
  • DateFormat Time instance 00:02:39
  • SimpleDateFormat Class 00:02:30
  • String to Date 00:01:53
  • Including Time 00:00:39
  • Introduction 00:05:15
  • Using @Deprecated 00:04:18
  • Using @Override 00:02:43
  • Using @SuppressWarnings 00:02:34
  • @SuppressWarnings and Generic Types 00:01:44
  • Create User Defined Annotation 00:03:00
  • Use your annotation 00:01:53
  • Examine the inbuilt annotations 00:01:29
  • Introduction 00:02:31
  • Key Reflection API Classes 00:01:13
  • Load the Class 00:02:16
  • List the constructors fields and methods 00:03:52
  • Create an Object 00:03:07
  • Invoke the Parameterized Constructor 00:01:40
  • Invoke the Getter 00:03:27
  • Invoke the Setter 00:03:33
  • Summary so far 00:02:05
  • Modifying private fields 00:03:04
  • Accessing Annotations 00:02:48
  • Accessing fields on annotation 00:02:41
  • Components To Compile and Run a Java Program 00:03:11
  • Constructors 00:01:26
  • Overloading vs Overriding 00:01:56
  • Final Finally and Finalize 00:01:45
  • Generics and Type Erasure 00:01:47
  • == vs equals() 00:03:18 Preview
  • Java Class Loaders 00:03:44
  • serialVersionUID 00:04:32
  • Introduction 00:02:15
  • Software Setup 00:02:04
  • Private Methods in interfaces 00:04:16
  • Static Private Methods 00:01:11
  • Improved Try with resource blocks 00:03:21
  • Immutable Collections 00:04:54
  • @SafeVarargs Enhancements 00:07:37
  • New Methods in streaming API 00:08:20
  • JSHELL Introduction 00:01:08
  • JShell in Action 00:02:46
  • More JShell 00:04:17
  • Modules Introduction 00:03:40
  • Create Modules 00:01:52
  • Use one module inside another 00:05:14
  • Packages are mandatory 00:01:00
  • Transitive Dependencies 00:03:33
  • Using Static and Cyclic Dependencies 00:02:32
  • Qualified Exports 00:01:06
  • Aggregator and Package Resolution Assignment 00:01:54
  • Introduction 00:01:23
  • Using var to declare variables 00:02:39
  • Uses of var 00:02:48
  • var restrictions 00:04:00
  • Collectors API updates 00:03:27
  • Assignment 00:01:03
  • Introduction 00:01:16
  • String API Updates 00:06:59
  • Files API Updates 00:02:40
  • isEmpty on Optional 00:02:38
  • Removals 00:01:26
  • Maven Introduction 00:04:01
  • Create a maven project 00:04:03
  • Build the Project 00:02:16
  • JUnit Introduction 00:05:05
  • Implement the hello method 00:00:53
  • Upgrade the JUnit Maven Dependency 00:02:32
  • Write the Test 00:04:16
  • Assert for a value 00:00:56
  • Introduction 00:01:46
  • Debugging in action 00:04:52
  • The four key keys 00:04:32
  • Call stack and breakpoints 00:03:07
  • Accessing variables 00:03:22
  • Watchpoint 00:01:41

Complete Guide : Java Programming