Java中各种数据存放的位置

  1. 寄存器,程序运行时自动分配
  2. 栈:栈存放的是:基本类型的对象和类的引用变量。每个线程都有一个栈,栈内容私有,每个栈都有三个部分:基本类型变量区,执行环境上下文,操作指令区。栈的声明和持有该栈的线程一样长
  3. 堆:对象和数据都存放在这里。堆的大小可以调节,在jvm加载读取了类文件之后,需要把类,方法,常变量存放在堆内存中,以便执行器执行,堆内存也分为三部分:新生代,年老代,永久代。堆存储的全部是对象,每个对象包含一个与之对应的class信息。Jvm只有一个堆被所有的线程共享。

     4和5、方法区:方法被所有的线程共享,存放所有字段和方法的字节码,构造方法,接口代码也是在这存储。即:所有方法字         段 的 定义信息都在这里存储。静态变量+常量+类信息+运行时常量池都存放在方法区中,方法区包含所有的class和static变              量,抽象的说:方法区村存放的是在整个程序中永远唯一的元素(方法区包含静态存储区,和常量区)

      6、非RAM存储:这里的数据是完全存活与程序之外的,不受程序的任何控制。

 

精讲:https://blog.csdn.net/lin542405822/article/details/80338256

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值