成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java計(jì)算object大小

atinosun / 3167人閱讀

maven
        
        
            com.carrotsearch
            java-sizeof
            0.0.3
        
util
public class SizeOfUtil {

    public static enum SizeEnum {
        B {
            @Override
            public double getFromByteSize(long byteSize) {
                return byteSize;
            }
        },K {
            @Override
            public double getFromByteSize(long byteSize) {
                return byteSize*1.0/1024;
            }
        },M {
            @Override
            public double getFromByteSize(long byteSize) {
                return byteSize*1.0/1024/1024;
            }
        },G {
            @Override
            public double getFromByteSize(long byteSize) {
                return byteSize*1.0/1024/1024/1024;
            }
        };

        public abstract double getFromByteSize(long byteSize);
    }

    /**
     * 默認(rèn)
     * 返回bytes
     * @param o
     * @return
     */
    public static double getObjectSize(Object o,SizeEnum sizeEnum){
        long byteSize = 0;
        if(o instanceof Collection){
            byteSize = RamUsageEstimator.sizeOfAll(o);
        }else{
            byteSize = RamUsageEstimator.sizeOf(o);
        }
        return sizeEnum.getFromByteSize(byteSize);
    }
}
使用
System.out.println(SizeOfUtil.getObjectSize(map, SizeOfUtil.SizeEnum.K));

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/66952.html

相關(guān)文章

  • Java對象占用內(nèi)存計(jì)算

    計(jì)算前提 JDK 版本,不同版本的類可能會有變化 要區(qū)分是 32bit 還是 64bit 系統(tǒng) 是否開啟壓縮指針(默認(rèn)開啟,指針為 4Byte,否則為 8Byte) 是否數(shù)組,數(shù)組對象頭多了一個(gè)長度值,占 4Byte 計(jì)算方法 對象所占內(nèi)存 = 對象頭 + 所有域 + 填充其中,若域?yàn)榱硪粋€(gè)對象,即非基本類型,則需遞歸計(jì)算 對象頭 對象頭分為3部分: mark word:同步狀態(tài)、GC狀態(tài)、...

    whlong 評論0 收藏0
  • 想進(jìn)大廠?50個(gè)多線程面試題,你會多少?(一)

    摘要:下面是線程相關(guān)的熱門面試題,你可以用它來好好準(zhǔn)備面試。線程安全問題都是由全局變量及靜態(tài)變量引起的。持有自旋鎖的線程在之前應(yīng)該釋放自旋鎖以便其它線程可以獲得自旋鎖。 最近看到網(wǎng)上流傳著,各種面試經(jīng)驗(yàn)及面試題,往往都是一大堆技術(shù)題目貼上去,而沒有答案。 不管你是新程序員還是老手,你一定在面試中遇到過有關(guān)線程的問題。Java語言一個(gè)重要的特點(diǎn)就是內(nèi)置了對并發(fā)的支持,讓Java大受企業(yè)和程序員...

    wow_worktile 評論0 收藏0
  • Java對象內(nèi)存占用分析

    摘要:對于不同的實(shí)現(xiàn),對象占用的內(nèi)存空間大小可能不盡相同,本文主要分析中的情況,實(shí)驗(yàn)環(huán)境為位系統(tǒng),使用進(jìn)行結(jié)論驗(yàn)證。內(nèi)存占用這里分析一個(gè)只有一組鍵值對的結(jié)構(gòu)如下首先分析本身的大小。 本文深入分析并驗(yàn)證了不同Java對象占用內(nèi)存空間大小的情況。對于不同的jvm實(shí)現(xiàn),Java對象占用的內(nèi)存空間大小可能不盡相同,本文主要分析HotSpot jvm中的情況,實(shí)驗(yàn)環(huán)境為64位window10系統(tǒng)、JD...

    JouyPub 評論0 收藏0
  • Java 集合 Set

    摘要:當(dāng)復(fù)制集合中的所有元素來創(chuàng)建新的集合時(shí),要求集合中的所有元素必須是同一個(gè)枚舉類的枚舉值各實(shí)現(xiàn)類的性能分析的性能總比好,特別是最常用的添加查詢元素等操作。因?yàn)樾枰~外的紅黑樹算法來維護(hù)集合元素的次序。在創(chuàng)建時(shí)進(jìn)行,以防對集合的意外非同步訪問 HashSet 大多時(shí)候使用Set集合時(shí)就是使用HashSet實(shí)現(xiàn)類。HashSet按Hash算法來存儲集合中的元素,因此具有很好的存取和查找性能 ...

    verano 評論0 收藏0
  • Java對象結(jié)構(gòu)及大小計(jì)算

    摘要:由于的自動內(nèi)存管理系統(tǒng)要求對象起始地址必須是字節(jié)的整數(shù)倍,換句話說,就是對象的大小必須是字節(jié)的整數(shù)倍。對象大小計(jì)算要點(diǎn)在位系統(tǒng)下,存放指針的空間大小是字節(jié),是字節(jié),對象頭為字節(jié)。靜態(tài)屬性不算在對象大小內(nèi)。 jvm系列 垃圾回收基礎(chǔ) JVM的編譯策略 GC的三大基礎(chǔ)算法 GC的三大高級算法 GC策略的評價(jià)指標(biāo) JVM信息查看 GC通用日志解讀 jvm的card table數(shù)據(jù)結(jié)構(gòu) Ja...

    winterdawn 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<