如何查看java程序使用内存的目的?

如何查看java程序使用内存的目的?,java,memory-management,ram,Java,Memory Management,Ram,我写了一个程序,它以前工作得很好,但在某个时间点它开始延迟故障,变得非常慢。我认为它必须这样做,因为它连接到一个遥远的MySQL服务器,而不再连接到它以前运行的本地主机服务器。(这一变化几乎同时发生) 所以今天我决定测试一下是否可以恢复更改并将其连接回运行在localhost中的服务器,结果发现它没有改变任何东西。我甚至不得不和任务经理一起结束这个项目 在这一点上,我看到我的程序使用了超过2GB的RAM和44%的cpu,以前大约是60MB和1%。我不知道为什么,我想找出并深入研究我的程序的内存使

我写了一个程序,它以前工作得很好,但在某个时间点它开始延迟故障,变得非常慢。我认为它必须这样做,因为它连接到一个遥远的MySQL服务器,而不再连接到它以前运行的本地主机服务器。(这一变化几乎同时发生)

所以今天我决定测试一下是否可以恢复更改并将其连接回运行在localhost中的服务器,结果发现它没有改变任何东西。我甚至不得不和任务经理一起结束这个项目


在这一点上,我看到我的程序使用了超过2GB的RAM和44%的cpu,以前大约是60MB和1%。我不知道为什么,我想找出并深入研究我的程序的内存使用情况,而不仅仅是总量。有没有一种方法可以让我以人类能够理解的方式检查内存的用途?

程序是用什么语言编写的?许多开发环境提供了分析内存和cpu消耗的方法。啊,忘记了,编辑了它。它是用Java编写的。你可以使用
jconsole
jstack
来帮助理解。我将对此进行研究!本文可能有助于: