这篇文章给大家介绍java中怎么利用idea查看方法的调用过程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
10年积累的成都做网站、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有赤城免费网站建设让你可以放心的选择与我们合作。
如图所示,在idea里面运行main函数或者单元测试时有以下的选项
通常来说我们都是点的第一个或者第二个运行的
Run StringUtils.main() : 直接运行
Debug StringUtils.main(): 以debug 的方式运行,可以打断点
Run StringUtils.main with Coverage 带有运行覆盖率报告的运行
用这个运行的话,可以看到我们的代码覆盖报告:
在这三个里面,我们可以看到运行时,方法调用等信息
Run StringUtils.main() with Allocations Profiler: 用这个运行,可以看到线程信息,可以看到线程里面方法调用栈的信息
Run StringUtils.main() with CPU profiler : 用这个运行,可以看到虚拟机和cpu进行交互的一些方法,比较底层
Run StringUtils.main with Java Flight Recorder: 用这个运行,可以看到java飞行记录器记录的运行时系统的一些信息
通过这些附加方法的调用,我们可以看到系统一些内部的信息,可以为我们学习源码,指条路径
如下图是运行spring 时调用方法列表,在这里面可以清楚的看到springboot 的上下文加载, bean的初始化以及填充,可以对学习spring 各大组件,以及源码提供帮助
通过CPU profiler 来运行,可以看到更底层的一些东西, 上面也有一些外层的调用方法,更多的还有C/C++底层的方法调用, invoke 等方法
在第一次调用时,需要先配置jvm 参数:
在idea右上角的configuration里面进行jvm 参数配置
点击 Run StringUtils.main with Java Flight Recorder,如下图所示,不仅仅可以看到Allocations Profiler里面的Flame Graph , Call Tree , MethodList 还多了一个Event ,可以看到JVM运行时一些事件, 如GC, Thread, 类似于飞机上的黑盒子,可以看到内部的一个参数,状态,对jvm调优有很大的帮助
idea 还有很多很强大的功能等待大家去发掘, 如可以直接连数据库,直接连redis , 直接ssh连接远程服务器.还有许多强大的功能,大家可以和小刀分享一下:best396975802
关于java中怎么利用idea查看方法的调用过程就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。