Understanding Stack, Heap, and Memory Management in C++
Stack Memory
Stack memory is a limited memory space (typically around 8MB) used for storing function parameters, return addresses, and local variables. When a function is called, it creates a stack frame containing these elements.
void exampleFunction() {
int localVar = 42; // Stored in stack
}
Heap Memory
The heap (or system heap) is a g ...
Posted on Sat, 07 Nov 2026 16:09:42 +0000 by dgoosens
Java Mechanisms: Compound Assignments, Stream Processing, Memory Leaks, and Serialization
Compound Assignment vs Simple AssignmentThe expression a += b performs implicit type casting, equivalent to a = (type of a)(a + b), which prevents compilation errors when types mismatch. Conversely, a = a + b requires strict type compatibility; otherwise, it results in a compile-time error without automatic downcasting.JDK 8 EnhancementsJDK 8 i ...
Posted on Fri, 06 Nov 2026 16:33:24 +0000 by bsprogs
Critical Pitfalls When Using Arrays.asList in Java
One of the most common mistakes is passing an array of primitive types (like int[]) to the Arrays.asList method. Since generics in Java do not support primitive types, the method interprets the entire primitive array as a single object rather than a collection of elements. Consequently, the resulting List will have a size of 1, and printing it ...
Posted on Wed, 21 Oct 2026 16:33:02 +0000 by Ell20
Mechanisms Behind ThreadLocal Memory Leaks
Internal Storage ArchitectureA ThreadLocal does not store values directly. Instead, it relies on a three-tier reference chain within the JVM, which is the root cause of potential memory leaks:Thread: Each thread instance contains a member variable of type ThreadLocalMap.ThreadLocalMap: This map stores data in an array of Entry objects.Entry: Th ...
Posted on Fri, 24 Jul 2026 17:12:21 +0000 by Lautarox
Detecting Memory Leaks with Visual C++ CRT Debug Heap
Required Header Includes
To use the CRT debug heap functions, include headers in strict order:
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
The _CRTDBG_MAP_ALLOC macro must be included without fail. Omitting this macro causes the memory leak report to miss critical details, including the source file name and li ...
Posted on Wed, 03 Jun 2026 16:29:41 +0000 by duckula
Understanding Java ArrayList subList() Pitfalls and Safe Usage
Memory Leak Caused by subList
A common mistake with subList() is inadvertently retaining a reference to the original large list, leading to an OutOfMemoryError. Consider this example:
@Slf4j
public class SubListDemo {
public static void subListOOM() {
List<List<Integer>> data = new ArrayList<>();
for (int ...
Posted on Sat, 09 May 2026 05:39:15 +0000 by jstone3503