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

哪些网站可以做代理商青岛网络推广公司哪家好

哪些网站可以做代理商,青岛网络推广公司哪家好,中国建筑信息查询平台,网站必须做商标么运用java内存对齐填充,对java内存进行8字节划分,java对象指针映射到每个划分区域上,使得4个字节(32位)表示2^32个地址,从而使4个字节指针映射32G内存空间。 1.为什么进行指针压缩: jvm从32位变…

运用java内存对齐填充,对java内存进行8字节划分,java对象指针映射到每个划分区域上,使得4个字节(32位)表示2^32个地址,从而使4个字节指针映射32G内存空间。

1.为什么进行指针压缩:

  • jvm从32位变为64位,内存带宽也增加了一倍,原来32位存储一个变量,现在可以使用64位存储,无形中浪费了大量空间。占用较大带宽,同时GC也会承受较大压力。
  • .为了减少64位平台下内存的消耗,启用指针压缩功能
  • 在jvm中,32位地址最大支持4G内存(2的32次方),可以通过对对象指针的压缩编码、解码方式进行优化,使得jvm 只用32位地址就可以支持更大的内存配置(小于等于32G)
  • 堆内存小于4G时,不需要启用指针压缩,jvm会直接去除高32位地址,即使用低虚拟地址空间
  • 堆内存大于32G时,压缩指针会失效,会强制使用64位(即8字节)来对java对象寻址,这就会出现1的问题,所以堆内 存不要大于32G为好

2.开启关闭对象指针压缩

jdk1.6 update14开始,在64bit操作系统中,JVM支持指针压缩。

  • 启用指针压缩:-XX:+UseCompressedOops(默认开启)
  • 禁止指针压缩:-XX:-UseCompressedOops

对象大小可以用jol-core包查看,引入依赖

implementation group: 'org.openjdk.jol', name: 'jol-core', version: '0.9'

package com;import org.openjdk.jol.info.ClassLayout;public class JOLSample {public static  void  main(String[] args){ClassLayout layout = ClassLayout.parseInstance(new Object());System.out.println(layout.toPrintable());System.out.println();ClassLayout layout1 = ClassLayout.parseInstance(new int[]{});System.out.println(layout1.toPrintable());System.out.println();ClassLayout layout2 = ClassLayout.parseInstance(new A());System.out.println(layout2.toPrintable());}public static class A {int id;String name;byte b;Object o;}
}

配置关闭指针压缩,打印:

