日期:2014-05-20  浏览次数:20771 次

new 出大量的静态内部类会不会造成方法区溢出?
小弟搜寻很多资料,都是说静态内部类相当于外部类一个静态变量,如果我在这个外部类或者其他地方new出大量的静态内部类,就是相当于生产很多静态变量,这样话就会造成方法区溢出?还是静态内部类的GC方式和普通类一样?
静态内部类的实例和普通类一样应该也会放在堆里吧?谢谢

------解决方案--------------------
静态内部类也是类,它的实例也是在堆上创建的,资料上说静态内部类相当于外部类一个静态变量只不过是为了加深理解而已
------解决方案--------------------
[code=Java][/code]package text6;

public class Test {
static class A{
};

public static void main(String args[]){
Test.A a[] = new Test.A [1024*1024*1024];
}
}
------解决方案--------------------
运行时会提示内存不够,静态内部类的确是类,而非变量,相当于静态变量只是帮助你去理解而已