java动态内存分配?

标签 java memory-management instantiation

为什么使用 new 关键字的对象初始化称为动态内存分配,因为编译时本身我们需要知道该对象所需的内存。

另外请解释当您在 heapstack 中执行 ClassA object = new ClassA(); 时会发生什么。

最佳答案

所有 Java 对象都是动态分配的。您总是传递对它们的引用。这就是语言的设计方式。当你这样做时:

ClassA obj = new ClassA();

然后在堆上分配对象并将对它的引用存储在堆栈上(当然,假设它在方法内部)。这意味着您始终可以传递对象,而不必担心它们的存储位置。

关于java动态内存分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2532767/

相关文章:

ios - 关于IOS内存管理的困惑

arrays - Firestore实例化对象与数据恢复Swift 5.0

java - Azure Functions 和临时文件存储

java - 无法使用Java中的参数化构造方法实例化对象

c++ - _bstr_t 内存泄漏

c++ - 如何删除此 Void Pointer?

java - 如何使用迭代器从Json中获取多个元素

java - 如何在 2-3 树 java 中找到正确的子节点进行搜索

c# - Unity - 在实例化时传递参数

C++ 使用默认值在 Struct 中实例化 2D Vector