如何判定你的java应用是否正常(是否内存线程泄漏)?

Posted 梁桦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判定你的java应用是否正常(是否内存线程泄漏)?相关的知识,希望对你有一定的参考价值。

给大家推荐一个最简单的判定你的java应用是否正常的方法:

  step1:部署你的应用,让它跑起来;

  step2:打开jdk下bin目录下的jconsole.exe工具,连接到你的应用——以监测线程和内存的变化;

  step3:让你的应用运行一段时间(一天或者数天);

  step4:查看jconsole上你的应用对应的堆内存空间变化情况,以及线程变化情况:

    如果得到的两条线具有显著地周期性,那么你的应用基本上就是正常的。


  想想看,如果你的java应用运行了很长时间,堆内存变化曲线或线程变化曲线,都不具有较为明显的周期性,那么你的应用对内存或线程的使用或创建,就不是收敛的,势必会导致内存溢出等问题。

  让有限的东西去承载无限的内容,就必须吐故纳新,收支平衡。

  内存,是软件世界里的硬通货。

以上是关于如何判定你的java应用是否正常(是否内存线程泄漏)?的主要内容,如果未能解决你的问题,请参考以下文章

为啥lua语言中使用全局变量就会造成内存泄漏呢??

为什么JAVA的垃圾回收机制无法避免内存泄漏

带有线程的 MFC 应用程序中的内存泄漏

如何找到内存泄漏?

如何确定我的 android 应用程序是不是存在内存泄漏?

是否可以反射性地检查 Java 中的内存泄漏? [关闭]