jdk自带工具
文章平均质量分 95
java叶新东老师
你需要悄悄加班,默默写BUG,然后坑死所有人!
展开
-
实战 - 分析java项目线上内存泄漏、内存溢出、频繁GC的原因
模拟内存泄漏下列的java代码是一个模拟线上的内存泄漏的代码,这段代码的业务逻辑是从数据库中读取信用数据,套用模型,并把结果进行记录和传输;启动启动时加入参数-Xms200M -Xmx200M -XX:+UseParallelGC -XX:+PrintGC -XX:+HeapDumpOnOutOfMemoryError,这段代码运行后,过了一段时间会频繁Full GC(回收老年代垃圾),最后会导致OOM异常:Exception in thread "pool-1-thread-1" java.lang原创 2021-07-22 14:37:58 · 5728 阅读 · 32 评论 -
原来jdk自带了这么好玩的工具 > 使用 jstack定位死循环
什么是jstackjstack的主要作用是查看或者导出java线程的堆栈信息(快照);用于堆栈跟踪,当我们使用jstack命令时,它会将指定进程内的所有线程中方法的调用栈打印出来。线程快照是java虚拟机内每一个线程正在执行的方法堆栈的集合,生成线程快照的主要目的是用于定位线程出现问题的位置;常见的问题有响应时间长线程死锁死循环当线程停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道线程的执行过程中在后台做了哪些事,在等待哪些资源造成的卡顿。使用方法命令格式jstack原创 2021-07-15 00:07:55 · 3401 阅读 · 18 评论 -
原来jdk自带了这么好玩的工具 > jmap 使用教程
前言本次博客测试环境使用的是JDK1.8,系统使用CentOS Linux release 7.4.1708 (Core)什么是jmapjmap是一个多功能的命令,也是jdk自带的命令,是我们在开发过程中用来虚拟机性能能分析和故障解决必不可少的工具之一,它可以生产java程序的堆栈(dump)文件;也可以查看堆内的对象信息、Classloader 类加载信息以及finalizer队列(java将要回收的垃圾队列);另外,jmap没有图形界面,所有的操作都是在命令行完成的。使用方法命令格式:jma原创 2021-07-13 22:44:37 · 4014 阅读 · 2 评论 -
原来jdk自带了这么好玩的工具 > jstat使用教程
什么是jstatJstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。这个工具是纯命令行的,也就是说它没有图形界面;注意:我们使用的是jstat,jdk自带的工具里面还有一个叫做jstatd的,它们俩原创 2021-07-11 20:34:05 · 2077 阅读 · 7 评论