查看java 對象的大小

最近有點忙,上班煩了,所以抽時間去論壇看了看 ,看到一個用來顯示對象大小的工具JOL (Java Object Layout),所以試了一下 。使用方法我找到的有兩個,一個是下載core包,引入到類中使用,還有一種是下載cli-full包,使用命令行操作,我選擇命令行操作.....

  1. 下載工具 jol-cli-0.8-full.jar
    注意一定要下載 jol-cli-版本號-full.jar 的完整版本才能使用。
  2. 打開命令行,進入到jol-cli-0.8-full.jar所在目錄
  • 查看jdk中類
// 查看HashMap
java -jar jol-cli-0.8-full.jar internals java.util.HashMap
image.png
  • 查看自己寫的類,把類編譯后和jol 放在一起
// 注意這里我沒有加package , 后面執行命令時就沒有指定包路徑
import java.util.HashMap;
import java.util.Map;
public class ObjectSize {
    public volatile long value = 0L;
    public long p1, p2, p3, p4, p5, p6;
    public Map map = new HashMap(50);
    public static void main(String[] args) {
    }
}
image.png
// 查看自己寫的類
java -jar jol-cli-0.8-full.jar internals java -jar jol-cli-0.8-full.jar internals -cp . ObjectSize
image.png

通過這個工具可以看到對象頭,屬性所占的大小

參考:

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容