java - 如何计算 64 位 Java 内存成本

标签 java memory garbage-collection jvm heap-memory

我正在尝试找到一个简单而准确的 Java 64 位对象字节成本引用。我一直没能找到这个。原语已明确指定,但我试图找出所有这些边缘情况和异常(exception),例如对象的填充和成本 vrs。它们实际上在堆上占用的空间等。从我在这里阅读的内容的要点来看:http://btoddb-java-sizing.blogspot.com/这实际上可以是不同的? :-/

最佳答案

如果关闭 TLAB,您将获得准确的统计,并且可以准确地看到每个对象分配使用了多少内存。

查看内存使用情况的最佳方法是通过内存分析器。担心这里的字节很可能会浪费时间。当您有数百 MB 时,就会产生影响,而查看这一点的最佳方法是在分析器中。

顺便说一句,大多数系统都使用 32 位引用,即使在 64 位 JVM 中也是如此。不存在 64 位对象这样的东西。除了 header 之外,无论是 32 位 JVM 还是在 64 位 JVM 中使用 32 位引用,对象都将使用相同的空间。

关于java - 如何计算 64 位 Java 内存成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24832442/

相关文章:

java - 在java中执行lua脚本

java - 从另一个 POST 执行 TEMPORARY_REDIRECT 时添加 POST 数据

debugging - 为什么在 GHC 中直接导入的函数与我使用从 GHC 库中复制的源代码编写的函数大不相同

java - Java 8 中默认的 Full GC 间隔是多少

Java 在垃圾回收期间崩溃

java - hdf5 Java 库入门

c++ - 使用 Assembly 和 C++ 调用一个函数两次

java - Tomcat : OutOfMemoryError: Java heap space - 24gb system

java - 计算Java中HashMap的内存需求

javascript - 在 JavaScript 中删除对象的最佳方法是什么?