java - 在java中可以用静态内存分配和动态内存分配来创建对象吗?

标签 java object memory-management

在java中可以同时使用静态内存分配和动态内存分配来创建对象吗?

最佳答案

如果通过静态内存,你的意思是在栈上,不,所有对象都分配在堆上。堆栈上只分配原语。

编辑:我仍然不确定动态和静态是否分别指堆和堆栈,但这通常是具有 C/C++ 背景的人的问题来源,因为这些语言使开发人员可以控制那个。

在 Java 中,当您执行以下操作时:

 Object o = new Object();

这将在堆上分配内存。如果在一个方法中你这样做:

 int i = 1;

然后那个int分配到栈上(如果是类中的字段,那么就分配到堆上)。

关于java - 在java中可以用静态内存分配和动态内存分配来创建对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1354583/

相关文章:

java - 从 Java Runtime exec() 重定向到/bin/bash

java - 在Java中使用泛型实现一个接受int和double并返回sum的列表

javascript - 对对象数组进行过滤和映射

JavaScript 新关键字和内存管理

ios - 如何保留 UIView Controller (ARC)

java - 使用 c :redirect? 重定向用户浏览器是否安全

java - 在调用构造函数之前,Java 中的对象是否在堆上创建?

java - slf4j:有什么方法可以抑制 NOP 错误消息?

JavaScript : Extract properties from JSON object

algorithm - 如何处理内存分配的时间复杂度?