程序计数器(线程私有)

程序计数器(Program Counter Register),也有称作为 PC 寄存器。保存的是程序当 前执行的指令的地址(也可以说保存下一条指令的所在存储单元的地址),当 CPU 需要执 行指令时,需要从程序计数器中得到当前需要执行的指令所在存储单元的地址,然后根据得 到的地址获取到指令,在得到指令之后,程序计数器便自动加 1 或者根据转移指针得到下 一条指令的地址,如此循环,直至执行完所有的指令。也就是说是用来指示执行哪条指令的。

java栈

Java 栈中存放的是一个个的栈帧,每个栈帧对应一个被调用的方法,在栈帧中包括局 部变量表、操作数栈、指向当前方法所属的类的运行时常量池的引用、方法返回地址、额 外的附加信息。当线程执行一个方法时,就会随之创建一个对应的栈帧,并将建立的栈帧压 栈。当方法执行完毕之后,便会将栈帧出栈。因此可知,线程当前执行的方法所对应的栈帧 必定位于 Java 栈的顶部。

本地方法栈

本地方法栈与 Java 栈的作用和原理非常相似。区别只不过是 Java 栈是为执行 Java 方法服务的,而本地方法栈则是为执行本地方法(Native Method)服务的。在 JVM 规 范中,并没有对本地方发展的具体实现方法以及数据结构作强制规定,虚拟机可以自由实现 它。在 HotSopt 虚拟机中直接就把本地方法栈和 Java 栈合二为一。



Java 中的堆是用来存储对象本身的以及数组(当然,数组引用是存放在 Java 栈中的), 堆是被所有线程共享的,在 JVM 中只有一个堆。所有对象实例以及数组都要在堆上分配内 存,单随着 JIT 发展,栈上分配,标量替换优化技术,在堆上分配变得不那么到绝对,只能 在 server 模式下才能启用逃逸分析。

方法区

方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变 量、常量以及编译器编译后的代码等。 在 Class 文件中除了类的字段、方法、接口等描述信息外,还有一项信息是常量池, 用来存储编译期间生成的字面量和符号引用。

直接内存

NIO,使用 native 函数库直接分配堆外内存,不经过 JVM 内存直接访问系统物理内存的类 ——DirectBuffer。 DirectBuffer 类继承自 ByteBuffer,但和普通的 ByteBuffer 不同, 普通的 ByteBuffer 仍在 JVM 堆上分配内存,其最大内存受到最大堆内存的限制;而 DirectBuffer 直接分配在物理内存中,并不占用堆空间,其可申请的最大内存受操作系统 限制

最新文章

  1. 数据仓库开发——Kettle使用示例
  2. js/jQuery使用过程中常见问题
  3. C#简易一元二次求解器
  4. BZOJ4107 : [Wf2015]Asteroids
  5. WPF 设置程序开机自动运行(+注册表项)
  6. Eclips将lib打入war中
  7. java.lang.IllegalArgumentException: addChild: Child name '/SSHE' is not unique
  8. [MEAN Stack] First API -- 6. Using Express route instance
  9. sqlserver 出现 因为文件组 'PRIMARY' 已满 的解决办法 有可能是磁盘剩余空间不足 导致的
  10. WPF组件开发之组件的基类
  11. android之interpolator的用法详解
  12. 【模拟】XMU 1054 Hacker
  13. 禁用与启用Button点击
  14. 『vue踩坑日常』 在index.html中引入静态文件不生效
  15. angular2的lazyload初体验
  16. keras框架 反复调用model 模型 出错
  17. [Functional Programming] Using JS, FP approach with Arrow or State Monad
  18. tpshop全局公共方法
  19. 随笔 -- NIO -- 相关 -- 系统概述
  20. python之numpy的基本使用

热门文章

  1. 20190923-05Linux用户组管理命令 000 013
  2. pwnable之random
  3. 【Flutter 实战】菜单(Menu)功能
  4. python语句与函数
  5. AtomicInteger原理&源码分析
  6. 搭建ssm整合
  7. Mybatis的几种传参方式,你了解吗?
  8. Unity3d 游戏设计(一)井字棋
  9. Jenkins打Docker镜像推送到私有仓库
  10. 刷题[NPUCTF2020]ezlogin