在我大学的一个项目中,我正在直接使用Java字节码。
浏览了可用于JVM (http://en.wikipedia.org/wiki/Java_bytecode_instruction_listings)的指令列表后,我发现没有[b|c|s]store,
这样的东西,只有istore
用于在局部变量中存储整数。这是否意味着如果我在我的程序中写道:
short a;
int b;
我没有节省任何内存,因为每个局部变量条目占用4个字节?
我一直认为使用short
或byte
类型可以在运行时节省一些内存。
发布于 2013-06-14 02:54:10
使用本地int
与long
并不能节省任何内存,因为它们很可能位于64位寄存器中。注意:字节码的布局和代码的实际运行方式是不同的。
在任何新硬件上,节省两个字节并不重要。2个字节的值不到你眨眼时间的1/1000,即使你拿的是最低工资。
https://stackoverflow.com/questions/17094704
复制相似问题