java堆的结构,以及堆中的永久代

来源:互联网 发布:java开源短信平台 编辑:程序博客网 时间:2024/06/08 07:52
      jvm的堆是运行时数据区,所有类的实例和数组都是在堆上分配内存,它在jvm在启动时被创建,对象所占的内存是由自动内存管理系统也就是垃圾回收器回收。      堆内存是由存活的对象以及死亡的对象组成的。存活的对象不会被垃圾回收器回收,死亡的对象是还没有被垃圾回收器回收的对象。等下一个周期被回收。        如果一个对象被声明为null,则在第一个周期该对象不会被回收,在下一个周期中该对象被回收。       永久代:持久代主要存放类定义,字节码,和常量等很少会变更的信息。并且永久代不会发生垃圾回收,如果永久代满了或者是超过了临界值,会触发完全垃圾回收(Full Gc)。       而在java8中,已经移除了永久代,新加了一个叫做元数据区的native内存区。
1 0