java虚拟机内存管理图如下图所示:

JVM笔记2-Java虚拟机内存管理简介

1.线程共享区,是所有的线程所共用的,线程共享区有一下几个组成:

  1.方法区:

        1.运行时常量池,已经被虚拟机加载的类信息(1.类的版本信息,2.字段,3.方法,4.接口等),常量,静态变量,即时编译器编译后的代码等数据。

        2.垃圾回收器也会光顾这个区域,例如常量池。

        3.HotSpot中用方法区来实现永久代。这样的做的好处就是,垃圾回收器可以像管理java堆一样管理这部分内存,省去了为方法区编写内存管理的工作,注意的是这

        仅仅限于HotSpot中,其他的虚拟机并没有永久代这个概念,虚拟机规范中,永久代不等于方法区,而且没有进行详细的规范说明。用方法区实现永久代并不是一个很好的途径

        HotSpot在JDK1.7中进行的改进。

 

  2.java堆:

        1.存储对象实例,可以人作为所有对象的实例存储在这里,涉及编译优化和虚拟机优化的时候有些对象实例并不存储在这里。

        2.垃圾收集器管理的主要区域。

        3.长时间存活的对象实例会被放入老年代去,不长期存活的会在新生代中。

        4.当对空间申请完后会抛出OutOfMemory的内存溢出异常。

>>>>阅读全文

相关文章:

  • 2021-09-09
  • 2021-04-11
  • 2021-05-09
  • 2021-07-31
  • 2021-04-13
  • 2021-06-17
  • 2021-07-27
  • 2021-04-29
猜你喜欢
  • 2021-04-18
  • 2021-05-30
  • 2021-09-03
  • 2021-08-24
  • 2021-11-04
相关资源
相似解决方案