相关疑难解决方法(0)

在Java中,确定对象大小的最佳方法是什么?

例如,假设我有一个应用程序可以读取包含大量数据行的CSV文件.我根据数据类型向用户提供行数的摘要,但我想确保我不读取太多数据行并导致OutOfMemoryErrors.每行都转换为一个对象.有没有一种简单的方法可以通过编程方式找出该对象的大小?是否有一个引用定义了大型基元类型和对象引用的大小VM

现在,我的代码可以读取多达32,000行,但我还希望代码能够读取尽可能多的行,直到我使用了32MB的内存.也许这是一个不同的问题,但我仍然想知道.

java memory

592
推荐指数
15
解决办法
28万
查看次数

为什么没有定义Java的布尔基元大小?

Java虚拟机规范说有布尔有限的支持原始类型.

没有专门针对布尔值操作的Java虚拟机指令.相反,Java编程语言中对布尔值进行操作的表达式被编译为使用Java虚拟机int数据类型的值.

以上暗示(虽然我可能误解了它)在操作布尔值时使用int数据类型,但这是一个32位内存构造.假设布尔值仅代表1位信息:

  • 为什么不使用byte或short类型作为布尔值而不是int的代理?
  • 对于任何给定的JVM,什么是最可靠的方法来找出用于存储布尔类型的确切内存量?

java boolean

108
推荐指数
3
解决办法
6万
查看次数

标签 统计

java ×2

boolean ×1

memory ×1