课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
Java编程开发语言是程序员在开发软件的时候会经常用到的一种编程开发语言,我们在使用Java编程语言开发软件的时候难免会遇到比如说性能问题或者是其他开发问题等内容,下面我们就一起来了解一下,Java编程开发性能检测工具都有哪些。
生产服务器推荐开启
-XX:-HeapDumpOnOutOfMemoryError:默认关闭,建议开启,在java.lang.OutOfMemoryError异常出现时,输出一个dump文件,记录当时的堆内存快照。
-XX:HeapDumpPath=./java_pid.hprof:用来设置堆内存快照的存储文件路径,默认是java进程启动位置。
调优之前开启、调优之后关闭
-XX:+PrintGC:调试跟踪,打印简单的GC信息参数。
-XX:+PrintGCDetails,+XX:+PrintGCTimeStamps:打印详细的GC信息
-Xlogger:logpath:设置gc的日志路径,如:-Xlogger:log/gc.log,将gc.log的路径设置到当前目录的log目录下。
应用场景:
将gc的日志独立写入日志文件,将GC日志与系统业务日志进行了分离,方便开发人员进行追踪分析。
考虑使用
-XX:+PrintHeapAtGC:打印堆信息。
应用场景:
获取堆在每次垃圾回收前后的使用状况。
-XX:+TraceClassLoading,-XX:+TraceClassUnloading:可以跟踪类加载和卸载的情况,可以用来排查class的冲突问题。
应用场景:
在系统控制台信息中看到class加载的过程和具体的class信息,可用以分析类的加载顺序以及是否可进行精简操作。
如果碰到经常FullGC的情况,但是老年代空间使用的却不多,年轻代GC后的情况也很正常,同时也不存在突然大对象的情况,但是元空间却一直递增,那么可以考虑下是不是使用了反射等手段导致元空间加载的类太多了,导致元空间爆满触发FullGC,那么此时就可以加上这两个参数,看下类加载和卸载的情况,确定下是不是有哪些类反复被生成和加载,找到相应的类,然后跟踪到代码里,排除问题。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。