我正在运行一个程序,它从磁盘上的预定义文件中读取数据,然后对它们进行一些处理(我不认为处理的确切性质是相关的,但它基本上扫描它们以检测同义词和计算匹配文件之间的单词)。
无论如何,我从不使用非通用对象(没有"列出a =新的ArrayList();"),所以我的程序没有理由包含任何"对象"宾语。 但是,使用visual vm分析内存会给出以下(开始)内存分配表:
正如您所看到的那样,有大量的Object对象。 我想知道它意味着什么,以及是否有避免它的方法 - 这是JVM开销的一部分,它在给定时间跟踪所有分配的对象(某种引用计数,否则)?
很抱歉没有提供确切的代码,但代码超过100个类。 任何想法都将受到高度赞赏,谢谢和新年快乐:)