The Complete Java 23 Bootcamp - From Beginner To Expert 
Published 11/2024 
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz 
Language: English | Size: 4.38 GB | Duration: 16h 36m
 
Everything you need to know about Java programming from OOP to advanced memory management principles 
What you'll learn 
Java programming fundamentals 
Object oriented programming (OOP) 
Memory management - stack and heap memory 
Garbage collection and how Java manages memory 
Java Streams 
Generics 
Multithreading and virtual threads 
Requirements 
Internet connection 
Description 
This course is about Java programming language. The Complete Java 23 Bootcamp - From Beginner to Expert helps to learn the fundamentals of object oriented programming. Let's consider the topics you will learn about:Section 1 - Java Basicsvariables, data types and type castingloops and conditionalsmethods and operatorslife cycle of a theadSection 2 - Object Oriented Programming (OOP)classes and objectsclass methods and packagesmodifiers and constructorspass by value and pass by referenceinheritancecompositionpolymorphism and abstractionencapsulationinterfaces, records and sealed classesSection 3 - Memory Managementstack and heap memorygarbage collectionZGC and generational garbage collectionSection 4 - Exceptionsexceptions and errorstry-catch blocksthrows and throw keywordsSection 5 - File Handling and SerializationFiles in JavaFileReader and FileWriterFileInputStream, DataInputStream and handling filesSection 6 - Stringsconstant string pool (intern pool)string comparisonintern() methodSection 7 - Genericsgeneric methods and classesSection 8 - Java Collection Frameworkarrays and listshashmaps and hash setsrunning time comparison of data structuresSection 9 - Lambda Expressionslambda expressionsmethod referencesSection 10 - StreamsJava stream APIexternal and internal iterationshort-circuiting and loop fusionoptionalsparallelizationSection 11 - Multithreading and Virtual Threadsthreads and processesthread lifecyclesynchronizationvirtual threadsWe are going to discuss the theory behind each concept and then we take a look at the concrete implementation in Java as well. You will get lifetime access to 180+ lectures plus slides and source codes for the lectures! This course comes with a 30 day money back guarantee! If you are not satisfied in any way, you'll get your money back.So what are you waiting for? Learn Java in a way that will advance your career and increase your knowledge, all in a fun and practical way! 
Overview 
Section 1: Environment & Settings 
Lecture 1 Java architecutre intoruction - JDK, JRE and JVM 
Lecture 2 Java versions 
Lecture 3 Installing Java JDK 23 
Lecture 4 Installing IntelliJ 
Lecture 5 Running Java applications from command line 
Section 2: Java Basics & Variables 
Lecture 6 First steps 
Lecture 7 Using comments 
Lecture 8 Variables 
Lecture 9 Data types 
Lecture 10 Type casting 
Lecture 11 Strings 
Lecture 12 Booleans 
Lecture 13 Arrays in Java 
Section 3: Conditionals 
Lecture 14 If statement introduction 
Lecture 15 If-else statement 
Lecture 16 Nested if-else statement 
Lecture 17 Switch 
Lecture 18 Switch with the new approach 
Section 4: Loops 
Lecture 19 What are loops in Java? 
Lecture 20 For loops 
Lecture 21 For loops with arrays 
Lecture 22 Nested for loops 
Lecture 23 Break and continue 
Lecture 24 While loops 
Lecture 25 Do-while loops 
Section 5: Methods 
Lecture 26 What are methods in Java? 
Lecture 27 Parameters in methods 
Lecture 28 Return 
Lecture 29 Method overloading 
Lecture 30 Scopes 
Lecture 31 Using var 
Section 6: Arrays 
Lecture 32 One and multi-dimensional arrays overview 
Lecture 33 Arrays example 
Lecture 34 Arrays class in Java 
Section 7: Operators 
Lecture 35 What are Java operators? 
Lecture 36 Arithmetic and conditional operators 
Lecture 37 Logical operators 
Lecture 38 Ternary operators 
Section 8: Object Oriented Programming (OOP) Fundamentals 
Lecture 39 What is object oriented programming (OOP)? 
Lecture 40 Classes and objects in Java 
Lecture 41 Class attributes 
Lecture 42 Class methods 
Lecture 43 Packages and import 
Lecture 44 Modifiers 
Lecture 45 Real world example 
Lecture 46 Constructors 
Lecture 47 Local and instance variables 
Lecture 48 What is null? 
Lecture 49 Pass-by-value and pass-by-reference problem 
Section 9: Object Oriented Programming (OOP) Principles 
Lecture 50 Inheritance 
Lecture 51 Composition 
Lecture 52 Override 
Lecture 53 Polymorphism 
Lecture 54 Abstraction 
Lecture 55 Encapsulation 
Lecture 56 Instanceof operator 
Section 10: More About Classes 
Lecture 57 What are nested classes? 
Lecture 58 Member inner classes 
Lecture 59 Local inner classes 
Lecture 60 Anonymous inner classes 
Lecture 61 Static nested classes 
Section 11: WrapperClasses, Autoboxing & Unboxing 
Lecture 62 What are wrapper classes? 
Lecture 63 Autoboxing and unboxing 
Lecture 64 Wrapper classes main methods 
Lecture 65 Number wrapper classes and methods 
Lecture 66 Character wrapper classes and methods 
Section 12: Overloading & Overriding 
Lecture 67 More about constructors - overloading 
Lecture 68 Constructor overloading 
Lecture 69 Method overloading 
Lecture 70 Overloading vs. overriding in Java 
Section 13: Memory Management 
Lecture 71 Stack memory and heap memory introduction 
Lecture 72 Stack memory and heap memory visualization 
Lecture 73 Heap memory example 
Lecture 74 What is garbage collection? 
Lecture 75 ZGC and generational garbage collection 
Lecture 76 Garbage collection - finalize() method 
Section 14: Exceptions 
Lecture 77 What are exceptions and errors? 
Lecture 78 Using try-catch blocks 
Lecture 79 Using multiple try-catch blocks 
Lecture 80 Throws and throw keywords 
Lecture 81 Throws with inheritance 
Lecture 82 Differences between final, finally and finalize 
Section 15: File Handling & Serialization 
Lecture 83 File handling overview in Java 
Lecture 84 FileReader and FileWriter - handling texts 
Lecture 85 FileInputStream - handling binary data 
Lecture 86 DataInputStreams - handling primitive data types 
Lecture 87 Serializing objects I 
Lecture 88 Serializing objects II 
Section 16: Strings 
Lecture 89 What is the Constant String Pool (Intern Pool)? 
Lecture 90 String comparison 
Lecture 91 String intern() method 
Lecture 92 String methods 
Lecture 93 StringBuilder and StringBuffer 
Lecture 94 StringBuilder examples 
Lecture 95 Running time comparison of string operations 
Section 17: Enums, Dates & Time 
Lecture 96 What are enumerations (enums)? 
Lecture 97 Enums example I 
Lecture 98 Enums example II 
Lecture 99 Dates and time overview 
Lecture 100 Dates and time - classic way 
Lecture 101 Dates and time - new way I 
Lecture 102 Dates and time - new way II 
Section 18: Generics 
Lecture 103 What is generic programming in Java? 
Lecture 104 Generic methods 
Lecture 105 Generic classes 
Lecture 106 Wildcards overview 
Lecture 107 Generic upper bounded wildcards 
Lecture 108 Generic lower bounded wildcards 
Lecture 109 Generic unbounded wildwards 
Section 19: Java Collection Framework 
Lecture 110 What is the collection framework in Java? 
Lecture 111 ArrayList introduction 
Lecture 112 ArrayList example 
Lecture 113 LinkedList introduction 
Lecture 114 LinkedList example 
Lecture 115 Running time comparison of arrays and linked lists 
Lecture 116 Queues and Stacks introduction 
Lecture 117 Queues and Stacks example 
Lecture 118 Maps introduction 
Lecture 119 HashMap, LinkedHashMap and TreeMap example 
Lecture 120 TreeMap and HashMap performance comparison 
Lecture 121 equals() and hashCode() methods 
Lecture 122 Set example 
Section 20: Collections Class 
Lecture 123 Collections methods overview 
Lecture 124 Unmodifiable collections 
Lecture 125 Synchronized collections 
Lecture 126 Sorting arrays 
Lecture 127 Sorting collections 
Lecture 128 Comparable interface 
Lecture 129 Comparator interface 
Section 21: Lambda Expressions & Lambda References 
Lecture 130 Lambda expression and functional interface 
Lecture 131 Lambda expression 
Lecture 132 Functional interfaces (Consumer, Supplier, Function and Predicate) 
Lecture 133 Method reference overview 
Lecture 134 Method references example I 
Lecture 135 Method references example II 
Lecture 136 forEach with lambda and method reference 
Section 22: Streams 
Lecture 137 What is the Stream API? 
Lecture 138 Streams with numbers 
Lecture 139 Streams with strings 
Lecture 140 Collections and streams 
Lecture 141 Streams with custom objects - part 1 
Lecture 142 Streams with custom objects - part 2 
Lecture 143 External and internal iteration 
Lecture 144 Processing files with streams 
Lecture 145 Short-circuiting and loop fusion 
Lecture 146 map() and flatMap() 
Lecture 147 Optionals and other important concepts 
Lecture 148 OptionalInt, OptionalFloat and OptionalDouble 
Lecture 149 allMatch(), noneMatch(), findFirst() and findAny() 
Lecture 150 Parallelization - example #1 
Lecture 151 Parallelization - example #2 
Lecture 152 Parallelization - example #3 
Section 23: Multithreading and Concurrency 
Lecture 153 Why do we need multithreading in Java? 
Lecture 154 Understanding processes and threads 
Lecture 155 How to create threads? 
Lecture 156 Multithreading example 
Lecture 157 Understanding thread lifecycle 
Lecture 158 What is synchronization? 
Lecture 159 Synchronized 
Lecture 160 Synchronized block 
Lecture 161 Synchronization - wait, notify 
Section 24: Virtual Threads (Project Loom) 
Lecture 162 What are virtual threads? 
Lecture 163 Understanding virtual threads and OS threads 
Lecture 164 Creating virtual threads 
Lecture 165 Comparison: platform vs virtual threads 
Lecture 166 Using ExecutorService to create virtual threads 
Lecture 167 Virtual thread pinning 
Lecture 168 Understanding Futures 
Lecture 169 Understanding CompletableFutures I 
Lecture 170 Understanding CompletableFutures II 
Lecture 171 What is structured concurrency? 
Lecture 172 StructuredTaskScope and Subtask 
Lecture 173 ShutdownOnFailure 
Lecture 174 ShutdownOnSuccess 
Lecture 175 Continuations and coroutines 
Lecture 176 Scaling with virtual threads 
Section 25: ChatGPT 
Lecture 177 How to use ChatGPT for programming I 
Lecture 178 How to use ChatGPT for programming II 
Beginner programmers curious about Java programming language
RapidGator
NitroFlare
DDownload