zoukankan      html  css  js  c++  java
  • 查看java对象占用内存大小

    1.引入maven依赖

    <dependency>
        <groupId>org.openjdk.jol</groupId>
        <artifactId>jol-core</artifactId>
        <version>0.9</version>
    </dependency>
    

    2.查看实体占用内存大小

    public static void main(String[] args) {
        CustDetailInfo obj = assembleCustDetail(custSplit);
        System.out.println(ClassLayout.parseInstance(obj).toPrintable());
        //查看对象内部信息
        System.out.println(ClassLayout.parseInstance(obj).toPrintable());
        //查看对象外部信息
        System.out.println(GraphLayout.parseInstance(obj).toPrintable());
        //获取对象总大小
        System.out.println("size : " + GraphLayout.parseInstance(obj).totalSize());
    }
    

    3.查看实体占用内存大小

    配置指针压缩参数,对内存对象进行压缩:自定义对象压缩明显,能压缩40%, 默认是对指针进行了压缩

    /**
     * object header: x86-8 Bytes x64-16 Bytes
     * primitive type:
     * - boolean-1 Byte
     * - byte-1 Byte
     * - short-2 Bytes
     * - char-2 Bytes
     * - int-4 Bytes
     * - float-4 Bytes
     * - long-8 Bytes
     * - double-8 Bytes
     * - String-4 Bytes
     * reference: x86-4 Bytes x64-8 Bytes
     * padding: by 8 Bytes
     */
     经测试在64位机子上面,String是4字节,填充是由内填充+扩展填充,一般
     内填充是0,扩展填充是4字节
    
  • 相关阅读:
    node=day5
    封装异步API
    form表单的name作用
    关于app.use('/static', express.static(path.join(__dirname, 'public')))的理解
    node=day4
    PS切片
    WPF SDK研究 之 数据绑定
    C# WPF DataGrid控件实现三级联动
    wpf中的样式与模板
    WPF : ListBox的几种Template属性
  • 原文地址:https://www.cnblogs.com/yaozhixiang/p/15108599.html
Copyright © 2011-2022 走看看