例如,假设我有一个应用程序可以读取包含大量数据行的CSV文件.我根据数据类型向用户提供行数的摘要,但我想确保我不读取太多数据行并导致OutOfMemoryErrors.每行都转换为一个对象.有没有一种简单的方法可以通过编程方式找出该对象的大小?是否有一个引用定义了大型基元类型和对象引用的大小VM?
现在,我的代码可以读取多达32,000行,但我还希望代码能够读取尽可能多的行,直到我使用了32MB的内存.也许这是一个不同的问题,但我仍然想知道.
Ehcache 讨论了堆上和堆外内存.有什么不同?使用什么JVM args来配置它们?
我们有一个PHP webapp调用java二进制文件来生成pdf报告(使用jasperreport),java二进制文件输出pdf到标准输出并退出,然后php将pdf发送到浏览器.这个java命令持续大约3到6秒,我认为当它持续6秒时,因为GC启动,所以我想禁用它,因为无论如何当命令退出所有内存时返回..
我想知道如何为Java 1.4.2和Java 1.6.0禁用它,因为我们正在测试两个JVM以查看哪个执行速度更快..
谢谢
我正在考虑一种方法来防止垃圾收集中的Java对象,即使它没有在合理的时间内被引用.
怎么做?
java ×5
memory ×2
ehcache ×1
heap ×1
java-api ×1
keep-alive ×1
object ×1
performance ×1
unsafe ×1