如果要想早点完成自己的工作,就必须借助于一些开发工具来提高自己的工作效率,今天就给大家总结一些工作中常用到的工具。

Everything

不知道大家在日常工作中会不会遇到这样的情况,每次找文件的时候总是为想不起来放在哪个目录而抓狂,但是还好记得文件名字,而window自带的文件搜索简直慢的离谱,另外还经常出现搜索一个文件等了半天却没有这个文件的情况,简直想吐血。如果有一款工具可以搜索本地所有的文件就好了,于是Everything应运而生。

Everything是一款Windows系统的文件搜索工具,通过它可以快速查找电脑中的文件以及文件位置,真正实现全盘搜索,而且它的体积也非常小,仅需要大约 14 MB 的内存以及不到 9 MB 的硬盘空间,搜索文件的效率大概在秒级,比windows自带的文件搜索效率高出很多倍。可以说有了Everything就可以告别到处找文件的尴尬境地,实现文件快速定位,大幅度节约文件搜索时间。

Maven helper

平时我们在进行项目开发的时候,总是不可避免的引入第三方jar包来进行功能集成,但是引入的第三方包中会不会包含和项目中现有jar包存在版本冲突的jar包,实际上我们是不好进行判断的。这就会导致经常出现jar包冲突导致的服务启动失败等异常问题,有的时候费了九牛二虎之力排查问题,结果发现只是小小的jar包版本冲突问题,非常浪费时间和精力。

而Maven Helper就是一款Java开发必不可少的Maven管理插件,没有它之前我们需要人工手动的去分析jar包版本冲突,费时又费力,通过Maven Helper可以一键找到工程中相冲突的jar包,然后通过exclude将冲突的jar包进行排除,在对应的pom文件中会自动添加,如此我们可以快速地去除工程中的冲突的jar包,让技术人员可以更加关注业务功能实现,尽可能的不被这些琐事浪费时间。

ProcessOn

程序员在平时的工作中除了编码实现之外,还包括了架构设计、编写技术方案等。而无论是架构设计还是编写技术方案,画图总是必不可少的,清晰明了的架构图、流程图、时序图可以帮助我们更加直观的理解业务逻辑以及架构原理。因此一款功能强大的画图软件就显得尤为重要了。

ProcessOn是一款功能十分强大的在线绘图工具,支持流程图、思维导图、UML、网络拓扑等多种结构图形绘制,甚至还支持团队协作绘制,另外由于它是在线绘图工具,屏蔽了系统间使用差异,可以随时随地进行图形绘制创作。在ProcessOn上面还囊括了海量的各行各业都可能用到的画图模板,有的时候自己没有画图思路的时候完全可以借鉴模板中的画图结构。

Apipost

在程序员的日常工作中,接口联调测试是最重要的研发工作之一,通过和别的同学进行联调测试可以发现我们的接口定义问题、检查接口调用的正确性等等。市面上的接口测试工具多入牛毛,但是都总觉得缺点意思,能测试接口的不能生成接口文档,能生成接口文档的不能进行性能测试,总之就是不能覆盖程序员所有的接口开发使用场景。

而Apipost的出现完美解决了以上问题,官方宣称Apipost = Postman + Swagger + Mock + Jmeter,,也就是说它将这几个工具的能力都整合到了一起。实际上一言一概之,Apipost是API接口一揽子解决方案。通过它可以定义接口、共享接口、测试接口、Mock接口、生成文档等等,基本覆盖了和接口相关的所有研发场景。其中支持项目团队中的接口共享我觉得是非常实用的一个能力,以前我们开发接口和别人对接的时候要么是接口文档满天飞传来换取,要么是Swagger连接发来发去,而Apipost完美解决这些问题,录入接口只有项目组的成员都可以看得到,同时还支持自动生成API文档,不要太方便。

另外接口还支持查看接口状态,主要包括开发中、已完成、需修改三种接口状态,团队中的前后端同事可以清晰明了的看到各个接口的实现状态,方便大家及时了解各个接口开发进度。同时协作日志可以查看接口的修改记录,非常实用。

MAT

内存溢出大概是程序员最不想遇到的线上异常,但是又不得不面对,因为内存溢出是非常典型的服务异常。快速的定位内存异常原因并进行修复,减少线上异常影响时间,是对程序员比较基本的技能要求。实际上在分析内存溢出的时候,我们可以借助于内存分析工具来进行,提高我们定位问题的效率。

MAT(Memory Analysis Tool)即内存分析工具,它可以帮助开发者分析Java应用的hprof崩溃文件,分析异常堆积对象快速找到内存泄漏的类及其对应的方法,方便技术人员定位分析内存泄漏问题。

Wireshark

Wireshark是一款网卡抓包分析工具,通过它可以抓取指定网卡的所有网路数据包。主要可以应用在分析网络数据正确性、网络底层通信机制以及到底是客户端主动断开连接还是服务端断开等网络数据分析的场景。

Arthas

Arthas是阿里巴巴开源的一款线上Java应用异常定位诊断工具,不需要重启应用可以实现动态跟踪java代码,通过Arthas我们可以在线上实时查看应用内存、CPU占用等负载情况、JVM GC以及线程状态信息等等,同时它还支持不必重启服务在线进行代码热修改,这在定位线上问题测试修改后代码的执行情况的场景下非常实用,大大提高了技术人员分析问题解决异常的效率。

