Stack vs Heap Java: A Comprehensive Comparison