我正在为一个课程做一个项目,我应该实施研究论文中描述的算法并运行本文所述的实验。本文与最短路径查询有关,因此我正在使用JUNG库;找到了用于实验的论文和数据集here。
无论如何,实验的一部分涉及将算法使用的数据结构所需的内存(从原始图形派生的树和最短路径上的一些信息)与其他算法中的数据结构使用的内存进行比较。在同一图表上运行。该论文的作者用C ++编写了代码,但是我的教授让我们选择使用哪种语言进行这个项目,所以我选择了Java,因为我已经使用了它,因此编写代码更快...但是现在我不是确定如何弄清楚这个内存使用情况。
我发现了一些提出类似问题的问题,但有几个问题已经过时(4年或5年),其他问题似乎没有提出相同的问题;他们正在计算不会改变的结构的大小。所以我希望有人能指出我的算法,方法,甚至更好的图书馆,可以给出一个很好的估计。我不认为它需要准确,但我至少需要某种估计。
答案 0 :(得分:1)
您想要查看各种SizeOf实现:
在这里: http://www.javaworld.com/javaworld/javaqa/2003-12/02-qa-1226-sizeof.html(虽然这是为静态大小而不是 运行时大小)
然而,this question似乎有更好的答案。
答案 1 :(得分:0)
我认为这取决于Java虚拟机的实现。在文档http://java.sun.com/docs/books/jni/download/jni.pdf或http://en.wikipedia.org/wiki/Java_Native_Interface中,映射到C ++到Java的类型。
例如,
java boolean类型是 unsigned char jboolean unsigned 8 bits