gpt4 book ai didi

java - sun.java2d.loops.ProcessPath$点

转载 作者:行者123 更新时间:2023-12-02 08:38:32 27 4
gpt4 key购买 nike

我正在分析一个突然使用大量内存的应用程序,我得到了这个:

sun.java2d.loops.ProcessPath$Point

分配了近 11.000.000 次。

这是什么,有解决办法吗?

最佳答案

我最初的 react 是质疑这是否真的使用了大量内存/CPU 周期? sun. 包是 Sun JVM 的内部实现,因此它们可能是代码正在执行的操作的低级详细信息。如果这些对象占用大量内存,这可能会成为一个问题,但仅仅看到 1100 万次分配并不表明有任何异常。

编辑:一点谷歌搜索似乎表明这是一个用于编码对 2D 平面上特定点的引用的对象。如果您正在做任何涉及图形的事情,那么您可能会生成大量图形。此外,每个对象仅存储两个整数(x 和 y 坐标)和一个 boolean 值,因此在宏观方案中它们将是非常小的对象。即使这 1100 万个分配都没有被垃圾回收(我预计大部分都是局部变量,因此会很快被回收),那么它们也不会占堆的很大一部分,除非你在具有少量 RAM 的设备上运行。

换句话说,到别处寻找你的问题。查看占用大量当前堆空间的对象,甚至查看当前引用的对象的数量,以便找到泄漏可能会更有帮助。阅读提供有关如何使用您选择的工具查找和消除内存泄漏的指南的文档。查看总分配很少有用,除非您知道给定类应该有多少分配(例如,检查单例是否只创建一次可能会很好)。

关于java - sun.java2d.loops.ProcessPath$点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457281/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com