jvm 运行时数据区域问题

  java虚拟机在执行程序的过程中会把它管理的内存划分为不同的区域。他们每个区域都有自己的用途,创建及销毁时间。有的会随着虚拟机进程的创建而创建,有的会随着线程的启动和结束而创建及销毁。运行时数据区将划分为一下几个部分-->线程共享部分(堆,方法区)线程隔离部分(虚拟机栈,本地方法栈,程序计数器,)


1.堆  主要是存放对象,是被所有线程共享的  是Java虚拟机中最大的一块

         2.方法区   存放已经被加载的类信息  常量 静态变量  及时及时编译后的字节码  运行时常量池就是方法区的一部分

       3.虚拟机栈 是线程私有的   是描述Java方法执行内存模型的 每当创建一个方法都会创建一个栈帧  用于存储局部变量表  方法出口信息  操作数栈  动态链接  一个方法从执行到结束  对应这个 一个栈帧的出栈和入栈。

 4。程序计数器也是线程私有的 他描述的是线程执行的字节码的行号  Java虚拟机的多线程  就是通过多线程的轮流切换并分配处理器的时间来实现的。一个处理器  任何时候只能执行一条线程中的指令 ,当线程切换到原来的线程能恢复到正确的位置, 都需要一个程序计数器,这个计数器 每个线程互不干扰  属于线程私有的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值