最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

查看java對象所占內存大小的方法

 更新時間:2023年09月18日 10:51:37   作者:King斌  
這篇文章主要為大家介紹了如何查看java對象所占內存大小的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

計算java對象所占內存大小

1.使用jdk8自帶API

使用這種jdk8方式時,Open JDK 不是天然支持的,需要set一下環(huán)境變量

System.setProperty("java.vm.name","Java HotSpot(TM) ");
System.out.println(ObjectSizeCalculator.getObjectSize(3L));

結果如下:

2. 借助org.apache.lucene工具類

當一個對象有多個屬性,需要計算整個對象的大小時,可以借助org.apache.lucene工具類

先引入maven坐標

        <dependency>
            <groupId>org.apache.lucene</groupId>
            <artifactId>lucene-core</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>

測試代碼:

        Map<String, String> map = new HashMap<>();
        System.out.println("map init value is " + RamUsageEstimator.sizeOf(map));
        for (int i = 0; i < 100; i++) {
            RandomStringUtils.randomAlphanumeric(100);
            map.put(RandomStringUtils.randomAlphanumeric(10), RandomStringUtils.randomAlphanumeric(10));
        }
        System.out.println("map size 100, value is " + RamUsageEstimator.sizeOf(map));
        System.out.println("map size 100, value is " + RamUsageEstimator.humanSizeOf(map));

結果如下:

3. 借助jol工具類

如果需要查看某個對象的詳細內存分布,可以借助jol工具類,不過這種當對象中內嵌其他對象時,只能計算ClassLayout方法中這個object對象所占內存的大小

先導入maven坐標

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

測試代碼:

System.out.println(ClassLayout.parseInstance(23L).toPrintable());

結果如下:

以上就是查看java對象所占內存大小的方法的詳細內容,更多關于java對象內存大小的資料請關注腳本之家其它相關文章!

相關文章

  • SpringBoot日程管理Quartz與定時任務Task實現詳解

    SpringBoot日程管理Quartz與定時任務Task實現詳解

    定時任務是企業(yè)級開發(fā)中必不可少的組成部分,諸如長周期業(yè)務數據的計算,例如年度報表,諸如系統(tǒng)臟數據的處理,再比如系統(tǒng)性能監(jiān)控報告,還有搶購類活動的商品上架,這些都離不開定時任務。本節(jié)將介紹兩種不同的定時任務技術
    2022-09-09
  • Java21之字符串模板的使用小結

    Java21之字符串模板的使用小結

    本文主要介紹了Java21之字符串模板的使用小結,通過模板表達式和內嵌表達式的設計,使得字符串的構造更加簡潔、直觀和類型安全,核心優(yōu)勢包括簡潔性、靈活的模板處理器、與文本塊的完美配合等
    2025-10-10
  • Java五種方法批量處理List元素的實現示例

    Java五種方法批量處理List元素的實現示例

    本文主要介紹了Java五種方法批量處理List元素的實現示例,包括傳統(tǒng)循環(huán)、函數式編程、Stream流、迭代器及第三方庫,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2025-05-05
  • SpringBoot中Mybatis + Druid 數據訪問的詳細過程

    SpringBoot中Mybatis + Druid 數據訪問的詳細過程

    Spring Boot 底層都是采用 SpringData 的方式進行統(tǒng)一處理各種數據庫,SpringData也是Spring中與SpringBoot、SpringCloud 等齊名的知名項目,下面看下SpringBoot Mybatis Druid數據訪問的詳細過程,感興趣的朋友一起看看吧
    2021-11-11
  • Java中獲取文件大小的詳解及實例代碼

    Java中獲取文件大小的詳解及實例代碼

    這篇文章主要介紹了Java中獲取文件大小的詳解及實例代碼的相關資料,一種是使用File的length()方法,另外一種是使用FileInputStream的available()方法,這里就說下如何使用需要的朋友可以參考下
    2016-12-12
  • LinkedList學習示例模擬堆棧與隊列數據結構

    LinkedList學習示例模擬堆棧與隊列數據結構

    這篇文章主要介紹了LinkedList學習示例,模擬一個堆棧與隊列數據結構,大家參考使用吧
    2014-01-01
  • Spring定時任務@Scheduled注解(cron表達式fixedRate?fixedDelay)

    Spring定時任務@Scheduled注解(cron表達式fixedRate?fixedDelay)

    這篇文章主要為大家介紹了Spring定時任務@Scheduled注解(cron表達式fixedRate?fixedDelay)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 通過Idea或命令將本地項目上傳至git的過程

    通過Idea或命令將本地項目上傳至git的過程

    本文介紹了如何在Gitee上創(chuàng)建倉庫,并在IntelliJ IDEA中配置和解綁Git,提交項目,同時,還通過命令行介紹了如何提交項目
    2026-01-01
  • spring aop底層原理及如何實現

    spring aop底層原理及如何實現

    這篇文章主要介紹了spring aop底層原理及如何實現,幫助大家更好的理解和學習使用spring aop,感興趣的朋友可以了解下
    2021-04-04
  • Java線程操作的常見方法【線程名稱獲取、設置、線程啟動判斷等】

    Java線程操作的常見方法【線程名稱獲取、設置、線程啟動判斷等】

    這篇文章主要介紹了Java線程操作的常見方法,結合實例形式總結分析了java線程的創(chuàng)建、線程名稱的獲取、設置以及線程啟動的判斷等相關操作實現技巧,需要的朋友可以參考下
    2019-10-10

最新評論

成安县| 绥阳县| 化德县| 澳门| 上犹县| 房产| 永靖县| 开封市| 三门县| 皋兰县| 民勤县| 房山区| 邵东县| 澳门| 沂水县| 旌德县| 报价| 千阳县| 长顺县| 饶河县| 罗山县| 三江| 衡东县| 红桥区| 奎屯市| 房山区| 赣榆县| 区。| 兰坪| 富民县| 公主岭市| 定襄县| 汤原县| 赤峰市| 三河市| 富锦市| 会东县| 怀化市| 灌南县| 当雄县| 西安市|