Attempt to study Data Structures, Optimization and Algorithms related topics!
- For these courses one should configure GIT for handle projects.
git config --global http.postBuffer 524288000git config --global core.longpaths true.
All course material from Java Multithreading, Concurrency & Performance Optimization by Michael Pogrebinsky and Top Developer Academy LLC.
We were working with an old legacy system that was making two concurrent calls to a shared resource, causing inconsistent results that only appeared under load. The issue was subtle and difficult to reproduce, making it even harder to diagnose.
A recent course I had taken on Java Multithreading and Concurrency proved invaluable. It helped me identify the race condition and apply the synchronized keyword correctly to control access to the critical section. With proper thread coordination in place, the system stabilized without requiring a major rewrite of the legacy code.
~ DevelopersCradle
Contains my own notes with some course material to enforce learning experience.
This repository is made with with
hotkeys, therefore it will include configuration files which are related to this IDE this approach will be favored for now. βοΈ
If the content sparked π₯ your interest, please consider buying the course and start learning π.
Note: The material provided in this repository is only for helping those who may get stuck at any point of time in the course. It is very advised that no one should just copy the solutions(violation of Honor Code) presented here.
- Section 01 - Introduction. β
- Section 02 - Threading Fundamentals - Thread Creation. β
- Section 03 - Threading Fundamentals - Thread Coordination.
- Section 04 - Performance Optimization.
- Section 05 - Data Sharing Between Threads.
- Section 06 - The Concurrency Challenges & Solutions.
- Section 07 - Advanced Locking.
- Section 08 - Inter-Thread Communication.
- Section 09 - Lock-Free Algorithms, Data-Structures & Techniques.
- Section 10 - Threading Models for High Performance IO.
- Section 11 - Virtual Threads and High-Performance IO.
- Section 12 - Beyond Multithreading - Final Lecture.
All course material from Java Multithreading, Concurrency & Performance Optimization by Michael Pogrebinsky and Top Developer Academy LLC.
Story about vicotry!.
~ DevelopersCradle
Contains my own notes with some course material to enforce learning experience.
This repository is made with , therefore it will include configuration files which are related to this IDE this approach will be favored for now. βοΈ
If the content sparked π₯ your interest, please consider buying the course and start learning π.
Note: The material provided in this repository is only for helping those who may get stuck at any point of time in the course. It is very advised that no one should just copy the solutions(violation of Honor Code) presented here.
- Section 01 - Getting Started With the Course.
- Section 02 - Course Slides.
- Section 03 - Getting Started with Parallel and Asynchronous Programming.
- Section 04 - Course Project Setup.
- Section 05 - Threads, Future, ForkJoin and its Limitations.
- Section 06 - Getting Started with Parallel Streams.
- Section 07 - Build Retail Checkout Application using Parallel Streams.
- Section 08 - Parallel Streams - Under the Hood.
- Section 09 - Parallel Streams - Threading Model & Common ForkJoin Pool.
- Section 10 - Parallel Streams - Summary.
- Section 11 - CompletableFuture.
- Section 12 - Exploring CompletableFuture Functions.
- Section 13 - Build ProductService Application using CompletableFuture.
- Section 14 - Combining Streams and CompletableFuture.
- Section 15 - Exception Handling/Recovery in CompletableFuture.
- Section 16 - Implement Exception Handling/Recovery in ProductService.
- Section 17 - CompletableFuture & Threadpool.
- Section 18 - Threads and Async Overloaded Methods in CompletableFuture.
- Section 19 - Build Restful API Client using Spring WebClient and CompletableFuture.
- Section 20 - Handle Multiple CompletableFutures - anyOf(), allOf().
All course material from Java Application Performance Tuning and Memory Management by from Matt Greencroft and Virtual Pair Programmers with my own visual notes. βοΈ
I interviewed with Polar for an Advanced Java role, and the technical discussion immediately dove into multithreading, concurrency, and performance optimization. They asked about thread pools, synchronization strategies, deadlocks, optimizing CPU-bound versus IO-bound operations, and even Virtual Threads in Java. The questions were challenging and required more than just textbook knowledge β they wanted practical understanding of real-world thread behavior.
Thanks to a recent course on
Java Multithreading, Concurrency & Performance Optimization, I could confidently discuss thread-safe collections, locks, executor frameworks, and the advantages of Virtual Threads for scalable, lightweight concurrency. Even though I was not chosen for the position, the interview drove me to deeply pursue these concepts, strengthening my skills and confidence for future challenges.
~ DevelopersCradle
This repository is made with , therefore it will include configuration files which are related to this IDE this approach will be favored for now. βοΈ
If the content sparked π₯ your interest, please consider starting the course and start learning π.
Note: The material provided in this repository is only for helping those who may get stuck at any point of time in the course. It is very advised that no one should just copy the solutions(violation of Honor Code) presented here.
- Chapter 01 - Introduction.
- Chapter 02 - Just In Time Compilation and the Code Cache.
- Chapter 03 - Selecting the JVM.
- Chapter 04 - How memory works: the stack and the heap.
- Chapter 05 - Passing objects between methods.
- Chapter 06 - Memory exercise.
- Chapter 07 - Escaping References.
- Chapter 08 - Memory Exercise.
- Chapter 09 - The Metaspace and internal JVM memory optimisations.
- Chapter 10 - Tuning the JVMβs Memory Settings.
- Chapter 11 - Introducing Garbage Collection.
- Chapter 12 - Monitoring the Heap.
- Chapter 13 - Analyzing a heap dump.
- Chapter 14 - Generational Garbage Collection.
- Chapter 15 - Garbage Collector tuning & selection.
- Chapter 16 - Using a profiler to analyse application performance.
- Chapter 17 - Assessing Performance.
- Chapter 18 - Benchmarking with JMH.
- Chapter 19 - Performance and Benchmarking Exercise.
- Chapter 20 - How Lists Work.
- Chapter 21 - How Maps Work.
- Check the content from other student Link. β
All course material from Data Structures and Algorithms with Visualizations with Java by from Dinesh Varyani.
Add here some
~ DevelopersCradle
This repository is made with , therefore it will include configuration files which are related to this IDE this approach will be favored for now. βοΈ
Main: YouTube Source.
Optional: freeCodeCamp.
Optional: YouTube Source.
If the content sparked π₯ your interest, please consider starting the course and start learning π.
Note: The material provided in this repository is only for helping those who may get stuck at any point of time in the course. It is very advised that no one should just copy the solutions(violation of Honor Code) presented here.
- Introduction 00 - Data Structures and Algorithms with Visualizations. β
- Introduction 01 - Introduction to Data Structures. β
- Introduction 02 - Introduction to Algorithms. β
- Introduction 03 - Introduction to Algorithm Analysis. β
- Introduction 04 - Time Complexity of an Algorithm. β
- Introduction 05 - Space Complexity of an Algorithm. β
- Introduction 06 - Asymptotic Analysis of an Algorithm. β
- Introduction 07 - Asymptotic Notations | Omega, Theta and Big O Notations. β
- Introduction 08 - Types of Asymptotic Notations. β
- Introduction 09 - Analysis and Rules to calculate Big O notation. β
- Introduction 10 - Calculating Time complexity of Constant Algorithm (Big O). β
- Introduction 11 - Calculating Time complexity of a Linear Algorithm (Big O). β
- Introduction 12 - Calculating Time complexity of a Polynomial Algorithm (Big O). β
- Introduction 13 - Introduction to One-Dimensional Array. β
- Introduction 14 - Declaration and Initialization of a One-Dimensional Array. β
- Introduction 15 - Adding or Updating elements in a One-Dimensional Array | Implementation. β
- Introduction 16 - How to print elements of an Array in Java? | Animation. β
- Introduction 17 - How to print elements of an Array in Java? | Implementation β
- Introduction 18 - Remove Even Integers from an Array | Animation | Coding Interview Question. β
- Introduction 19 - Remove Even Integers from an Array | Implementation | Coding Interview Question. β
- Introduction 20 - How to Reverse an Array in Java - Animation. β
- Introduction 21 - How to Reverse an Array in Java? | Implementation. β
- Introduction 22 - How to find Minimum value in an Array? | Animation. β
- Introduction 23 - How to find Minimum value in an Array? | Implementation.
- Introduction 24 -
- Introduction 25 -
- Introduction 26 -
- Introduction 27 -
- Introduction 28 -
- Introduction 29 -
- Introduction 30 -
- Introduction 31 -
- Introduction 32 -
- Introduction 33 -
- Introduction 34 -
- Introduction 35 -
- Introduction 36 - Represent a Singly Linked List in Java. β
- Introduction 37 - How to Implement a Singly Linked List in Java | Data Structures and Algorithms. β
- Introduction 38 - Create a Singly Linked List in Java (Animation). β
- Introduction 39 - Create a Singly Linked List in Java (Implementation). β
- Introduction 40 - Print elements of a Singly Linked List in Java (Animation). β
- Introduction 41 - Print elements of a Singly Linked List in Java (Implementation).
- Introduction 42 - Find length of a Singly Linked List in Java (Animation). β
- Introduction 43 - Find length of a Singly Linked List in Java (Implementation). β
- Introduction 44 - Insert node at the beginning of a Singly Linked List in Java (Animation). β
- Introduction 45 - Insert node at the beginning of a Singly Linked List in Java (Implementation). β
- Introduction 46 - Insert node at the end of a Singly Linked List in Java (Animation). β
- Introduction 47 - Insert node at the end of a Singly Linked List in Java (Implementation). β
- Introduction 48 - Insert a node in a Singly Linked List at a given position (Animation). β
- Introduction 49 - Insert a node in a Singly Linked List at a given position (Implementation). β
- Introduction 50 - Delete first node of a Singly Linked List in Java (Animation).
- Introduction 51 -
- Introduction 52 -
- Introduction 53 -
- Introduction 54 -
- Introduction 55 -
- Introduction 56 -
- Introduction 57 -
- Introduction 58 -
- Introduction 59 -
- Introduction 60 -
- Introduction 61 -
- Introduction 62 -
- Introduction 63 -
- Introduction 64 -
- Introduction 65 -
- Introduction 66 -
- Introduction 67 -
- Introduction 68 -
- Introduction 69 -
- Introduction 70 -
- Introduction 71 -
- Introduction 72 -
- Introduction 73 -
- Introduction 74 -
- Introduction 75 -
- Introduction 76 -
- Introduction 77 -
- Introduction 78 -
- Introduction 79 -
- Introduction 80 -
- Introduction 81 -
- Introduction 82 -
- Introduction 83 -
- Introduction 84 -
- Introduction 85 -
- Introduction 86 -
- Introduction 87 -
- Introduction 88 -
- Introduction 89 -
- Introduction 90 -
- Introduction 91 -
- Introduction 92 -
- Introduction 93 -
- Introduction 94 -
- Introduction 95 -
- Introduction 96 -
- Introduction 97 -
- Introduction 98 -
- Introduction 99 -
- Introduction 100 -
- Add first captions for all the chapters, like
#someThing, so can be linked.
todo this desc.
Contains my own notes with some course material to enforce learning experience.
This repository is made with , therefore it will include configuration files which are related to this IDE this approach will be favored for now. βοΈ
If the content sparked π₯ your interest, please consider buying the course and start learning π.
Note: The material provided in this repository is only for helping those who may get stuck at any point of time in the course. It is very advised that no one should just copy the solutions(violation of Honor Code) presented here.
- Section 01 - Add here.
All course material from Data Structures and Algorithms: Deep Dive Using Java by Goran Lochert, Tim Buchalka and Tim Buchalka's Learn Programming Academy.
I once interviewed with Vaisala for the Observation Network Manager NM10 role, where the technical discussion went deep into data structures and their operations. The interview challenged my understanding of trees, graphs, and timeβspace trade-offs in ways I hadnβt fully experienced before. Project.
Although I wasnβt selected for the position, the experience became a turning point. It drove me to truly internalize the concepts through a deep dive into
Data Structures and Algorithms using Java, strengthening both my problem-solving approach and technical confidence for future challenges.
~ DevelopersCradle
Contains my own notes with some course material to enforce learning experience.
This repository is made with with Eclipse hotkeys. This is why it will include configuration files which are related to this IDE this approach will be favored for now. βοΈ
If the content sparked π₯ your interest, please consider buying the course and start learning π.
Note: The material provided in this repository is only for helping those who may get stuck at any point of time in the course. It is very advised that no one should just copy the solutions(violation of Honor Code) presented here.
- Section 01 - Introduction. β
- Section 02 - Arrays and Big-O Notation.
- Section 03 - Sort Algorithms Deep Dive.
- Section 04 - Mastering Lists in Java: Implementations and Applications.
- Section 05 - Stack Data Structures: Implementation and Use Cases.
- Section 06 - Mastering Queue Data Structures: Implementation and Applications in Java.
- Section 07 - Hash Tables: Mastering Key-Value Data Structures for Efficient Data Retrieval.
- Section 08 - Optimized Search Algorithms in Java: Linear and Binary Search.
- Section 09 - Mastering Tree Data Structures: Implementation and Optimization in Java.
- Section 10 - Mastering Heaps: Priority Queues and Heapsort Algorithm in Java.
- Section 11 - Final Section: Concluding the Course with Key Takeaways and Sets.
- Section 12 - Extra Information - Source code, and other stuff.







