是否可以将对象存储在堆栈上而不是 Java 中的堆上?
是否可以将对象存储在堆栈而不是堆上?
我最近浏览了这个博客 http://www.programmerinterview.com/index.php/data-structures/difference-between-stack-and-heap/
是否可以将对象存储在堆栈而不是堆上?
是的,对象可以存储在堆栈上。如果在函数内创建一个对象而不使用“new”运算符,那么这将创建对象并将其存储在堆栈上,而不是堆上。假设我们有一个名为 Member 的C++类,我们要为其创建一个对象。我们还有一个名为 somefunction( ) 的函数。代码如下所示:
他们建议对象可以存储在堆中。这令人困惑。
我以为,
-
Java 中的所有对象都存储在堆上。
它是否由
a.
b 创建。使用
c.使用
d.使用方法
e. 使用对象反序列化。new Keyword
Class.forName().
clone().
newInstance()
-
方法,线程和变量在堆栈中。
-
类变量(静态变量)存储为与该类关联的 Class 对象的一部分。这个类对象只能由 JVM 创建,并存储在永久生成中。
如果我错了,请纠正我。
现在我怀疑对象是否可以以任何形式驻留在或存储在堆栈中。
谢谢。