java spy_Java Spy-代码跟踪神器
Java方法跟踪工具,Java Debug工具,Java方法耗时统计工具,方便你了解各种开源框架的源码
大家最阅读源码常用的手段应该是借助开发工具debug?又或者是把log4j的基本改成debug?今天要和大家分享一个帮助你更好地阅读源码神器,瞬间让你知道某个方法调用的所有方法栈(如果你想记录SpringBoot2.0的启动过程所有执行到的方法,必须调整JVM参数,不然随时OOM了),非常详细地记录了所有被调用到的方法及其耗时。下面具体了解一下:
一:Java Spy
Java Spy是一个独立的Jar包,以-javaagent的方式运行,会跟踪和记录设定方法的所有方法的调用过程及其耗时。
二:Spy Demo
Spy Demo是基于SpringBoot2.0的项目,集成了springweb和mybatis。基于这个项目我们来看看SpringBoot2.0的启动过程以及一个Http Call的执行过程。现在看看如何配置并运行Spy Demo:
(1) 配置Idea和 Java程序的JVM参数
-javaagent:C:\Users\Jo\IdeaProjects\java-spy\java-spy.jar -Xms4096m -Xmx4096m
(2)配置需要忽略的包名
SPY_IGNORE_FILE是固定的,spy_ignores.txt的路径可以随意改,下面看看spy_ignores.txt中忽略了哪些package:
com.fasterxml
org.aspectj
io.opentracing
ch.qos.logback
org.hibernate
org.jboss
org.springframework.util
org.springframework.jmx
org.springframework.format
org.springframework.boot.logging
org.springframework.expression
org.springframework.asm
org.springframework.cglib
org.apache
org.slf4j
com.sun
sun
java
在跟踪SpringBoot的启动过程的时候,我忽略了以上不太想关心的package,一般情况,jdk相关的包,log日志相关的包,json包忽略掉就好了。
三:Spy Web
启动Spy Web之前需要执行spy.sql,数据存储路径和数据库的连接信息:
到此,需要配置的信息已经完成。接下来就可以运行Spy Demo和Spy Web了。启动完成后,访问:http://127.0.0.1:16688/
点击sequence可以查看SpringBoot启动的时候方法调用详细信息(由于信息量大,这个页面打开需要15min+):
上图中,蓝色方法名表示还可以继续点击查看其方法调用细节。
更多信息关注公众号:
java spy_Java Spy-代码跟踪神器相关推荐
- 安卓代码跟踪方式学习笔记
一.代码跟踪的介绍&使用工具 代码跟踪常用于调试程序中,跟踪并了解程序的执行轨迹和执行逻辑.这样来说,对Java这样的高级语言来说,我们容易理解也容易调试.但是像一些低级语言,例如ASM.Sm ...
- java异常——分析堆栈跟踪元素+使用异常机制的技巧
[0]README 0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java异常--分析堆栈跟踪元素+使用异常机制的技巧 的相关知识: [1]分析堆栈跟踪元素相关 ...
- proxy aspectj_使用AspectJ,Javassist和Java Proxy进行代码注入的实用介绍
proxy aspectj 静态地或在运行时将代码片段注入已编译的类和方法中的功能可能会很有帮助. 这尤其适用于在没有源代码的第三方库中或在无法使用调试器或探查器的环境中对问题进行故障排除. 代码注入 ...
- 使用AspectJ,Javassist和Java Proxy进行代码注入的实用介绍
静态地或在运行时将代码片段注入已编译的类和方法中的功能可能会很有帮助. 这尤其适用于在没有源代码的第三方库中或在无法使用调试器或探查器的环境中对问题进行故障排除. 代码注入对于处理涉及整个应用程序的问 ...
- 多功能mac代码编辑神器coderunner 4 比Xcode都强大
coderunner 4是Mac平台上的一款轻量级多功能代码编辑神器.本站第一时间为大家带来 coderunner 全新升级版 coderunner 4,支持 23 种语言和.txt 文档制作,比Xc ...
- 别熬夜加班了,Facebook 开源了一款代码推荐神器!| 程序员硬核评测
近日,科技巨头 Facebook 开源了一款代码到代码的搜索和推荐神器--Aroma,开发者基于此可以轻松找到常见的编码模式而无需手动浏览多个代码片段. 作者 | Celeste Barnaby.Sa ...
- 今天用Java开发主机IP扫描神器,零基础Socket编程详细
目录 一.开发背景 二.准备工作 三.远程主机 IP 探测 四.核心算法 1.IP地址转化为十进制数 2.十进制数转化为IP地址 五.主机 IP 扫描神器界面 六.各功能代码及IP扫描演示 1.主机扫 ...
- Java开发商用免费必备神器
Java开发商用免费必备神器 1. 免费代码编辑器 2. 免费的linux连接工具 3. 免费sql连接工具 4. 免费redis连接工具 5. 免费前端编程工具 6. 免费mongodb 连接工具 ...
- Boostnote+坚果云:程序员的^表白^代码管理神器
Boostnote+坚果云:程序员的^表白^代码管理神器 作者:痴澳超 Boostnote+坚果云:程序员的^表白^代码管理神器 1. 更改语言选项 2. 配置坚果云同步 3. 新建笔记分组 4. 新 ...
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...
最新文章
- 暑假集训(3)第二弹 -----Jungle Roads(Hdu1301)
- HDU 1018.Big Number-Stirling(斯特林)公式 取N阶乘近似值
- python在函数中传入多个实参
- 牛客14355 翻硬币
- ensp路由器无法启动_品胜云路由器Breed刷入详细教程,技巧和注意事项,功能大增...
- 腾讯视频客户端如何设置快进速度
- MySQL还是h5储存数据_h5中五大存储方式
- 小米推出售价 19999 元的 MIX Alpha;高通已向华为重启供货;.NET Core 3.0 发布 | 极客头条...
- Adobe 紧急修复严重的 CodeFusion 漏洞
- Error: because it is being used by another process
- Windows Server 2008终端服务详解系列3:结合MOSS 2007部署TS Web Access
- Java中几种输出当前时间的代码
- f1c200s核心板_F1C200s NS 2009 驱动
- 三对角矩阵与追赶法介绍
- 数据库:实验五MySQL数据库对象-(视图、索引)
- 不变初心数 (15 分) C语言
- 一起学JAVA之【基础篇】4种默认线程池介绍
- RK3568 外接 PCF8563 RTC
- centos 6.9界面中文显示英文或者英文界面改中文
- 各大搜索引擎收录地址
热门文章
- hb100 微波雷达arduino_【Arduino】108种传感器系列实验(03)-微波雷达感应开关...-Arduino中文社区 - Powered by Discuz!...
- 51单片机最小系统的c语言,89c51单片机最小系统,89c51最小系统原理图的功能详解...
- java与模式孙悟空_设计模式之原型模式 - chenxkang的个人空间 - OSCHINA - 中文开源技术交流社区...
- 亚马逊仓库部署机器人:每小时挑拣物品为过去三倍
- 十问十答 | 王峰对话投资人郑刚:特斯拉穿越生死无数次 看好电动车未来
- 局域网内连接MySQL数据库
- 全球云服务商排名情况及国内云主机市场占有率份额排名对比
- python画实心圆_任意空实心圆形打印|Python练习系列[8]
- JavaScript实现页面动态添加图片
- 如何使用Apollo / Graphene管理GraphQL突变中的文件上传