如何确定';是什么导致我的Java应用程序内存使用率高?

如何确定';是什么导致我的Java应用程序内存使用率高?,java,object,memory-leaks,heap,Java,Object,Memory Leaks,Heap,通过分析堆的使用情况和创建的对象的数量,我相信这就是导致我的程序内存使用量过大,运行速度低于预期的原因 我怎样才能确定是什么导致了这种高内存使用率,并准确指出是哪个代码位导致了这种高内存使用率 我用水管工试着找出任何内存泄漏,他们说没有 下面是堆使用情况和使用的对象的图像 如果您的代码经常分配新对象,垃圾收集的运行可能会经常减慢程序的速度。我在办公室使用JProfiler来追踪这种问题。它告诉您分配了某个类的多少个对象,并便于查找分配热点。这是一个商业软件,但我相信他们有线索。使用并进行堆转储。

通过分析堆的使用情况和创建的对象的数量,我相信这就是导致我的程序内存使用量过大,运行速度低于预期的原因

我怎样才能确定是什么导致了这种高内存使用率,并准确指出是哪个代码位导致了这种高内存使用率

我用水管工试着找出任何内存泄漏,他们说没有

下面是堆使用情况和使用的对象的图像


如果您的代码经常分配新对象,垃圾收集的运行可能会经常减慢程序的速度。我在办公室使用JProfiler来追踪这种问题。它告诉您分配了某个类的多少个对象,并便于查找分配热点。这是一个商业软件,但我相信他们有线索。

使用并进行堆转储。我有一个对象列表,但它没有告诉我问题的来源,比如是什么导致了问题,或者它们是在哪里创建的。我尝试使用VisualVM来跟踪问题,但我实际上找不到问题发生的地方。它说一些对象的使用率很高,但没有告诉我问题的原因。