12-31-2024, 10:55 AM
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