首页 > 其他 > 详细

深入理解jvm读书笔记一--自动内存管理机制

时间:2019-09-29 22:08:05      阅读:92      评论:0      收藏:0      [点我收藏+]

一、Java内存区域及内存溢出异常

1、运行时数据区域

  技术分享图片

 

  1、程序计数器:当前线程所执行的字节码的行号指示器。

    场景理解:并发中,CPU在不同线程间切换,为了线程切换后能恢复到正确的执行位置,每个线程都有程序计数器来记录执行位置。

  2、虚拟机栈:生命周期与线程相同。

    虚拟机栈描述的是Java方法执行的内存模型,每个方法在执行的同时会创建一个栈帧用于保存局部变量表,操作数栈,动态链接方法出口等信息。

    如果线程请求的栈大小无法申请到足够的内存,会抛出OutOfMemoryError。

  3、本地方法栈:

    虚拟机栈为Java方法(字节码,class文件)服务;

    本地方法栈为Native(本地)方法服务。

  4、堆:存放对象实例

    堆是GC管理的主要区域。

  5、方法区:存储已被加载的类信息,常量,静态变量等

    运行时常量池在方法区中。

    

    

 

 

  

 

深入理解jvm读书笔记一--自动内存管理机制

原文:https://www.cnblogs.com/xiaoyu1991/p/11609875.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!