一、程序计数器(Program Counter Register)

  当前执行字节码的行号指示器,可以通过修改该计数器的值来实现字节码指令(分支,循环,跳转等), 每个线程都都有一个程序计数器, 属于线程的私有变量, 独立存储, 互不影响。

  ps. 如果当前执行的是Java方法,该计数器记录的事正在执行的指令地址。如果当前执行的事Native方法(本地方法,与平台有关,由于Java无法访问操作系统的底层信息,所以需要借助C语言,移植平台时候需要重写)该计数器为空。

二、Java虚拟机栈(VM Stack)

  和计数器一样属于线程私有的, 主要存储临时变量,每个Java方法执行过程时会创建一个栈帧(虚拟机栈中的一个变量), 存储运行时产生的临时变量,(局部变量,操组数栈、动态链接、方法出口), 一个方法从开始到结束对应虚拟机栈中的一次入栈和出栈的过程。

三、本地方法栈(Native Method Stack)

  本地方法栈为虚拟机中用到的Native方法服务。

四、Java堆(Java Heap)

  存放对象实例,是所有线程共享的区域。

五、方法区(Method Area)

  各个线程共享的内存区域,主要存储(虚拟机加载的类信息,常量、即时编译器编译后的代码等数据)

六、运行时常量池(Runtime Constant Pool)

  常量符号的存储

最新文章

  1. SQL server 常用语句
  2. iOS学习之iOS沙盒(sandbox)机制和文件操作(二)
  3. 视频分享:过五关斩六将——我要做IT面霸!
  4. postgrel 调试
  5. IE兼容性问题列表及解决办法
  6. Java API —— Date类
  7. 尝试设计LFSR加密器,并用CAP4验证随机性
  8. Contest 20140708 testA && testC
  9. 一步一步学数据结构之n--n(Prim算法)
  10. HDU Exponentiation 1063 Java大数题解
  11. Mac下使用charles遇到的问题以及解决办法
  12. FTP文件上传到HDFS上
  13. 创建您的 ActiveReports Web端在线报表设计器
  14. LayUI左侧菜单无法保持选中状态
  15. Entity Framework 自动生成代码 如何用继承
  16. Minieye杯第十五届华中科技大学程序设计邀请赛网络赛 部分题目
  17. python 批量替换文件名
  18. 软件架构设计学习总结(18):MVC三层架构在各框架(jsp+servlet + Struts1+ Struts2+ springMVC)中的特征
  19. Linux内核分析(第四周)
  20. hdu2087 剪花布条 暴力/KMP

热门文章

  1. 启动ECLIPSE时,提示failed to create the java virtual machine
  2. laravel获取参数
  3. 【C#】教你纯手工用C#实现SSH协议作为GIT服务端
  4. 编程中检查IIS7组件的安装情况
  5. jenkins 执行python脚本 断言失败就可以构建失败
  6. 云-Azure-百科:Azure
  7. 防火墙没有关导致外部访问虚拟机的tomcat遇到的问题和解决方法
  8. Web 过滤器参数设置问题
  9. JS获取url传参
  10. OpenGL chapter5 基础纹理