什么是JVM运行时数据区
运行时数据区包括堆、方法区、栈、本地方法栈、程序计数器。
1. 堆
堆解决的是对象实例存储的问题,垃圾回收器管理的主要区域。
2. 方法区
方法区可以认为是堆的一部分,用于存储已被虚拟机加载的信息,常量、静态变量、即时编译器编译后的代码。
3. 栈
栈解决的是程序运行的问题,栈里面存的是栈帧,栈帧里面存的是局部变量表、操作数栈、动态链接、方法出口等信息。
3.1 栈帧 每个方法从调用到执行的过程就是一个栈帧在虚拟机栈中入栈到出栈的过程。
3.2 局部变量表 用于保存函数的参数和局部变量。
3.3 操作数栈 操作数栈又称操作栈,大多数指令都是从这里弹出数据,执行运算,然后把结果压回操作数栈。
4. 本地方法栈
与栈功能相同,本地方法栈执行的是本地方法,一个Java调用非Java代码的接口。
5. 程序计数器(PC寄存器)
程序计数器中存放的是当前线程所执行的字节码的行数。JVM工作时就是通过改变这个计数器的值来选取下一个需要执行的字节码指令。
猜你喜欢LIKE
相关推荐HOT
更多>>运行时异常和一般异常(受检异常)区别是什么?
RuntimeException异常和受检异常之间的区别:是否强制要求调用者必须处理此异常,如果强制要求调用者必须进行处理,那么就使用受检异常,否则就...详情>>
2022-11-17 11:35:00java编程入门先学什么
对于想学java编程但零基础的同学,初期刚入门肯定比较迷茫,但这再正常不过了。java编程是有一定门槛的,不可能伸手就来,初期学习一定要先打好...详情>>
2022-10-18 14:12:00介绍一下网关的作用
网关相当于一个网络服务架构的入口,所有网络请求必须通过网关转发到具体的服务。统一管理微服务请求,权限控制、负载均衡、路由转发、监控、安...详情>>
2022-10-11 16:25:19Jedis和redisson有哪些区别?
Jedis和Redisson都是Java中对Redis操作的封装。Redisson不仅封装了redis ,还封装了对更多数据结构的支持,以及锁等功能,相比于Jedis更加大。...详情>>
2022-10-10 13:58:00数据库的3大范式是什么?
每个属性都与主键有直接关系,而不是间接关系;如果有特殊情结,当然要特殊对待,数据库设计最重要的是看需求和性能,需求>性能>表结构。所以不...详情>>
2022-10-10 13:58:00Java培训问答更多>>
新Java行业疑惑解答:Java的内存管理是如何工作的?
新java script是什么?为什么要学java script
新java和大数据哪个好?未来哪个职业发展更好
新java培训班多久能学会?培训周期大概多久
新java script和java的区别有哪些?如何区分
新java script的数据类型主要有哪些?怎样学的更快
新c语言与java区别在哪里?去培训机构学哪个比较好
Java面试题库 更多>>
华为外包java面试题-Java实现单链表的逆序
Java程序员面试题
Java面试题及答案
什么是线程的上下文切换?
如何撤销已经推送(push)到远端仓库的提交(commit)信息?
你了解哪些加密算法?
- 北京校区
- 大连校区
- 广州校区
- 成都校区
- 杭州校区
- 长沙校区
- 合肥校区
- 南京校区
- 上海校区
- 深圳校区
- 武汉校区
- 郑州校区
- 西安校区
- 青岛校区
- 重庆校区
- 太原校区
- 沈阳校区
- 南昌校区
- 哈尔滨校区