摘要: 各个线程共享的内存区域,存储常量 静态变量 代码缓存数据。 如果方法区无法满足内存分配需求时,就抛出OOM. 运行时常量池,作为方法区的一部分。 阅读全文
posted @ 2020-09-06 13:19 supfsaygkgood 阅读(10) 评论(0) 推荐(0) 编辑
摘要: java heap是被所有线程共享的内存区域,虚拟机启动时创建。存放对象实例以及数组。 也是垃圾收集器管理的内存区域。 在java堆中没有内存完成实例分配,就会OOM. 阅读全文
posted @ 2020-09-06 13:11 supfsaygkgood 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 为本地方法服务(Native) 与虚拟机栈一样,本地方法栈也会在栈深度溢出或者栈拓展失败抛出StackOverFlowError和OOM异常。 阅读全文
posted @ 2020-09-06 12:50 supfsaygkgood 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 线程私有,和线程的生命周期一致。 描述的是java方法执行的线程的内存模型。 每个方法的执行,就是对应一个栈帧在栈中由入栈到出栈的过程。(栈,通常更多情况指局部变量表) 阅读全文
posted @ 2020-09-06 12:47 supfsaygkgood 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 执行代码的指示器,字节码解释器就是通过改变这个程序计数器,来执行下一条要执行的字节码指令的,是程序控制的指示器。 java多线程就是通过线程轮流切换,分配处理器执行时间的方式实现的。 每个线程都是有自己独立的程序计数器,各个线程互不干扰,独立存储,这里的内存可称之为线程私有内存。 阅读全文
posted @ 2020-09-06 12:39 supfsaygkgood 阅读(167) 评论(0) 推荐(0) 编辑