I'm a bit confused on the degree of "absolutes" here.
I know that memory allocation in C++ can be done by either heap or stack. And I know that Java's memory allocation can only be done via the heap.
Basically, is the following correct?
"Java doesn't have stack-based memory allocation [that programmers can directly access]" shouldn't be conflated with "Java still uses a function call stack to implement function calls, just like every other language".
http://en.wikipedia.org/wiki/Stack-based_memory_allocation http://en.wikipedia.org/wiki/Dynamic_memory_allocation