Tags
Language
Tags
June 2025
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Java Programming: A Comprehensive Bootcamp From Zero To Hero

    Posted By: ELK1nG
    Java Programming: A Comprehensive Bootcamp From Zero To Hero

    Java Programming: A Comprehensive Bootcamp From Zero To Hero
    Published 3/2024
    MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
    Language: English | Size: 22.83 GB | Duration: 65h 38m

    Become a Java developer - Core Java, Functional Programming, Lambdas, Streams, Collections, Covers upto Java 21

    What you'll learn

    Java basics including OOPs principles, Keywords, Operators, Objects, Classes, Methods, Constructors, Control flow statements, Loops, Inheritance, Interface etc.

    Java intermediate concepts including Exceptional handling, Wrapper Classes, Collections, Enums, Date and Time API

    Java advance concepts including Generics, Functional Programming, Lambda Expressions, Functional Interfaces, Method References, Streams API, Multi Threading

    Achieve professional proficiency in Java programming

    Gain practical expertise by completing over 100 coding exercises

    Master Java best practices guided by an experienced developer

    Requirements

    No prior programming experience required, but familiarity with basic programming concepts will be beneficial.

    A computer with internet access and a willingness to learn and practice.

    Description

    Welcome to the course Java Programming: A Comprehensive Bootcamp from Zero to Hero, a comprehensive course designed to equip developers of all levels with the essential skills and knowledge to master Java programming from its fundamentals to advanced topics up to Java 21. Whether you're a beginner looking to kickstart your programming journey or an experienced developer seeking to enhance your Java expertise, this course has something valuable to offer.Course Overview:This course is meticulously crafted to cover every aspect of Java programming in-depth, ensuring a solid understanding of both the foundational concepts and the latest advancements in the language. Here's what you can expect to learn throughout the course:Section 1: Let's Say Hello to JavaWhat is Java & why should you learnApproach to learn Java languageWriting your first Java statement using jshellBrief history of Java & it's release timelineWhy do we have different JDK vendors in Java ecosystemInstallation of JavaSection 2: Primitive data types in JavaIntroduction to Java KeywordsDeep dive on byte, short, int, long, float, double data typesSyntax to declare primitive data types & store data using themHow to name a java variableCase Styles in programmingDeep dive on boolean primitive data typeDeep dive on char primitive data typeDemo of Overflow and Underflow[Java 7] Using underscore in numeric literalsDemo of octal number format in JavaDemo of hexa number format in JavaDemo of binary number format in JavaType casting in JavaDemo of implicit and explicit castingIntroduction to String in JavaDemo of String in JavaSection 3: What happens behind the scenes when a Java program executesIntroduction to life cycle of a Java programWhat is JDK, JRE, JVMHow Java became a platform independent languageIntroduction to Java program code structureWriting first Java class, compiling & running itIntroduction to IDE & IntelliJ IDEACreate first Java project in IntelliJ & set up a themeWriting first Java class in IntelliJSection 4: Deep dive on Java classes, methods, fields, constructorsJava supports Object-oriented programming (OOP)Demo of creating a Java classDeclaring fields in a Java classDemo of Java methodsIntroduction to method signaturePurpose of a return statement in Java methodsSyntax of method invocation in JavaLet’s say hi to main method againHow to create & initialize Java objectsIntroduction to Constructor in JavaDemo of Constructor in Java & introduction to debuggingProblem with default or no-args constructorConstructor Overloading in JavaConstructor chaining in JavaUsage of return statement in constructorInstance Initialization Block in Java class - Part 1Instance Initialization Block in Java class - Part 2Introduction to static variables in JavaHow to define constant final static variablesDifferences between static & instance variablesIntroduction to static methods in Java Static Initialization Block in Java classDebugging of method invocations in IntelliJWhere does Java store classes, objects, variables, methodsDeep dive on Heap memory and stack memoryIntroduction to null in JavaObject Destruction and Garbage collection in JavaClass vs Object vs Instance vs ReferenceWhat is encapsulation in JavaSection 5: Comments in JavaSingle line Comments in JavaMulti line Comments in JavaIntroduction to javadoc commentsGenerating javadoc using IntelliJSection 6: Deep dive on String in JavaIntroduction to String Pool in JavaThe intern method in StringThe concat method in StringEscape sequence character & Unicode char values in StringFinding the length of a StringComparing Strings in JavaFetching a character at an index in StringChecking if a String is emptyChanging the case in StringConverting values as StringSearching for a value in StringTrimming a StringFetching Substring from a StringReplacing a part of a StringSplitting Strings[JAVA 8] Joining StringsThe format() method in StringSystem.out.printf() methodUnderstanding how String objects are immutableHow to create mutable strings in Java[JAVA 15] Text Block in JavaConverting String to primitive data type valuesConvert String to double data typeSection 7: Operators in JavaIntroduction to Operators & Operands in JavaAssignment Operator in JavaIntroduction to Arithmetic Operators in JavaAddition Operator in JavaString Concatenation OperatorDivision Operator in JavaModulus Operator in JavaUnary plus and minus operatorsCompound Arithmetic Assignment Operators in JavaIncrement and Decrement operators in JavaIntroduction to Relational Operators in JavaEquality Operator in JavaInequality Operator in JavaGreater than, Greater than or equal, Less than, Less than or equal operatorsIntroduction to Logical Operators in JavaLogical NOT operator in JavaLogical Short-Circuit AND, Logical AND operators in JavaLogical Short-Circuit OR, Logical OR operators in JavaLogical XOR operator in JavaCompound Logical Assignment Operators in JavaBitwise Operators in JavaBitwise NOT operator or 1’s complement in JavaBitwise AND operator in JavaBitwise OR operator in JavaBitwise XOR operator in JavaLeft Shift operator in JavaSigned Right Shift operator in JavaUnsigned Right Shift operator in JavaCompound assignment bitwise operators in JavaTernary or Conditional operator in JavaDetails of Java operators Precedence & Associativity   Section 8: Control flow statements in JavaIntroduction to Control flow statements in JavaDeep dive on if, else if, else statements in JavaNested if- else if - else statementsTernary operator in the place of if-else statementDeep dive on switch case statement[JAVA 14] Deep dive on switch expressionDeep dive on while statementDeep dive on do while statementDeep dive on for loopDeep dive on nested for loopsbreak statementcontinue statementreturn statementLocal variables & ScopeSection 9: packages in JavaIntroduction to packages & benefits of themCreating a packageRules & standards to name a packageUsing package members with import statementThe great java.lang packageThe static import statementsImportant points about packages & importsIntroduction to access modifiersDemo of access modifiers for java classesDemo of access modifiers for methods, fields in classesDeep dive on POJO classesSection 10: Inheritance in JavaIntroduction to Inheritance in JavaObject class is the default Superclassis-a & has-a relationships in JavaWhat a subclass inherits from its superclassIntroduction to upcasting in JavaIntroduction to downcasting & it's demoinstanceof OperatorStatic Binding and Dynamic Binding in JavaWhat is Polymorphism in JavaMethod Overridingsuper keyword to invoke super class methods from sub classMethod OverloadingMethod overriding vs Method overloadingMethod hiding in Java InheritanceField hiding in Java InheritanceThe story of constructors & Inheritance togetherthis and super keywords in JavaTypes of Inheritance in Javaabstract methods and classesfinal keyword in Java[JAVA 17] sealed classes & interfacesSection 11: Interfaces in JavaIntroduction to InterfacesConstant Field Declarations in interface[JAVA 8] How to build default methods in interfaces[JAVA 8] How to build static methods in interfacesMultiple Inheritance using interfacesInterface defines a new typeMarker Interface[JAVA 8] Functional InterfaceClass Vs Abstract Class Vs InterfaceSection 12: Arrays in JavaWhat is a Array in JavaDeclaring & initializing ArraysArrays lengthIterate elements of Array using for loopIterate elements of Array using for-each loopArrays advantages and disadvantagesCopying Arrays using loopsCopying Arrays using arraycopy and copyOf methodsConverting ArraysSorting ArraysSearching an ArrayFilling an ArrayIntroduction to multidimensional or nested arraysTwo-Dimensional or 2D ArraysJagged ArraysThree-Dimensional or 3D ArraysSection 13: Accept input using BufferedReader and ScannerUnderstanding System.out.printlnIntroduction to BufferedReader & DemoIntroduction to Scanner & DemoComparison of BufferedReader and ScannerDon’t use System.out.println in Production codeLogging in JavaSection 14: Exception handling using try, catch and finallyTaste of first Exceptiontry-catch blockmultiple catch blocksfinally block[JAVA 7] try- with-resources statementRules while handling exceptionsThe Exception HierarchyChecked ExceptionsUnchecked Exceptionsthrows keywordthrow keywordDifferences between throw and throws keywordException PropagationNested try blockCustom Checked ExceptionCustom Unchecked Exceptionfinal, finally and finalizeSection 15: Unmasking Java's Superclass(java.lang.Object) SecretsIntroduction to the methods in Object classDeep dive on getClass() in Object classDeep dive on hashCode() in Object classDeep dive on equals() in Object classOverride hashCode() & equals() methodsOverride hashCode() & equals() methods using IntelliJDeep dive on toString() in Object classDemo of hashCode(), equals() & toString() methods of StringDeep dive on finalize() in Object classDeep dive on clone() in Object classDetails about Shallow cloning & Deep cloningMutable and Immutable objects[JAVA 16] Record classes[JAVA 10] var (local variable type inference)Section 16: Introduction to Collections & Wrapper ClassesArrays have limitationsWhat are Collections & why they accept only objectsIntroduction to Wrapper ClassesConvert Primitive Type to Wrapper Objects (Boxing)Convert Wrapper Objects into Primitive Types (Unboxing)Autoboxing and unboxingCaching with valueOf() methodsJava Collection Framework HierarchySection 17: Lists and ArrayLists Unleashed – A Hilarious Journey through Data StructuresDeep dive on the Collection Interface[JAVA 21] Deep dive on the Sequenced CollectionsDeep dive on the List InterfaceHow to create objects of ArrayListDemo of ArrayList[JAVA 7] Diamond Operator in JavaArrayList performance[JAVA 9] Creating Immutable ListsIterate ArrayList using for-each and iterator()Iterate ArrayList using listIterator()Sorting ArrayList using sort() methodsSorting ArrayList using custom ComparatorSorting ArrayList of custom data type using ComparableSorting ArrayList of custom data type using ComparatorArrays vs ArrayListSection 18: LinkedLists - Java's Dance of NodesIntroduction of LinkedListHow to create objects of LinkedListDemo of LinkedListIterate LinkedList elementsSorting LinkedList elementsLinkedList performanceArrayList vs LinkedListSection 19: Generics in JavaIntroduction to Generics in JavaWhy we need Generics in JavaGeneric class in JavaGenerics methods in JavaCollections with out GenericsCovariance DemoSubtype or Upper Bound WildcardsSupertype or Lower Bound WildcardsUnbounded WildcardsSection 20: Deep dive on Map, HashMap, TreeMap, LinkedHashMapIntroduction to Map in JavaDemo of HashMapHow HashMap Store Key, ValueHow HashMap retrieve Value[JAVA 8] HashMap improvements in Java 8Iterating HashMap using keySet() and entrySet()Iterating HashMap using values()Introduction to TreeMap in JavaDemo of TreeMap in JavaDemo of LinkedHashMap in Java[JAVA 9] Creating Immutable MapsSection 21: Set, HashSet, TreeSet, LinkedHashSetIntroduction to Set in JavaDemo of HashSetHow HashSet works internallyIterating HashSetSet operationsDemo of TreeSet in JavaDemo of LinkedHashSet in Java[JAVA 9] Creating Immutable SetsList vs SetSection 22: Enums in JavaIntroduction to EnumsProblems with normal Java class constants approachDemo of Enum approachAssociating Data to Enum ConstantsDemo of EnumSet and it's important methodsAdvantages of EnumsSection 23: Date and Time in JavaHow Java supports Date and TimeWhy a new Date API introduced in Java 8Demo of java util DateDate formatting and parsing using SimpleDateFormatDemo of java sql DateDemo of java util CalendarTimeZone specific Date and Time[JAVA 8] Introduction to new Date & Time API from Java 8[JAVA 8] The of() methods in java.time Date and Time API[JAVA 8] The from() & withXxx() methods in java.time Date and Time API[JAVA 8] The toXxx() & atXxx() methods in java.time Date and Time API[JAVA 8} The getXxx(), plusXxx() and minusXxx() methods in new Date & Time API[JAVA 8] Introduction to Instant and Duration in java.time Date and Time API[JAVA 8] Demo of Instant and Duration in java.time Date and Time API[JAVA 8] Period in java.time Date and Time API[JAVA 8] The multipliedBy(), dividedBy() & negated() methods[JAVA 8] The truncatedTo() method[JAVA 8] Demo of ZoneId, ZonedDateTime[JAVA 8] Demo of ZoneOffset[JAVA 8] Demo of OffsetDateTime and OffsetTime[JAVA 8] Demo of Day Light Saving with ZonedDateTime[JAVA 8] Non-ISO Calendars in java.time Date and Time API[JAVA 8] Formatting Dates and Times using DateTimeFormatter[JAVA 8] Parsing Dates and Times using DateTimeFormatterSection 24: [JAVA 8] Functional Programming using lambda expressionsIntroduction to Functional ProgrammingImperative style vs functional style programmingWhat are lambda expressions and their syntaxHow to build Lambda expressionsDeep dive on Functional InterfacesHow Functional Interface & Lambda expressions are linkedAnonymous inner class in the place of lambda expressionsPredefined Functional interfaces inside JDKDeep dive on Predicate functional interfaceDeep dive on Function functional interfaceDeep dive on UnaryOperator interfaceDeep dive on Consumer interfaceDeep dive on Supplier interfaceDeep dive on BiFunctional InterfacesPrimitive Type functional interfacesDeep dive on Lexical Scoping of Lambda expressionsthis and super inside lambda expressionSection 25: [JAVA 8] Building Lambda expressions using Method ReferencesIntroduction to Method ReferencesDemo of Static Method ReferenceDemo of Instance Method ReferenceDemo of Instance method Reference using Class typeDemo of Constructor ReferenceSection 26: [JAVA 8] Streams APIIntroduction to java util stream APICreating a Stream from collectionsStreams have no storageIntroduction to Streams PipelineDemo of Streams map() methodDemo of Streams flatMap() methodDemo of Streams filter() methodDemo of Streams limit() methodDemo of Streams skip() methodStreams are traversable only onceIntroduction to Streams reduce() methodDemo of Streams reduce() methodDemo of Streams collect() methodDemo of Streams collectingAndThen() methodDemo of Streams groupingBy() and partitioningBy() methodFinding and Matching methods in StreamsQuick revision about stream pipelineDeep dive on parallel streams and demoCollections Vs StreamsSection 27: [JAVA 8] Optional to deal with nulls in JavaIntroduction to Optional classDemo of OptionalDemo of ifPresent, ifPresentOrElse, orElse, orElseGet methodsDemo of orElseThrow, map, filter methodsQuick tip to filter null elements with Stream APISection 28: MultiThreading in JavaWhat is MultiThreadingHow a program or a software executes inside a computerParallel vs Concurrent ExecutionHow multiple threads improve performanceCreating Threads in JavaMultiThreading Demo ProgramDemo of Thread methods getId, threadId, getName, setName, currentThread, sleepDemo of Thread method join, getPriority, setPriorityDemo of wait(), notify(), notifyAll()Introduction to Race condition & synchronized keywordDemo of synchronized methods and blocksIntroduction & Demo of volatile keywordIntroduction to DeadlockDemo Deadlock & possible fixes[JAVA 21] Introduction to Virtual ThreadsThroughout the course, you'll engage in hands-on coding exercises, assignments, and projects to reinforce your learning and apply the concepts in real-world scenarios. Our experienced instructors will provide guidance, support, and insights to help you navigate the intricacies of Java programming effectively.Whether you aspire to become a Java developer, enhance your career prospects, or simply gain a deeper understanding of one of the most widely-used programming languages, this course will empower you to achieve your goals in the world of Java programming.Prerequisites:- No prior programming experience required, but familiarity with basic programming concepts will be beneficial.- A computer with internet access and a willingness to learn and practice.Target Audience:- Beginners aspiring to learn Java programming.- Experienced developers looking to expand their Java skills.- Students and professionals seeking to advance their careers in software development.Enroll now and embark on a journey to master Java programming comprehensively, from the basics to Java 21 and beyond!

    Overview

    Section 1: Let's Say Hello to Java

    Lecture 1 Introduction to the course & Agenda

    Lecture 2 DO NOT SKIP - IMPORTANT INSTRUCTIONS FOR THE COURSE

    Lecture 3 What is Java & why should you learn

    Lecture 4 Approach to learn Java language

    Lecture 5 [Java 9] Writing your first Java statement using jshell

    Lecture 6 Brief history of Java & it's release timeline

    Lecture 7 Why do we have different JDK vendors in Java ecosystem

    Lecture 8 Installation of SDKMAN & Java in mac, Unix, Linux

    Lecture 9 Installation of Java in Windows OS

    Lecture 10 [Java 9] Demo of local jshell

    Section 2: Primitive data types in Java

    Lecture 11 DETAILS OF PDF CONTENT

    Lecture 12 Introduction to Java Keywords

    Lecture 13 Introduction to Primitive Data types in Java - Part 1

    Lecture 14 Introduction to Primitive Data types in Java - Part 2

    Lecture 15 Syntax to declare primitive data types & store data using them

    Lecture 16 Demo of declaring primitive data types & store data using them

    Lecture 17 How to name a java variable

    Lecture 18 Case Styles in programming

    Lecture 19 Deep dive on boolean primitive data type

    Lecture 20 Deep dive on char primitive data type - Part 1

    Lecture 21 Deep dive on char primitive data type - Part 2

    Lecture 22 Deep dive on char primitive data type - Part 3

    Lecture 23 Introduction to integer primitive data types

    Lecture 24 Demo of byte, short, int and long primitive data types

    Lecture 25 Demo of Overflow and Underflow

    Lecture 26 Introduction to floating data types

    Lecture 27 Demo of float and double primitive data types - Part 1

    Lecture 28 Demo of float and double primitive data types - Part 2

    Lecture 29 [Java 7] Using underscore in numeric literals

    Lecture 30 Other formats supported by integer & floating data types

    Lecture 31 Demo of octal number format in Java

    Lecture 32 Demo of hexa number format in Java

    Lecture 33 Demo of binary number format in Java

    Lecture 34 Type casting in Java

    Lecture 35 Demo of implicit and explicit casting - Part 1

    Lecture 36 Demo of implicit and explicit casting - Part 2

    Lecture 37 Introduction to String in Java

    Lecture 38 Demo of String in Java

    Section 3: What happens behind the scenes when a Java program executes

    Lecture 39 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 40 Introduction to life cycle of a Java program

    Lecture 41 What is JDK, JRE, JVM

    Lecture 42 How Java became a platform independent language - Part 1

    Lecture 43 How Java became a platform independent language - Part 2

    Lecture 44 Quick knowledge check on Java life cycle & it's components

    Lecture 45 Introduction to Java program code structure

    Lecture 46 Writing first Java class, compiling & running it

    Lecture 47 Introduction to IDE & IntelliJ IDEA

    Lecture 48 Create first Java project in IntelliJ & set up a theme

    Lecture 49 Writing first Java class in IntelliJ

    Section 4: Deep dive on Java classes, methods, fields, constructors

    Lecture 50 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 51 Java supports Object-oriented programming (OOP)

    Lecture 52 So, what is a Java class

    Lecture 53 Demo of creating a Java class

    Lecture 54 Declaring fields in a Java class - Theory

    Lecture 55 Declaring fields in a Java class - Demo

    Lecture 56 Introduction to methods in Java - Part 1

    Lecture 57 Introduction to methods in Java - Part 2

    Lecture 58 Demo of Java methods - Part 1

    Lecture 59 Demo of Java methods - Part 2

    Lecture 60 Introduction to method signature

    Lecture 61 Purpose of a return statement in Java methods

    Lecture 62 Syntax of method invocation in Java

    Lecture 63 Let’s say hi to main method again

    Lecture 64 How to create & initialize Java objects - Theory

    Lecture 65 How to create & initialize Java objects - Demo

    Lecture 66 Introduction to Constructor in Java

    Lecture 67 Demo of Constructor in Java & introduction to debugging

    Lecture 68 Problem with default or no-args constructor

    Lecture 69 Constructor Overloading in Java

    Lecture 70 Constructor chaining in Java

    Lecture 71 Usage of return statement in constructor

    Lecture 72 Instance Initialization Block in Java class - Part 1

    Lecture 73 Instance Initialization Block in Java class - Part 2

    Lecture 74 Introduction to static variables in Java - Theory

    Lecture 75 Introduction to static variables in Java - Demo

    Lecture 76 How to define constant final static variables

    Lecture 77 Differences between static & instance variables

    Lecture 78 Introduction to static methods in Java - Theory

    Lecture 79 Demo of static methods in Java - Part 1

    Lecture 80 Demo of static methods in Java - Part 2

    Lecture 81 Static Initialization Block in Java class - Part 1

    Lecture 82 Static Initialization Block in Java class - Part 2

    Lecture 83 Debugging of method invocations in IntelliJ

    Lecture 84 Where does Java store classes, objects, variables, methods

    Lecture 85 Deep dive on Heap memory and stack memory

    Lecture 86 Demo of Heap memory and stack memory in IntelliJ

    Lecture 87 Introduction to null in Java

    Lecture 88 Object Destruction and Garbage collection in Java

    Lecture 89 Class vs Object vs Instance vs Reference

    Lecture 90 What is encapsulation in Java

    Section 5: Comments in Java

    Lecture 91 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 92 Introduction to Comments in Java

    Lecture 93 Single line Comments in Java - Theory

    Lecture 94 Single line Comments in Java - Demo

    Lecture 95 Multi line Comments in Java - Theory

    Lecture 96 Multi line Comments in Java - Demo

    Lecture 97 Introduction to javadoc comments

    Lecture 98 Introduction to javadoc comments Demo - Part 1

    Lecture 99 Introduction to javadoc comments Demo - Part 2

    Lecture 100 Generating javadoc using IntelliJ

    Section 6: Deep dive on String in Java

    Lecture 101 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 102 Introduction to agenda of the section

    Lecture 103 Introduction to String Pool in Java - Theory

    Lecture 104 Demo of String Pool in Java

    Lecture 105 The intern method in String

    Lecture 106 The concat method in String

    Lecture 107 Escape sequence character & Unicode char values in String

    Lecture 108 Finding the length of a String

    Lecture 109 Comparing Strings in Java - Part 1

    Lecture 110 Comparing Strings in Java - Part 2

    Lecture 111 Fetching a character at an index in String

    Lecture 112 Checking if a String is empty

    Lecture 113 Changing the case in String

    Lecture 114 Converting values as String

    Lecture 115 Searching for a value in String

    Lecture 116 Trimming a String

    Lecture 117 Fetching Substring from a String

    Lecture 118 Replacing a part of a String

    Lecture 119 Splitting Strings

    Lecture 120 [JAVA 8] Joining Strings

    Lecture 121 The format() method in String

    Lecture 122 System.out.printf() method

    Lecture 123 Understanding how String objects are immutable

    Lecture 124 How to create mutable strings in Java

    Lecture 125 Demo of creating mutable strings in Java

    Lecture 126 [JAVA 15] Text Block in Java

    Lecture 127 Converting String to primitive data type values - Theory

    Lecture 128 Converting String to primitive data type values - Demo

    Section 7: Operators in Java

    Lecture 129 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 130 Introduction to Operators & Operands in Java

    Lecture 131 Operators categorisation in Java

    Lecture 132 Expressions in Java

    Lecture 133 Assignment Operator in Java - Part 1

    Lecture 134 Assignment Operator in Java - Part 2

    Lecture 135 Introduction to Arithmetic Operators in Java

    Lecture 136 Addition Operator in Java - Part 1

    Lecture 137 Addition Operator in Java - Part 2

    Lecture 138 String Concatenation Operator

    Lecture 139 Division Operator in Java

    Lecture 140 Modulus Operator in Java

    Lecture 141 Unary plus and minus operators

    Lecture 142 Compound Arithmetic Assignment Operators in Java

    Lecture 143 Increment and Decrement operators in Java - Part 1

    Lecture 144 Increment and Decrement operators in Java - Part 2

    Lecture 145 Introduction to Relational Operators in Java

    Lecture 146 Equality Operator in Java - Part 1

    Lecture 147 Equality Operator in Java - Part 2

    Lecture 148 Inequality Operator in Java

    Lecture 149 Greater than, Greater than or equal, Less than, Less than or equal operators

    Lecture 150 Introduction to Logical Operators in Java

    Lecture 151 Logical NOT operator in Java

    Lecture 152 Logical Short-Circuit AND, Logical AND operators in Java - Theory

    Lecture 153 Logical Short-Circuit AND, Logical AND operators in Java - Demo

    Lecture 154 Logical Short-Circuit OR, Logical OR operators in Java - Theory

    Lecture 155 Logical Short-Circuit OR, Logical OR operators in Java - Demo

    Lecture 156 Logical XOR operator in Java

    Lecture 157 Compound Logical Assignment Operators in Java

    Lecture 158 Bitwise Operators in Java

    Lecture 159 Bitwise NOT operator or 1’s complement in Java

    Lecture 160 Bitwise AND operator in Java

    Lecture 161 Bitwise OR operator in Java

    Lecture 162 Bitwise XOR operator in Java

    Lecture 163 Left Shift operator in Java

    Lecture 164 Signed Right Shift operator in Java

    Lecture 165 Unsigned Right Shift operator in Java

    Lecture 166 Compound assignment bitwise operators in Java

    Lecture 167 Ternary or Conditional operator in Java

    Lecture 168 Introduction to Java operators Precedence & Associativity

    Lecture 169 Details of Java operators Precedence & Associativity

    Section 8: Control flow statements in Java

    Lecture 170 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 171 Introduction to Control flow statements in Java

    Lecture 172 Deep dive on if, else if, else statements in Java - Theory

    Lecture 173 Demo of if, else if, else statements in Java - Part 1

    Lecture 174 Demo of if, else if, else statements in Java - Part 2

    Lecture 175 Nested if- else if - else statements

    Lecture 176 Ternary operator in the place of if-else statement

    Lecture 177 Deep dive on switch case statement - Theory

    Lecture 178 Deep dive on switch case statement - Demo

    Lecture 179 [JAVA 14] Deep dive on switch expression - Theory

    Lecture 180 [JAVA 14] Deep dive on switch expression - Demo

    Lecture 181 Funny memes around if and switch statements

    Lecture 182 Deep dive on while statement - Theory

    Lecture 183 Deep dive on while statement - Demo

    Lecture 184 Deep dive on do while statement

    Lecture 185 Deep dive on for loop - Theory

    Lecture 186 Deep dive on for loop - Demo

    Lecture 187 Deep dive on nested for loops

    Lecture 188 break statement - Theory

    Lecture 189 break statement - Demo

    Lecture 190 continue statement

    Lecture 191 return statement

    Lecture 192 Local variables & Scope - Theory

    Lecture 193 Local variables & Scope - Demo

    Section 9: packages in Java

    Lecture 194 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 195 Introduction to the structuring of code in Java projects

    Lecture 196 Introduction to packages & benefits of them

    Lecture 197 Creating a package - Part 1

    Lecture 198 Creating a package - Part 2

    Lecture 199 Rules & standards to name a package

    Lecture 200 Using package members with import statement

    Lecture 201 The great java.lang package

    Lecture 202 The static import statements

    Lecture 203 Important points about packages & imports

    Lecture 204 Introduction to access modifiers

    Lecture 205 Demo of access modifiers for java classes

    Lecture 206 Demo of access modifiers for methods, fields in classes

    Lecture 207 access modifiers real life analogies

    Lecture 208 Deep dive on POJO classes - Part 1

    Lecture 209 Deep dive on POJO classes - Part 2

    Section 10: Inheritance in Java

    Lecture 210 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 211 Agenda of the section & quick revision of OOPs concepts

    Lecture 212 Introduction to Inheritance in Java

    Lecture 213 Deep dive on Inheritance - Theory

    Lecture 214 Inheritance Demo - Part 1

    Lecture 215 Inheritance Demo - Part 2

    Lecture 216 Object class is the default Superclass

    Lecture 217 is-a & has-a relationships in Java

    Lecture 218 What a subclass inherits from its superclass

    Lecture 219 Introduction to upcasting in Java

    Lecture 220 Demo of upcasting - Part 1

    Lecture 221 Demo of upcasting - Part 2

    Lecture 222 Introduction to downcasting & it's demo

    Lecture 223 instanceof Operator

    Lecture 224 [JAVA 16] instanceof Operator with pattern matching

    Lecture 225 Static Binding and Dynamic Binding in Java

    Lecture 226 What is Polymorphism in Java

    Lecture 227 Method Overriding - Theory

    Lecture 228 Method Overriding - Demo

    Lecture 229 Demo of dynamic polymorphism using method overriding

    Lecture 230 super keyword to invoke super class methods from sub class

    Lecture 231 Method Overloading - Theory

    Lecture 232 Method Overloading - Demo

    Lecture 233 Method overriding vs Method overloading

    Lecture 234 Method hiding in Java Inheritance

    Lecture 235 Field hiding in Java Inheritance

    Lecture 236 The story of constructors & Inheritance together - Part 1

    Lecture 237 The story of constructors & Inheritance together - Part 2

    Lecture 238 this and super keywords in Java

    Lecture 239 Types of Inheritance in Java

    Lecture 240 abstract methods and classes - Part 1

    Lecture 241 abstract methods and classes - Part 2

    Lecture 242 final keyword in Java

    Lecture 243 [JAVA 17] sealed classes & interfaces

    Lecture 244 Funny memes of Inheritance

    Section 11: Interfaces in Java

    Lecture 245 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 246 Introduction to Interfaces

    Lecture 247 How to create an interface

    Lecture 248 Implementing a interface in Java

    Lecture 249 Advantages of interfaces

    Lecture 250 Constant Field Declarations in interface

    Lecture 251 Different method declarations allowed in interface

    Lecture 252 [JAVA 8] Why we need default methods in interfaces

    Lecture 253 [JAVA 8] How to build default methods in interfaces

    Lecture 254 [JAVA 8] How to build static methods in interfaces

    Lecture 255 Multiple Inheritance using interfaces - Part 1

    Lecture 256 Multiple Inheritance using interfaces - Part 2

    Lecture 257 Interface defines a new type

    Lecture 258 Marker Interface

    Lecture 259 [JAVA 8] Functional Interface

    Lecture 260 Class Vs Abstract Class Vs Interface

    Section 12: Arrays in Java

    Lecture 261 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 262 What is a Array in Java

    Lecture 263 Declaring & initializing Arrays - Part 1

    Lecture 264 Declaring & initializing Arrays - Part 2

    Lecture 265 Arrays length

    Lecture 266 Iterate elements of Array using for loop

    Lecture 267 Iterate elements of Array using for-each loop

    Lecture 268 Arrays advantages and disadvantages

    Lecture 269 Copying Arrays using loops

    Lecture 270 Copying Arrays using arraycopy and copyOf methods

    Lecture 271 Converting Arrays

    Lecture 272 Sorting Arrays

    Lecture 273 Searching an Array

    Lecture 274 Filling an Array

    Lecture 275 Introduction to multidimensional or nested arrays

    Lecture 276 Two-Dimensional or 2D Arrays - Theory

    Lecture 277 Two-Dimensional or 2D Arrays - Demo

    Lecture 278 Addition of two matrices using 2D arrays

    Lecture 279 Jagged Arrays

    Lecture 280 Three-Dimensional or 3D Arrays

    Lecture 281 Funny memes of Arrays

    Section 13: Accept input using BufferedReader and Scanner

    Lecture 282 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 283 Agenda of the section

    Lecture 284 Understanding System.out.println

    Lecture 285 Demo of Java Basic Input

    Lecture 286 Introduction to BufferedReader

    Lecture 287 Demo of BufferedReader

    Lecture 288 BufferedReader examples to identify even number and sum

    Lecture 289 BufferedReader example to identify prime number

    Lecture 290 BufferedReader example to read the file content

    Lecture 291 Introduction to Scanner & Demo - Part 1

    Lecture 292 Introduction to Scanner & Demo - Part 2

    Lecture 293 Scanner example to read the file content

    Lecture 294 Comparison of BufferedReader and Scanner

    Lecture 295 Don’t use System.out.println in Production code

    Lecture 296 Logging in Java - Part 1

    Lecture 297 Logging in Java - Part 2

    Section 14: Exception handling using try, catch and finally

    Lecture 298 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 299 Agenda of the section

    Lecture 300 Taste of first Exception

    Lecture 301 try-catch block - Part 1

    Lecture 302 try-catch block - Part 2

    Lecture 303 multiple catch blocks - Part 1

    Lecture 304 [JAVA 7] multiple catch blocks - Part 2

    Lecture 305 finally block

    Lecture 306 [JAVA 7] try- with-resources statement

    Lecture 307 Rules while handling exceptions

    Lecture 308 The Exception Hierarchy - Part 1

    Lecture 309 The Exception Hierarchy - Part 2

    Lecture 310 Checked Exceptions

    Lecture 311 Unchecked Exceptions

    Lecture 312 throws keyword

    Lecture 313 throw keyword

    Lecture 314 Differences between throw and throws keyword

    Lecture 315 Exception Propagation

    Lecture 316 Nested try block

    Lecture 317 Custom Checked Exception

    Lecture 318 Custom Unchecked Exception

    Lecture 319 final, finally and finalize

    Lecture 320 Funny memes around exception handling

    Section 15: Unmasking Java's Superclass(java.lang.Object) Secrets

    Lecture 321 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 322 Introduction to the methods in Object class

    Lecture 323 Deep dive on getClass() in Object class

    Lecture 324 Deep dive on hashCode() in Object class - Part 1

    Lecture 325 Deep dive on hashCode() in Object class - Part 2

    Lecture 326 Deep dive on equals() in Object class

    Lecture 327 Override hashCode() & equals() methods

    Lecture 328 Override hashCode() & equals() methods using IntelliJ

    Lecture 329 Deep dive on toString() in Object class

    Lecture 330 Demo of hashCode(), equals() & toString() methods of String

    Lecture 331 Deep dive on finalize() in Object class

    Lecture 332 Deep dive on clone() in Object class

    Lecture 333 Details about Shallow cloning & Deep cloning - Theory

    Lecture 334 Details about Shallow cloning & Deep cloning - Demo

    Lecture 335 Mutable and Immutable objects - Theory

    Lecture 336 Mutable and Immutable objects - Demo

    Lecture 337 [JAVA 16] Record classes - Part 1

    Lecture 338 [JAVA 16] Record classes - Part 2

    Lecture 339 [JAVA 10] var (local variable type inference) - Part 1

    Lecture 340 [JAVA 10] var (local variable type inference) - Part 2

    Section 16: Introduction to Collections & Wrapper Classes

    Lecture 341 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 342 Arrays have limitations

    Lecture 343 What are Collections & why they accept only objects

    Lecture 344 Introduction to Wrapper Classes

    Lecture 345 Convert Primitive Type to Wrapper Objects (Boxing)

    Lecture 346 Convert Wrapper Objects into Primitive Types (Unboxing)

    Lecture 347 Autoboxing and unboxing - Theory

    Lecture 348 Autoboxing and unboxing - Demo

    Lecture 349 Caching with valueOf() methods

    Lecture 350 Java Collection Framework Hierarchy

    Section 17: Lists and ArrayLists Unleashed – A Hilarious Journey through Data Structures

    Lecture 351 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 352 Deep dive on the Collection Interface

    Lecture 353 [JAVA 21] Deep dive on the Sequenced Collections

    Lecture 354 Deep dive on the List Interface

    Lecture 355 How to create objects of ArrayList

    Lecture 356 Demo of ArrayList

    Lecture 357 [JAVA 7] Diamond Operator in Java

    Lecture 358 ArrayList performance

    Lecture 359 [JAVA 9] Creating Immutable Lists

    Lecture 360 Iterate ArrayList using for-each and iterator()

    Lecture 361 Iterate ArrayList using listIterator()

    Lecture 362 Sorting ArrayList using sort() methods

    Lecture 363 Sorting ArrayList using custom Comparator

    Lecture 364 Sorting ArrayList of custom data type using Comparable

    Lecture 365 Sorting ArrayList of custom data type using Comparator

    Lecture 366 Arrays vs ArrayList

    Section 18: LinkedLists - Java's Dance of Nodes

    Lecture 367 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 368 Introduction of LinkedList

    Lecture 369 How to create objects of LinkedList

    Lecture 370 Demo of LinkedList

    Lecture 371 Iterate LinkedList elements

    Lecture 372 Sorting LinkedList elements

    Lecture 373 LinkedList performance

    Lecture 374 ArrayList vs LinkedList

    Lecture 375 Funny memes around LinkedList

    Section 19: Generics in Java

    Lecture 376 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 377 Introduction to Generics in Java

    Lecture 378 Why we need Generics in Java

    Lecture 379 Generic class in Java - Demo

    Lecture 380 Generics methods in Java - Demo

    Lecture 381 Collections with out Generics - Demo

    Lecture 382 Covariance Demo

    Lecture 383 Subtype or Upper Bound Wildcards

    Lecture 384 Supertype or Lower Bound Wildcards

    Lecture 385 Unbounded Wildcards

    Section 20: Deep dive on Map, HashMap, TreeMap, LinkedHashMap

    Lecture 386 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 387 Introduction to Map in Java

    Lecture 388 Demo of HashMap

    Lecture 389 How HashMap Store Key, Value

    Lecture 390 How HashMap retrieve Value

    Lecture 391 [JAVA 8] HashMap improvements in Java 8

    Lecture 392 Iterating HashMap using keySet() and entrySet()

    Lecture 393 Iterating HashMap using values()

    Lecture 394 Introduction to TreeMap in Java

    Lecture 395 Demo of TreeMap in Java

    Lecture 396 Demo of LinkedHashMap in Java

    Lecture 397 [JAVA 9] Creating Immutable Maps

    Section 21: Set, HashSet, TreeSet, LinkedHashSet

    Lecture 398 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 399 Introduction to Set in Java

    Lecture 400 Demo of HashSet

    Lecture 401 How HashSet works internally

    Lecture 402 Iterating HashSet

    Lecture 403 Set operations

    Lecture 404 Demo of TreeSet in Java

    Lecture 405 Demo of LinkedHashSet in Java

    Lecture 406 [JAVA 9] Creating Immutable Sets

    Lecture 407 List vs Set

    Section 22: Enums in Java

    Lecture 408 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 409 Introduction to Enums

    Lecture 410 Problems with normal Java class constants approach

    Lecture 411 Demo of Enum approach

    Lecture 412 More details about enum - Part 1

    Lecture 413 More details about enum - Part 2

    Lecture 414 Associating Data to Enum Constants

    Lecture 415 Demo of EnumSet and it's important methods

    Lecture 416 Advantages of Enums

    Section 23: Date and Time in Java

    Lecture 417 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 418 How Java supports Date and Time

    Lecture 419 Why a new Date API introduced in Java 8

    Lecture 420 Demo of java.util.Date - Part 1

    Lecture 421 Demo of java.util.Date - Part 2

    Lecture 422 Date formatting and parsing using SimpleDateFormat

    Lecture 423 Demo of java.sql.Date

    Lecture 424 Demo of java.util.Calendar - Part 1

    Lecture 425 Demo of java.util.Calendar - Part 2

    Lecture 426 TimeZone specific Date and Time

    Lecture 427 [JAVA 8] Introduction to new Date & Time API from Java 8

    Lecture 428 [JAVA 8] The of() methods in java.time Date and Time API

    Lecture 429 [JAVA 8] The from() & withXxx() methods in java.time Date and Time API

    Lecture 430 [JAVA 8] The toXxx() & atXxx() methods in java.time Date and Time API

    Lecture 431 [JAVA 8} The getXxx(), plusXxx() and minusXxx() methods in new Date & Time API

    Lecture 432 [JAVA 8] Introduction to Instant and Duration in java.time Date and Time API

    Lecture 433 [JAVA 8] Demo of Instant and Duration in java.time Date and Time API

    Lecture 434 [JAVA 8] Period in java.time Date and Time API

    Lecture 435 [JAVA 8] The multipliedBy(), dividedBy() & negated() methods

    Lecture 436 [JAVA 8] The truncatedTo() method

    Lecture 437 [JAVA 8] Demo of ZoneId, ZonedDateTime

    Lecture 438 [JAVA 8] Demo of ZoneOffset

    Lecture 439 [JAVA 8] Demo of OffsetDateTime and OffsetTime

    Lecture 440 [JAVA 8] Demo of Day Light Saving with ZonedDateTime

    Lecture 441 [JAVA 8] Non-ISO Calendars in java.time Date and Time API

    Lecture 442 [JAVA 8] Formatting Dates and Times using DateTimeFormatter

    Lecture 443 [JAVA 8] Parsing Dates and Times using DateTimeFormatter

    Lecture 444 Funny memes around Java Date and Time APIs

    Section 24: [JAVA 8] Functional Programming using lambda expressions

    Lecture 445 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 446 Introduction to Functional Programming

    Lecture 447 Imperative style vs functional style programming

    Lecture 448 What are lambda expressions and their syntax

    Lecture 449 How to build Lambda expressions

    Lecture 450 Deep dive on Functional Interfaces

    Lecture 451 How Functional Interface & Lambda expressions are linked - Part 1

    Lecture 452 How Functional Interface & Lambda expressions are linked - Part 2

    Lecture 453 Anonymous inner class in the place of lambda expressions

    Lecture 454 Predefined Functional interfaces inside JDK

    Lecture 455 Deep dive on Predicate functional interface - Part 1

    Lecture 456 Deep dive on Predicate functional interface - Part 2

    Lecture 457 Deep dive on Function functional interface

    Lecture 458 Deep dive on UnaryOperator interface

    Lecture 459 Deep dive on Consumer interface

    Lecture 460 Deep dive on Supplier interface

    Lecture 461 Deep dive on BiFunctional Interfaces - Part 1

    Lecture 462 Deep dive on BiFunctional Interfaces - Part 2

    Lecture 463 Primitive Type functional interfaces - Theory

    Lecture 464 Primitive Type functional interfaces - Demo

    Lecture 465 Deep dive on Lexical Scoping of Lambda expressions

    Lecture 466 this and super inside lambda expression

    Lecture 467 Funny memes around Functional Programming

    Section 25: [JAVA 8] Building Lambda expressions using Method References

    Lecture 468 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 469 Introduction to Method References

    Lecture 470 Demo of Static Method Reference

    Lecture 471 Demo of Instance Method Reference

    Lecture 472 Demo of Instance method Reference using Class type

    Lecture 473 Demo of Constructor Reference

    Section 26: [JAVA 8] Streams API

    Lecture 474 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 475 Introduction to java.util.stream API

    Lecture 476 Creating a Stream from collections - Part 1

    Lecture 477 Creating a Stream from collections - Part 2

    Lecture 478 Streams have no storage

    Lecture 479 Introduction to Streams Pipeline

    Lecture 480 Demo of Streams map() method

    Lecture 481 Introduction to Streams flatMap() method

    Lecture 482 Demo of Streams flatMap() method

    Lecture 483 Demo of Streams filter() method

    Lecture 484 Demo of Streams limit() method

    Lecture 485 Demo of Streams skip() method

    Lecture 486 Streams are traversable only once

    Lecture 487 Introduction to Streams reduce() method

    Lecture 488 Demo of Streams reduce() method

    Lecture 489 Demo of Streams collect() method

    Lecture 490 Demo of Streams collectingAndThen() method

    Lecture 491 Demo of Streams groupingBy() and partitioningBy() method

    Lecture 492 Finding and Matching methods in Streams

    Lecture 493 Quick revision about stream pipeline

    Lecture 494 Deep dive on parallel streams and demo

    Lecture 495 Collections Vs Streams

    Section 27: [JAVA 8] Optional to deal with nulls in Java

    Lecture 496 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 497 Introduction to Optional class

    Lecture 498 Demo of Optional - Part 1

    Lecture 499 Demo of Optional - Part 2

    Lecture 500 Demo of ifPresent, ifPresentOrElse, orElse, orElseGet methods

    Lecture 501 Demo of orElseThrow, map, filter methods

    Lecture 502 Quick tip to filter null elements with Stream API

    Section 28: MultiThreading in Java

    Lecture 503 DETAILS OF SOURCE CODE AND PDF CONTENT

    Lecture 504 What is MultiThreading

    Lecture 505 How a program or a software executes inside a computer

    Lecture 506 Parallel vs Concurrent Execution

    Lecture 507 How multiple threads improve performance

    Lecture 508 Creating Threads in Java - Part 1

    Lecture 509 Creating Threads in Java - Part 2

    Lecture 510 MultiThreading Demo Program

    Lecture 511 Demo of Thread methods getId, threadId, getName, setName, currentThread, sleep

    Lecture 512 Demo of Thread method join, getPriority, setPriority

    Lecture 513 Demo of wait(), notify(), notifyAll() - Part 1

    Lecture 514 Demo of wait(), notify(), notifyAll() - Part 2

    Lecture 515 Introduction to Race condition & synchronized keyword

    Lecture 516 Demo of synchronized methods and blocks

    Lecture 517 Introduction to volatile keyword

    Lecture 518 Demo of volatile keyword

    Lecture 519 Introduction to Deadlock

    Lecture 520 Demo Deadlock & possible fixes

    Lecture 521 [JAVA 21] Introduction to Virtual Threads - Part 1

    Lecture 522 [JAVA 21] Introduction to Virtual Threads - Part 2

    Lecture 523 [JAVA 21] Introduction to Virtual Threads - Part 3

    Lecture 524 [JAVA 21] Demo of Virtual Threads

    Section 29: Thank You & Congratulations

    Lecture 525 Congratulations & Thank You

    Lecture 526 Bonus lectures

    Beginners aspiring to learn Java programming.,Experienced developers looking to expand their Java skills,Students and professionals seeking to advance their careers in software development