java虚拟机分配内存_jvm(java虚拟机)内存分配

jvm(java虚拟机)内存分配

jvm(java虚拟机)内存分配

java虚拟机的内存分配主要分类两部分,线程共享区和线程独占区

b53dc74d098f2e495f60eeac6a6ce702.png

1、线程共享区

4b11cdf85dff1051a374599840e7b935.png

2、线程独占区

29ecc42800e1ffa50f0ab12ddc680290.png

3、1.8版本虚拟机内存架构调整

e0f51b214f0b22acd99763fcb8700120.png

4、直接内存和运行时常量池

运行时常量池,就是运行时产生的常量。代码中直接定义的常量是class字节码常量,固定的。运行时产生的常量,如拼接字符串,如string.intern() 都是运行时产生的常量。

注意:1.8运行时常量池放在元数据实现

直接内存:是 jdk1.4以后提供的nio模型,其中基于通道的buffer缓冲使用的是虚拟机堆外之外的内存,受到物理内存的限制

1、基本数据类型 数据和引用都存储在栈中:操作快,但是内存小

2、包装类 1.5以后提供自动拆箱机制

Java的8种基本类型(Byte, Short, Integer, Long, Character, Boolean, Float, Double), 除Float和Double以外, 其它六种都实现了常量池, 但是它们只在大于等于-128并且小于等于127时才使用常量池

3、string 直接赋值放在常量池中存储在 stringTable中(类似)

4、数组 无论基本数据类型还是对象 数据均存储在堆内存中

jvm(java虚拟机)内存分配相关教程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值