学习jvm--在有限的空间做无限的事

javap 反汇编 >文件名

1.执行引擎==》程序计数器(字节码文件的行号)==》栈(局部变量表,操作数栈,方法出口等)

==》堆(对象Object)==》方法区(java8叫元空间,存放Class)

2.本地方法栈:是系统本地的方法,java没有实现,只是去调用,例如Thread.sleep()

3.堆:(分代回收:让更少的对象进入老年代,像金字塔一样的晋升。性能调优:减少STW出现的次数)

  新生代(约占1/3内存):

     Eden(8)【伊甸园】:98%对象创建的地方 

            minor gc(gc roots【可达性算法】):回收没有被引用的对象

     From(1):gc没有回收的对象,进入此区域,分代年龄age+=1,默认从0开始

     To(1):大于等于二次gc后 与from区交换,内容和名字都交换

  老年代(约占2/3内存):1.分代年龄age=15后进入老年代 2.创建对象内存占比超过from区的50%

         full gc(STW【停顿】)

 

相关文章:

  • 2022-12-23
  • 2021-07-11
  • 2022-02-23
  • 2021-07-24
  • 2022-02-22
  • 2021-06-06
  • 2021-07-19
  • 2021-12-21
猜你喜欢
  • 2022-12-23
  • 2021-09-09
  • 2021-09-19
  • 2021-10-28
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案