欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

查看java對象所占內(nèi)存大小的方法

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

計算java對象所占內(nèi)存大小

1.使用jdk8自帶API

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

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

結(jié)果如下:

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));

結(jié)果如下:

3. 借助jol工具類

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

先導入maven坐標

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

測試代碼:

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

結(jié)果如下:

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

相關文章

  • 一文搞懂并學會使用SpringBoot的Actuator運行狀態(tài)監(jiān)控組件的詳細教程

    一文搞懂并學會使用SpringBoot的Actuator運行狀態(tài)監(jiān)控組件的詳細教程

    這篇文章主要介紹了一文搞懂并學會使用SpringBoot的Actuator運行狀態(tài)監(jiān)控組件,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • springboot國際化多語言配置方式

    springboot國際化多語言配置方式

    這篇文章主要介紹了springboot國際化多語言配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • SpringBoot接口如何統(tǒng)一異常處理

    SpringBoot接口如何統(tǒng)一異常處理

    這篇文章主要介紹了SpringBoot接口如何統(tǒng)一異常處理,SpringBoot接口如何對異常進行統(tǒng)一封裝,并統(tǒng)一返回呢?以下文的參數(shù)校驗為例,如何優(yōu)雅的將參數(shù)校驗的錯誤信息統(tǒng)一處理并封裝返回呢,感興趣的下下伙伴可以一同參考一下
    2022-07-07
  • Socket與ServerSocket類構(gòu)造方法與API

    Socket與ServerSocket類構(gòu)造方法與API

    今天小編為大家整理了Socket與ServerSocket類構(gòu)造方法與API,對大家的學習或工作具有一定的參考借鑒價值。需要的朋友可以收藏下,方便下次瀏覽觀看
    2021-12-12
  • Java中比較運算符compareTo()、equals()與==的區(qū)別及應用總結(jié)

    Java中比較運算符compareTo()、equals()與==的區(qū)別及應用總結(jié)

    這篇文章主要給大家介紹了關于Java中比較運算符compareTo()、equals()與==的區(qū)別及應用的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-09-09
  • SpringCloud?Feign實現(xiàn)微服務之間相互請求問題

    SpringCloud?Feign實現(xiàn)微服務之間相互請求問題

    Feign是Netflix開發(fā)的聲明式、模板化的HTTP客戶端,?Feign可以幫助我們更快捷、優(yōu)雅地實現(xiàn)微服務之間的調(diào)用,這篇文章主要介紹了SpringCloud?Feign實現(xiàn)微服務之間相互請求,需要的朋友可以參考下
    2022-06-06
  • 淺析Java集合及LIst接口

    淺析Java集合及LIst接口

    這篇文章主要介紹了Java集合及LIst接口,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • springcloud配置ssh的問題及解決方法

    springcloud配置ssh的問題及解決方法

    這篇文章主要介紹了springcloud配置ssh,本文給大家介紹在配置過程中遇到的問題及解決方法,通過結(jié)合實例給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Java-web中利用RSA進行加密解密操作的方法示例

    Java-web中利用RSA進行加密解密操作的方法示例

    這篇文章主要給大家介紹了關于在Java-web中利用RSA進行加密解密操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-08-08
  • springSecurity之AuthenticationProvider用法解析

    springSecurity之AuthenticationProvider用法解析

    這篇文章主要介紹了springSecurity之AuthenticationProvider用法解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評論