JVM:运行时数据区(二)

1.本地方法接口与本地方法栈

只要是程序中有native标记的方法,那么都会把这些方法放到本地方法栈中去,然后通过本地接口调用其他程序的功能
在这里插入图片描述

2.程序计数器

就是保存下一条即将执行的命令地址,比如有点类似班级课程表那样,记录了当天一堂课结束后,下一堂课上哪个
在这里插入图片描述

3.方法区

方法区:其实就是保存一个类的相关信息,比如class文件加载到我们JVM里后,这个class的相关类结构信息都保存在方法区的
在这里插入图片描述

4.栈

1.栈管运行,堆管存储

在这里插入图片描述

2.栈存储什么

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
栈,堆,方法区关系:
1.栈里保存的是对象的引用地址
2.堆里除了保存对象自己的数据,还保存了该对象的类结构的引用地址
在这里插入图片描述

5.堆

5.1.JDK7结构介绍

在这里插入图片描述
在这里插入图片描述

5.2.堆上创建对象过程

在这里插入图片描述

5.3.数据存储举例

在这里插入图片描述

5.4.对象生命周期和GC

在这里插入图片描述

1.新生区里又细分了8:1:1的堆结构,from区和to区每次GC后,都会先清空他们中占用比较多的内存,然后再把保留的其他 数据存放到他们中的另外一个空闲区域,每次GC,原来的区域都会全部清空一遍

在这里插入图片描述

5.5.永久区

在这里插入图片描述

1.jdk7的方法区的一个实现我们叫永久代,jdk8的方法区的一个实现我们叫元空间

在这里插入图片描述

5.6.堆参数调优

在这里插入图片描述

在这里插入图片描述

5.7.GC日志分析

在这里插入图片描述

在这里插入图片描述

6.GC

6.1.GC总体算法概述

在这里插入图片描述
在这里插入图片描述

6.2.引用计数法

在这里插入图片描述
在这里插入图片描述

6.3.复制算法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

劣势:
在这里插入图片描述

6.4.标记清除

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
劣势:
在这里插入图片描述

6.5.标记压缩算法

在这里插入图片描述
在这里插入图片描述
劣势:
在这里插入图片描述

6.6.四种算法比较

在这里插入图片描述

6.7.分代收集算法

在这里插入图片描述
在这里插入图片描述

6.8.四种算法比较

7. JMM

7.1.什么是JMM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值