程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

在方法内创建设置为新对象的实例变量是否比在方法内创建局部变量更节省内存?

发布于2021-10-16 09:30     阅读(506)     评论(0)     点赞(4)     收藏(0)


我觉得这个问题不看任何代码有点令人困惑,所以这是我的例子:

这个:

public class Example {

    public Object foo() {
        return new Object();
    }
}

与这个:

public class Example {

    private Object object;

    public Object foo() {
        object = new Object();
        return object;
    }
}

第二个例子是否只是切换实例变量的内存地址而不是创建一个新的?这样做是否可以节省内存?

我问的原因是因为该方法很可能在程序运行时被调用很多次

谢谢!


解决方案


第二个例子是否只是切换实例变量的内存地址而不是创建一个新的?这样做是否可以节省内存?

不,新实例将在内存中的新位置创建。

在垃圾回收确定没有对现有实例的引用之前,现有内存将不可用。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/303947/0fb9c7c3c240aaee5b58/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

4 0
收藏该文
已收藏

评论内容:(最多支持255个字符)