引言
工欲善其事必先利其器,说的便是工匠要想愈加高效的做事情,就得先将东西变得锋利。那么关于程序员来说相同也是如此,假如要想每天早点下班,就必须借助于一些开发东西来进步自己的作业功率,今天慕枫就给大家总结一些作业中常用到的东西。
Everything
不知道大家在日常作业中会不会遇到这样的状况,每次找文件的时分总是为想不起来放在哪个目录而抓狂,可是还好记得文件姓名,而window自带的文件查找简直慢的离谱,别的还常常出现查找一个文件等了半天却没有这个文件的状况,简直想吐血。假如有一款东西能够查找本地一切的文件就好了,于是Everything应运而生。
Everything是一款Windows体系的文件查找东西,经过它能够快速查找电脑中的文件以及文件方位,真正完成全盘查找,并且它的体积也十分小,仅需要大约 14 MB 的内存以及不到 9 MB 的硬盘空间,查找文件的功率大概在秒级,比windows自带的文件查找功率高出很多倍。能够说有了Everything就能够告别到处找文件的尴尬地步,完成文件快速定位,大幅度节省文件查找时刻。
Mavenhelper
平时咱们在进行项目开发的时分,总是不可避免的引进第三方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溃散文件,剖析反常堆积对象快速找到内存走漏的类及其对应的方法,便利技术人员定位剖析内存走漏问题。
Java Stream Debugger
在开发需求的时分,咱们常常运用stream()流来简化循环代码,结合lambda表达式能够让变得愈加简练。可是有个问题一直困扰着技术人员便是stream()流内部欠好进行debug,无法检查其中的值循环操作状况,而Java Streanm Debugger能够协助咱们解析stream()流内部数据赋值状况,便利程序员检查各个值的执行流程以及数据最终成果。
Wireshark
Wireshark是一款网卡抓包剖析东西,经过它能够抓取指定网卡的一切网路数据包。首要能够使用在剖析网络数据正确性、网络底层通讯机制以及到底是客户端主动断开衔接仍是服务端断开等网络数据剖析的场景。
Arthas
Arthas是阿里巴巴开源的一款线上Java使用反常定位确诊东西,不需要重启使用能够完成动态跟踪java代码,经过Arthas咱们能够在线上实时检查使用内存、CPU占用等负载状况、JVM GC以及线程状况信息等等,一起它还支撑不必重启服务在线进行代码热修正,这在定位线上问题测验修正后代码的执行状况的场景下十分有用,大大进步了技术人员剖析问题处理反常的功率。
Arthas发动后能够attach到指定的java进程,以下便是Arthas发动后的交互界面。
Arthas提供了丰厚的指令交互,这儿输入dashboard指令,能够检查当时java使用的各个线程的cpu、运行状况等信息,一起能够检查JVM中堆、年轻代、元空间以及老时代等区域的运用状况,便利咱们了解java使用的内存废物回收状况。