为什么Java中没有sizeof关键字?
Java中没有sizeof关键字的原因是因为Java语言明确规定了原始类型的大小,JVM的实现之间没有差异。此外,由于内存分配是由new操作符根据其参数完成的,因此没有必要指定所需的内存量。
有时候知道一个对象将占用多少内存会很方便,这样可以估计最大堆大小要求等等,但我想Java语言/平台的设计者并不认为这是一个关键的方面。
同样,C#也是如此。我认为这是设计的原因。
C#比Java更明确地针对非托管/COM Interop。
虽然人们批评Java中没有sizeof关键字,但这是C#中很多事情的设计原因。