在堆栈或堆内存中创建线程对象的位置?

Where a thread object is created in stack or in heap memory?

实际上我最近在一次采访中被问到这个问题,我回答堆栈,我认为线程将执行方法是正确的,但是你能解释一下为什么线程是在堆栈中创建的吗?如果不是,那么为什么它是在堆中创建的。

提前致谢

heap内存和stack内存的主要区别在于,栈内存用于存储局部变量和函数调用,而堆内存用于在Java中存储对象。无论在代码中何处创建对象。

所以线程对象存储在堆中。

此外,每个线程都有自己的堆栈来保存自己的局部变量和函数调用。