对象有多大?为什么没有sizeof?

dev*_*per -3 java

可能重复:
在Java中,确定对象大小的最佳方法是什么?
sizeof java对象

C有一个sizeof运算符,它需要有一个,因为用户必须管理对malloc的调用,并且因为原始类型(如long)的大小不是标准化的.但是在java中我们找不到对象的大小?另外为什么java没有sizeof运算符或方法?

Tom*_*Tom 12

你已经回答了自己的问题,你可以在jvm中管理java中的内存.

在c中,您直接为要存储的数据结构(malloc)分配内存,因此您经常需要知道这些内容的大小.

在java中,内存系统很大程度上被抽象掉了,所以你不会(通常)关心你只需要调用new,它会做任何事情,如果不同的jvms以不同的方式做事,你声明的类所使用的内存可能会有所不同.

有时知道你的类占用了多少内存(比如你在一个严格受限的环境中试图减少你的内存占用)是有用的,但是你很少需要在运行时获得那种信息.

  • 你能解释一下你不清楚的事吗?关于这个问题有很多材料,但我怀疑你有疑问,但我们无法猜测它是什么. (3认同)