其中静态对象存储在java中

我正在读一本书“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可以为您提供高水平的概述.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...