当前位置: 首页 > news >正文

网站设计规划的创意缅甸最新新闻

网站设计规划的创意,缅甸最新新闻,旅行社门店做网站嘛,深圳网站建设服务合同Java内存模型 对象内存中可以分为三块区域:对象头(Header),实例数据(Instance Data)和对齐填充(Padding),以64位操作系统为例(未开启指针压缩的情况)Java对象布局 如下图所示: 其中对象头中的Mark Word中的详细信息在文章synchr…

Java内存模型

对象内存中可以分为三块区域:对象头(Header),实例数据(Instance Data)和对齐填充(Padding),以64位操作系统为例(未开启指针压缩的情况)Java对象布局

如下图所示:

其中对象头中的Mark Word中的详细信息在文章synchronized锁升级原理中有详细介绍。上图中的对齐填充不是一定有的,如果对象头和实例数据加起来刚好是8字节的倍数,那么就不需要对齐填充。

Object obj=new Object()占用字节

这是网上很多人都会提到的一个问题,那么结合上面的Java内存布局,我们来分析下,以64位操作系统为例,new Object()占用大小分为两种情况:

  • 未开启指针压缩 占用大小为:8(Mark Word)+8(Class Pointer)=16字节
  • 开启了指针压缩(默认是开启的) 开启指针压缩后,Class Pointer会被压缩为4字节,最终大小为:8(Mark Word)+4(Class Pointer)+4(对齐填充)=16字节

结果到底是不是这个呢?我们来验证一下。首先引入一个pom依赖:

<dependency><groupId>org.openjdk.jol</groupId><artifactId>jol-core</artifactId><version>0.10</version></dependency>
package com.zwx.jvm;import org.openjdk.jol.info.ClassLayout;public class HeapMemory {public static void main(String[] args) {Object obj = new Object();System.out.println(ClassLayout.parseInstance(obj).toPrintable());}
}

输出结果如下:

最后的结果是16字节,没有问题,这是因为**默认开启了指针压缩**,那我们现在把指针压缩关闭之后再去试试。

-XX:+UseCompressedOops  开启指针压缩
-XX:-UseCompressedOops  关闭指针压缩

得到如下结果:

可以看到,这时候已经没有了对齐填充部分了,但是占用大小还是16位。

以上是Object 内无任何成员变量的情况

如果有成员变量,以下是成员变量数据类型占用字节大小情况

类型存储取值范围
int4byte-2^31 ~ 2^31 - 1
short2byte-2^15 ~ 2^15 - 1
long8byte(-2)^63 ~ 2^63 - 1
byte1byte-128 ~ 127
float4byte
double8byte
boolean1byte
char2byte

Hotspot实现的JVM开启内存压缩的规则(64位机器):

  • 4G以下,直接砍掉高32位
  • 4G~32G,默认开启内存压缩
  • 32G以上,压缩无效,使用64位

下面我们再来演示一下如果一个对象中带有属性之后的大小。

新建一个类,内部只有一个byte属性:

package com.zwx.jvm;public class MyItem {byte i = 0;
}

然后分别在开启指针压缩和关闭指针压缩的场景下分别输出这个类的大小。

package com.zwx.jvm;import org.openjdk.jol.info.ClassLayout;public class HeapMemory {public static void main(String[] args) {MyItem myItem = new MyItem();System.out.println(ClassLayout.parseInstance(myItem).toPrintable());}
}

开启指针压缩,占用16字节:

关闭指针压缩,占用24字节:

这个时候就能看出来开启了指针压缩的优势了,如果不断创建大量对象,指针压缩对性能还是有一定优化的

http://www.ritt.cn/news/19197.html

相关文章:

  • 旅游网站建设与规划论文汕头网络营销公司
  • 推荐一个做淘客网站网站怎么制作教程
  • 企业网站建设首选智投未来1百度指数三个功能模块
  • 专业设计viseo 网站排名
  • 百度快照举报网站百度自动点击器怎么用
  • wordpress发送注册邮件失败seo搜索引擎优化视频
  • 二级域名做网站如何做seo优化
  • 网站设计论文引言上海网站关键词排名
  • 帮人做网站被派出所抓到徐州公司网站开发费用
  • wap网站开发教程百度pc端首页
  • 建立网站的详细步骤图解百度搜索风云榜电视剧
  • 简述网站建设的基本流程竞价关键词排名软件
  • 男人是用什么做的视频网站哈尔滨百度推广联系人
  • 电商网站开发分享做谷歌推广比较好的公司
  • 小说发表哪个网站赚钱互联网广告推广公司
  • 吉安网站建设优化服务网站设计公司苏州
  • 沙井网站制作优化什么
  • pbootcms官网seo自动优化工具
  • 文山网站建设求职简历免费下载app并安装
  • 网址导航类网站如何做推广公司培训
  • 电子商务网站建设与管理基础爱站网关键词查询系统
  • 大连建设信息seo外包杭州
  • 装修上什么网站比较好泉州关键词优化软件
  • wordpress积分商城主题优化排名
  • 淄博网站运营公司免费发布信息网站大全
  • 北京好的做网站公司哪个好用?
  • 电商网站建设功能百度点击工具
  • 做企业网站需要提供什么资料百度网站名称及网址
  • 彩票网站建设平台手机百度高级搜索入口在哪里
  • wordpress数据库重装长沙seo优化首选