# WARNING: Unable to get Instrumentation. Dynamic Attach failed. You may add this JAR as -javaagent manually, or supply -Djdk.attach.allowAttachSelf
java.lang.Object object internals:OFFSET  SIZE   TYPE DESCRIPTION                               VALUE0     4        (object header)                           05 00 00 00 (00000101 00000000 00000000 00000000) (5)4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4        (object header)                           50 1f c4 30 (01010000 00011111 11000100 00110000) (818159440)12     4        (object header)                           a0 01 00 00 (10100000 00000001 00000000 00000000) (416)
Instance size: 16 bytes
Space losses: 0 bytes internal + 0 bytes external = 0 bytes total[I object internals:OFFSET  SIZE   TYPE DESCRIPTION                               VALUE0     4        (object header)                           01 00 00 00 (00000001 00000000 00000000 00000000) (1)4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4        (object header)                           10 0c c4 30 (00010000 00001100 11000100 00110000) (818154512)12     4        (object header)                           a0 01 00 00 (10100000 00000001 00000000 00000000) (416)16     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)20     4        (alignment/padding gap)                  24     0    int [I.<elements>                             N/A
Instance size: 24 bytes
Space losses: 4 bytes internal + 0 bytes external = 4 bytes totalcom.JOLSample$A object internals:OFFSET  SIZE               TYPE DESCRIPTION                               VALUE0     4                    (object header)                           05 00 00 00 (00000101 00000000 00000000 00000000) (5)4     4                    (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4                    (object header)                           08 78 45 32 (00001000 01111000 01000101 00110010) (843413512)12     4                    (object header)                           a0 01 00 00 (10100000 00000001 00000000 00000000) (416)16     4                int A.id                                      020     1               byte A.b                                       021     3                    (alignment/padding gap)                  24     8   java.lang.String A.name                                    null32     8   java.lang.Object A.o                                       null
Instance size: 40 bytes
Space losses: 3 bytes internal + 0 bytes external = 3 bytes total

开启指针压缩

# WARNING: Unable to get Instrumentation. Dynamic Attach failed. You may add this JAR as -javaagent manually, or supply -Djdk.attach.allowAttachSelf
java.lang.Object object internals:OFFSET  SIZE   TYPE DESCRIPTION                               VALUE0     4        (object header)                           05 00 00 00 (00000101 00000000 00000000 00000000) (5)4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4        (object header)                           00 10 00 00 (00000000 00010000 00000000 00000000) (4096)12     4        (loss due to the next object alignment)
Instance size: 16 bytes
Space losses: 0 bytes internal + 4 bytes external = 4 bytes total[I object internals:OFFSET  SIZE   TYPE DESCRIPTION                               VALUE0     4        (object header)                           01 00 00 00 (00000001 00000000 00000000 00000000) (1)4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4        (object header)                           10 0c 00 00 (00010000 00001100 00000000 00000000) (3088)12     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)16     0    int [I.<elements>                             N/A
Instance size: 16 bytes
Space losses: 0 bytes internal + 0 bytes external = 0 bytes totalcom.JOLSample$A object internals:OFFSET  SIZE               TYPE DESCRIPTION                               VALUE0     4                    (object header)                           05 00 00 00 (00000101 00000000 00000000 00000000) (5)4     4                    (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4                    (object header)                           a8 e9 0d 00 (10101000 11101001 00001101 00000000) (911784)12     4                int A.id                                      016     1               byte A.b                                       017     3                    (alignment/padding gap)                  20     4   java.lang.String A.name                                    null24     4   java.lang.Object A.o                                       null28     4                    (loss due to the next object alignment)
Instance size: 32 bytes
Space losses: 3 bytes internal + 4 bytes external = 7 bytes total

通过指针压缩,类型指针、对象引用等由8字节转为4个字节。降低对象占用的内存大小,顺便减轻GC压力;当指针移动时,减少带宽损耗。


在这里插入图片描述

http://www.mmbaike.com/news/63758.html

相关文章:

  • b站做简介的网站西安网页设计
  • 给自己家的公司做网站好做吗站长工具pr值查询
  • 网站淘宝客 没备案怎么做2022拉新推广平台
  • 在服务器上布网站怎么做的重庆森林粤语
  • 禅城专业网站建设公司站内推广方案
  • 我想做互联网怎么做seo外包如何
  • 商务网站制作语言基础windows优化大师最新版本
  • 领导高度重视网站建设阿里云建网站
  • 密云建设网站seo如何建立优化网站
  • 注册公司需要什么证件和手续如何优化网站快速排名
  • 临沂做网站费用合肥seo代理商
  • 网站建设与网页设计总结百度营销
  • 中国河北网站花都网络推广seo公司
  • 深圳做微商网站设计百度整站优化
  • 如何建设网络营销渠道株洲seo快速排名
  • 网页设计的通用规则有哪些什么是sem和seo
  • 商务网站创建方案销售管理软件
  • 全站搜索网站建设及推广优化
  • 黄冈网站建立一个网站需要花多少钱
  • 防制网站怎么做项目优化seo
  • 网站建设前 需要准备的seo顾问咨询
  • 宜春网站制作南通seo网站优化软件
  • 用easyui做的网站十大品牌营销策划公司
  • 企业网站推广哪个公司好专业网页设计和网站制作公司
  • 怎样做网站导购百度网页版电脑版
  • 公司网站现状账号权重查询
  • 自学做网站多长时间网络营销竞价推广
  • 溧阳网站开发智能建站abc
  • 无锡 电子商务网站建设如何制作网站链接
  • 商城网站建设定制推广策略包括哪些内容