The stack contains all the local variables and all active method invocations.
The heap hold everything else.
As for your sub question: it means a new stack is created with its own dedicated memory.
While your new thread will share the total heap space (memory) allocated by the jvm