簡體   English   中英

如何估計Java中數據結構/變量的內存大小?

[英]How to estimate the memory size of data structures/variables in Java?

我正在為一個班級做一個項目,我應該在該類中實現研究論文中描述的算法並運行論文中描述的實驗。 本文與最短路徑查詢有關,因此我正在使用JUNG庫。 紙和用於實驗的數據集被發現在這里

無論如何,實驗的一部分涉及將算法所使用的數據結構(從原始圖形派生的樹和最短路徑上的一些信息)所需要的內存與在其上運行的其他算法中的數據結構所使用的內存進行比較。同一張圖。 該論文的作者使用C ++編寫了代碼,但是我的教授讓我們選擇了用於該項目的語言,所以我選擇了Java,因為我已經使用了更多的語言,因此在其中編寫代碼的速度更快...但是現在我還沒有確定如何弄清楚內存使用情況。

我發現有幾個問題在問類似的問題,但有幾個是古老的(4或5年),而另一些似乎並沒有問完全相同的問題。 他們正在計算不會改變的結構的大小。 因此,我希望有人可以為我提供一種算法,方法,甚至更好的庫,可以對此提供一個很好的估計。 我不認為它是准確的,但至少我需要某種估計。

您要查看各種SizeOf實現:

但是, 這個問題似乎有更好的答案。

我認為這取決於Java虛擬機的實現。 在文檔http://java.sun.com/docs/books/jni/download/jni.pdfhttp://en.wikipedia.org/wiki/Java_Native_Interface中 ,類型映射到C ++到Java。

舉例來說,

java boolean類型為unsigned char jboolean unsigned 8位

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM