Java:找出对象的内存大小?

标签 java memory actionscript size byte

Possible Duplicate:
In Java, what is the best way to determine the size of an object?

在 Actionscript 中我通常可以这样做:

var myVar:uint = 5;
getSize(myVar)
//outputs 4 bytes

如何在 Java 中执行此操作?

最佳答案

如果你关闭-XX:-UseTLAB你可以检查前后的Runtime.freeMemory()。但是,对于局部变量,它们不会占用堆上的空间(因为它们使用堆栈),并且您无法获取它的大小。

但是,int 是一个 32 位符号值,您可以预期它将使用 4 个字节(或更多,具体取决于 JVM 和堆栈对齐等)

C++ 中的 sizeof 对于指针算术很有用。由于 Java 不允许这样做,因此它没有用,并且可能是故意隐藏的,以避免开发人员担心低级细节。

关于Java:找出对象的内存大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8104778/

相关文章:

PHP SimpleXML 大文件没有额外的内存使用

javascript - 从 Javascript 调用 ActionScript 函数

用于查询 LDAP 的 Java API

java - 多模块 Maven 项目中的不同构建结果

java - Android 版本 2.2 的错误对话框

swift - AV 视频 URL 在内存中保留多长时间?

java - Spring NamedParameterJdbcTemplate 查询的性能非常慢

java - 如何避免 string.intern() 争用并保持低内存占用?

apache-flex - 将 VBox 动态更改为 HBox

java - loadPolicyFile 在 AS3 中不起作用