Arthas启动后可以attach到指定的java进程,以下便是Arthas启动后的交互界面。

Arthas提供了丰富的命令交互,这里输入dashboard命令,可以查看当前java应用的各个线程的cpu、运行状态等信息,同时可以查看JVM中堆、年轻代、元空间以及老年代等区域的使用情况,方便我们理解java应用的内存垃圾回收情况。

作者:慕枫技术笔记

来源:稀土掘金,链接:https://juejin.cn/post/7165302993812717582

此外,有学C/C++或者转行的朋友,我也给大家分享我收集的资源,从最零基础开始的教程到C语言C++项目案例,帮助大家在学习C语言的道路上披荆斩棘!

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!(↓↓↓↓↓↓)

工具推荐:程序员必备的 7 个开发工具,让你的工作效率提升200%相关推荐

  1. Java程序员必备的几款开发工具,高效才是硬道理!

    作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面我就给大家推荐几款高效的Java开发工具. 一.Eclipse Eclipse做为一款开发源代码的Jav ...

  2. python开发工具排名-Python程序员必备的四款开发工具

    原标题:Python程序员必备的四款开发工具 每一位Python程序员都会有套工具来应对开发工作上的挑战.多年来,Python程序员使用开发工具来完成他们的工作.有很多工具对他们是有用的,不过对于初入 ...

  3. python界面开发工具免费_Python程序员必备的四款开发工具

    原标题:Python程序员必备的四款开发工具 Python自学与交流中心QQ群:260308621 大家今晚利用1个小时看python基础视频教程 23-27节 ,自己监督自己.跟着学习哈!一定要做到 ...

  4. Java程序员必备的几款开发工具

    工欲善其事,必先利其器.作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面就给大家推荐几款高效的Java开发工具. 1.UItraEdit UltraEd ...

  5. Python程序员必备的四款开发工具

    每一位Python程序员都会有套工具来应对开发工作上的挑战.多年来,Python程序员使用开发工具来完成他们的工作.有很多工具对他们是有用的,不过对于初入行的人员来说,寻找合适的开发工具是困难的,并且 ...

  6. Android程序员必备的六大顶级开发工具,快加入你的清单,看完没有不懂的

    如果你认为B4A仅适用于对Android应用开发不太了解的新手,请再想一想.你可以用B4A做几乎所有用Java做的事情,加分项是它比Java快. ###LEAKCANARY LeakCanary帮助指 ...

  7. Android程序员必备的六大顶级开发工具,快加入你的清单!

    工欲善其事必先利其器!在现代IT中,每个Android程序员都需要最好的工具来提高他们的技能和效率.在Android应用程序开发这个残酷的竞争行业中,只有优秀的程序员才能生存下去.你需要向客户展示你拥 ...

  8. 程序员必备的编程集成开发工具

    Python [ PyCharm] 是一款Python IDE,带有一套可以帮助用户在使用Python语言开发时,提高效率的工具 Java [ MyEclipse] 是基于Eclipse 对Java进 ...

  9. 程序员必备的20多种开发工具

    想看更多算法题,可以扫描上方二维码关注我微信公众号"数据结构和算法",截止到目前我已经在公众号中更新了500多道算法题,其中部分已经整理成了pdf文档,截止到目前总共有800多页( ...

最新文章

  1. python datetime.datetime 当前_python之time和datetime的常用方法
  2. 剑桥管理学老哥的研究生申请和人生道路规划观念
  3. php 开启imagick,PHP-Imagick:在Imagick项目上设置重力
  4. 表达式* ptr ++和++ * ptr是否相同?
  5. 软件测试工程师-软件测试基本介绍
  6. 三星Galaxy S21系列将搭载One UI3.1系统:首发声音解锁
  7. 新手上路学习配置C,C++,GTK等开发环境
  8. (2)Matplotlib_bar, barh
  9. KL距离(Kullback-Leibler Divergence)
  10. Indesign CS6怎么添加框线_InDesign用插件快速给文本文字添加拼音的方法
  11. java-php-python-ssm抑郁症患者博客交流平台计算机毕业设计
  12. 一款精简的webshell管理工具 -- Assassin
  13. @Embedded 和 @Embeddable
  14. 真正理解微软Windows程序运行机制——窗口机制(第一部分)
  15. Java学习记录_1:MOOC《零基础学Java语言》课后习题解
  16. MySQL性能指标TPS+QPS+IOPS压测
  17. 解决复制项目或者svn下载项目后项目名称不改变的问题:org.eclipse.wst.common.component
  18. 基于STM32的CAN转USB模块的PCB设计
  19. soap方式调用webservice接口
  20. (实战)[re:Invent 2018]-002:通过分析奖励函数优化后- 8.4s / 圈

热门文章

  1. pycharm运行sh文件的方法
  2. 仿微信消息根据长按位置显示置顶删除功能菜单栏
  3. 【运维面试】面试官:http的状态码你了解多少?
  4. 中职生计算机应用试卷,中职_计算机应用基础试卷A.doc
  5. linux版安全狗安装与使用
  6. 金融学习之三——晕头转向的alphalens
  7. matplotlib绘图3——图标辅助元素的定制
  8. OcenAudio for Mac(好用的音频编辑软件)
  9. 十四、Linux系统编程-信号(一)中断、信号、中断和信号
  10. 文字超出部分省略号显示