资讯专栏INFORMATION COLUMN

java内存区域初窥

Anchorer / 3249人阅读

摘要:运行时数据区域程序计数器程序计数器是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。唯一一个不会出现情况的区域。

运行时数据区域

程序计数器

程序计数器 (Program Counter Register) 是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型(各种虚拟机可能会通过更高效的字节码去实现)里,字节码解释器工作时就是通过改变这个计算器的值来选取 下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。

每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储。线程私有。

线程执行的是一个java方法,计数器记录的是正在执行的虚拟机字节码制定地址。

线程执行的是一个native方法,这个计数器值则为空(undefined)。

唯一一个不会出现OutOfMemoryError情况的区域。

java虚拟机栈

java虚拟机栈 (Java Virtual Machine Stacks) 描述的是java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态连接、方法出口等。

线程私有,生命周期与线程相同

如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError异常

如果虚拟机栈可以动态扩展,如果扩展时无法申请到足够的内存,则将抛出OutOfMemoryError异常

本地方法栈

与java虚拟机栈所发挥的作用非常相似,本地方法栈 (Native Method Stack) 是为虚拟机所使用的native方法服务。

java堆

一般来说,java堆 (Java Heap) 是java虚拟机所管理的内存最大的一块,此区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。

所有线程共享的内存区域

垃圾收集器管理的主要区域(GC堆),还可以细分为新生代和老年代或者Eden空间、From Survivor空间和to Survivor空间

java堆可以处于物理上不连续的内存空间中,只要逻辑上连续的即可(可通过-Xmx和-Xms控制大小)

方法区

方法区(Method Area)是用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

线程共享

运行时常量

运行时常量是方法区的一部分,Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池,用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66974.html

相关文章

  • 初窥Socket:与自己聊次天

    摘要:什么是网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个。通常用来实现客户方和服务方的连接。 什么是Socket 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确...

    Y3G 评论0 收藏0
  • 初窥Socket:与自己聊次天

    摘要:什么是网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个。通常用来实现客户方和服务方的连接。 什么是Socket 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。Socket通常用来实现客户方和服务方的连接。Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确...

    苏丹 评论0 收藏0
  • Spring AOP 源码初窥(二) 从注解开始

    摘要:版本从注解开始由于在本人实际应用中使用的是注解配置,也更倾向于了解的整个实现,而不仅仅是关键实现。于是本篇源码解析,将会从注解开始。那么,便从的源码引用开始吧。的引用先从源码中找有引用到,用来判断是否有该注解的代码。 版本 spring 5.0.8.BUILD-SNAPSHOT aspectjweaver 1.8.13 从注解开始 由于在本人实际应用中使用的是注解配置AOP,也更倾...

    Amio 评论0 收藏0

发表评论

0条评论

Anchorer

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<