拉勾网《32个Java面试必考点》学习笔记之七------常用工具集

本文为拉勾网《32个Java面试必考点》学习笔记.只是对视频内容进行简单整理,详细内容还请自行观看视频《32个Java面试必考点》.若本文侵犯了相关所有者的权益,请联系:txzw@live.cn.将会删除相关内容

知识点汇总

常用工具

知识点详解


JMC(Java Mission Control)

1.7提供的图形化JVM分析与监控工具
JMC

  • JVM浏览器
    • 可列出正在运行的Java程序JVM,每个JVM实例叫做一个JVM连接,使用JDP(Java Discover Protocol),可以连接到本地和远程运行的JVM
  • JFR(Java Flight Recorder)
    • 提供了能够深入JVM内部,能看到运行时状态的能力,是个非常强大的性能profile工具,适合对程序进行调优和问题排查.主要对运行事件进行采集,可以通过指定采集的事件和频率,收集非常全面的的数据信息
  • JMX(Java Management Extensions)
    • 可以管理并监控JVM,通过对MBean的管理可以实时收集JVM信息,例如,类使用信息,堆使用情况,CPU负载,线程信息等,以及其他可以通过MBean管理的运行时属性

btrace

JVM实时监控工具,基于动态字节码修改技术,实现对运行中的Java程序跟踪和替换,可在不重启JVM的情况下,监控系统运行情况,获取JVM运行时的数据信息,如,方法参数,返回值,全局变量,堆栈信息等

可以做不可以做
方法调用信息
对象创建信息
内存统计
同步块执行
异常信息
定时执行
类加载信息
死锁检测
线程栈信息
文件/网络IO
创建新对象
抛出或捕获异常
使用循环
定义static以外的属性和变量
使用synchronized
调用实例方法或静态方法

注意事项:

  1. 不恰当的使用会导致JVM崩溃
  2. btrace操作会持续JVM运行期间
  3. 通过JVM参数,取消btrace安全限制

其他常用工具

作用与特点
jps查看Java进程信息
jmap查看JVM中对象的同级信息
jstat实时监控JVM的资源和性能
jstack查看JVM线程栈信息
jinfo动态查看,调整JVM参数
jcmd1.7提供的综合工具
jconsole,jprofiler,jvisualvm监控与性能分析.建议使用JMC代替

如,

  1. 希望打印GC详细日志,发现未开启时,可通过jinfo开启print_gc_details,动态生效
  2. 分析内存泄漏风险时,使用jmap或jcmd定期获取堆对象的统计信息,发现定期增长的可疑对象
  3. 发现所有服务都存在耗时较高的情况,可以使用jstat检查gc回收状况,看看是不是gc停顿耗时过高
  4. 遇到某个服务卡死或停止处理时,可用jstack查看线程栈,是否存在多个线程为block状态,产生了死锁
  5. 当服务上线后没有达到预期,可用jmc分析JVM运行信息,看看哪些热点方法可以优化,哪些线程竞争可以避免

Git

Git常用命令

Git常用工作流
Git工作流

常用Linux分析工具

作用与特点
vmstat进程,虚拟内存,页面交换,IO读写,CPU活动
instat&iotop系统IO状态信息
ifstat&iftop实时网络流量监控
netstat查看网络相关信息,各种网络协议套接字状态
dstat全能型实时系统信息统计
strace诊断,调试程序的系统调用
GDB程序调试,coredump分析
lsof查看系统当前打开的文件信息
tcpdump网络抓包工具
traceroute网络路由分析工具

考察点

  • 了解常用的JVM分析工具
    • 分析线程死锁可用jstack
    • 内存溢出可用jmap
    • 分析程序性能可用jmc中的jfr
  • 掌握Git的常用操作与工作流
    • merge命令与rebase命令的区别
    • 各种工作流的优缺点
  • 了解Linux系统下常用的分析工具
    • 磁盘写入用时较高,可用iostat分析磁盘io情况
    • 不能确定问题,可用strace对文件写入的系统调用进行分析
    • 定位CPU负载较高的原因,可用top与jstack结合分析

加分项

  • 能够主动出击体现知识广度
  • 能够体现使实战能力

真题汇总

  • 排查JVM问题有哪些常用工具?(你曾遇到过什么问题,如何排查,如何解决的)
  • Git合并代码由哪些方法?有什么区别?
  • Git与SVN有哪些差异?
  • 你所在的吐纳对项目开发使用什么样的工作流?有什么优点?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值