例如,假设我有一个应用程序可以读取包含大量数据行的CSV文件.我根据数据类型向用户提供行数的摘要,但我想确保我不读取太多数据行并导致OutOfMemoryErrors.每行都转换为一个对象.有没有一种简单的方法可以通过编程方式找出该对象的大小?是否有一个引用定义了大型基元类型和对象引用的大小VM?
现在,我的代码可以读取多达32,000行,但我还希望代码能够读取尽可能多的行,直到我使用了32MB的内存.也许这是一个不同的问题,但我仍然想知道.
我对高级Java缺乏经验,所以请耐心等待.
我很好奇Java能够实现可能被称为"自主"的功能.假设我们有两个Java程序在运行.并且一个程序确定另一个程序正在占用内存,从而杀死该程序和/或为JVM分配更多内存.
我知道在Java中你可以看到可用的内存是什么(请参阅如何检查Java中的CPU和内存使用情况?),但是如果我们想深入挖掘怎么办?
谢谢.