jvm内存划分

jvm虚拟机按运行时内存使用区域划分:

1、方法区
2、堆
3、本地方法栈
4、虚拟机栈
5、程序计数器

其中方法区和堆是线程共享的,而:本地方法栈、虚拟机栈、程序计数器是线程隔离的(即:jvm虚拟机为每个线程创建)

程序计数器:
1、程序计数器就是记录当前线程执行程序的位置,改变了值就指向了下一个指令的位置,比如循环,方法跳转,异常处理,程序恢复等。
2、java虚拟机多线程是通过线程轮换并分配执行时间的方式来实现的,为了保证线程切换中能恢复到正确的位置,每个线程都有一个独立的程序计数器,所以程序计数器是私有的。
3、本区域是唯一一个不会出现OutOfMemMemoryError的区域。
4、如果正在执行的是一个java线程,那么计数器存储是虚拟机字节码指令地址;如果是native方法,则为空

虚拟机栈:
1、虚拟机执行java程序的时候,每个方法都会创建一个栈帧,栈帧存放在虚拟机栈内,通过压栈出栈的方式进行方法调用
2、所以虚拟机栈也是私有的,虚拟机栈生命周期和线程相同,
3、栈帧包含了方法的局部变量表、操作数栈、返回地址、动态链接等 (https://blog.csdn.net/wb_snail/article/details/80610676)

本地方法栈(native method stack):
1、虚拟机调用本地方法服务。
2、作用类似于虚拟机栈,存储本地方法的局部变量表、操作数栈、返回地址、动态链接。
3、线程私有的

堆:
1、虚拟机启动时创建的、是所有线程共享的
2、存储的是对象的实例
3、平时所说的垃圾回收说的就是堆

方法区:
1、方法区也是线程共享的的区域
2、用来存储虚拟机加载的类信息、静态变量、常量等数据

直接内存(Direct Memory):
1、不是虚拟机运行时数据区的一部分,
2、也不是Java虚拟机规范中定义的内存区域,
3、但是这部分内存也被频繁地使用,而且也可能导致OutOfMemoryError异常出现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值