JVM规范说jvm操作数堆栈以字大小为单位工作,在许多实现中,它是本机指针的大小 - 32位系统为4个字节,64位系统为8个字节.我的问题是,如果被推入堆栈的操作数是char(2个字节)并且操作数堆栈以字大小为单位推送和弹出操作数(64位系统中为8个字节),那么这不是浪费空间?
是的,它是"浪费的空间",但它极大地简化了运行时,加上字大小与它们构建的CPU相匹配,因此虽然浪费了空间,但它们在CPU处理方面实际上更有效.
它也仅适用于运行时参数和实际存储数据.
最后,如果你看一下大多数Java程序,它们传递的大部分内容都是对象的指针,而不是标量.所以这一切在洗涤中都很有用.
归档时间: |
|
查看次数: |
1254 次 |
最近记录: |