我正在读一本书“Thinking in Java”
对象存储在堆上,而静态变量存储在一些固定位置,比如静态存储,这样它们就可以在整个程序运行时可用.
class Myclass{
static int x =0; //stored on static storage
Myclass obj = new Myclass(); //stored on heap
}
虽然制作一个对象,但就OOPS而言,静态不是一个好主意.把它搁置一段时间.有我的问题
>存储声明为static的对象在哪里.
>在这种情况下,JVM如何进行实例化.
class Myclass {static Myclass obj = new Myclass(); //无人区 }
最佳答案
所有静态内容都将在类加载/启动时创建并存储在特殊位置(很可能是perm gen的一部分,根据实现而不同).
对于第二个示例,当您的Myclass被加载时,它的静态内容将被创建/实例化.
这个tutorial可以为您提供高水平的概述.
原文地址:https://www.jb51.cc/java/438196.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。