I would say that programmers can directly access it. You cannot place arrays on the stack, but you can declare local variables, be it primitives or references. For instance:.
static void foo(double baz)
{
int foo = ...;
JFrame baz = ...;
}
foo, bar and baz are all pushed onto the stack (while the JFrame object is pushed onto the heap).
, , . , JVM , , ( ). , ladd , , . StackOverflowError.