【开发工具系列】猿创征文|有了这8个开发工具,程序员可以早点下班了

article/2025/9/17 8:09:24

📣📣📣📣📣📣📣

🎍大家好,我是慕枫
🎍前阿里巴巴高级工程师,InfoQ签约作者、阿里云专家博主,一直致力于用大白话讲解技术知识
🎍在这里和大家分享一线互联网大厂面试经验、技术人成长路线以及Java技术、分布式、高并发、架构设计方面的经验总结
🎍感恩遇见,希望我们都能成为更好的自己
📣📣📣📣📣📣📣
 

目录

引言

Everything

 Maven Helper

 ProcessOn

 Apipost

 MAT

Java Stream Debuger

Wireshark

Arthas 


引言

工欲善其事必先利其器,说的就是工匠要想更加高效的做事情,就得先将工具变得锋利。那么对于程序员来说同样也是如此,如果要想每天早点下班,就必须借助于一些开发工具来提高自己的工作效率,今天慕枫就给大家总结一些工作中常用到的工具。

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文件中会自动添加<exclusion>,如此我们可以快速地去除工程中的冲突的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 Debuger

在开发需求的时候,我们经常使用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应用的内存垃圾回收情况。


http://chatgpt.dhexx.cn/article/8yJEdJii.shtml

相关文章

开发工具使用

一、markdown 1、MarkDown语法 Markdown 语法手册 &#xff08;完整整理版&#xff09;【Markdown语法】字体颜色大小及文字底色设置 二、IDEA工具 1.1 IDEA相关插件 idea插件下载地址&#xff1a;https://plugins.jetbrains.com/ 开发必装插件&#xff1a; &#xff08;1…

程序员常用开发工具盘点

优秀的程序员优秀的原因不一定是他敲代码比别人快&#xff0c;但他解决事情的效率一定比别人都要高&#xff0c;往往都会利用工具提升自己的效率&#xff0c;下面给大家分享几个程序员常用的开发工具。 1.浏览器插件FeHelper FeHelper插件支持Chrome、Firefox、MS-Edge浏览器…

15个程序员实用的开发工具,你有用过几个呢?

分享一些日常工作中比较实用的软件和网站&#xff0c;这些网站你平时工作中大概率是会用到的&#xff0c;感觉不错的话可以点赞收藏 1. GitHub Desktop 对于新手来说&#xff0c;要记住那么多git命令可能有点困难&#xff0c;建议新手使用git可视化工具&#xff0c;会方便很多…

13个程序员常用开发工具用途推荐整理

作为一名刚入门的程序员&#xff0c;选择合适的开发工具可以提高工作效率&#xff0c;加快学习进度。在本文中&#xff0c;我将向您推荐10个常用的开发工具&#xff0c;并通过简单的例子和代码来介绍它们的主要用途。 1. Visual Studio Code Visual Studio Code&#xff08;V…

我常用的15 款开发工具!

上一篇&#xff1a;从零开始搭建公司后台技术栈&#xff0c;这套架构绝了... 作者&#xff1a;爱马仕_人员链接&#xff1a;https://www.jianshu.com/p/4d1a4606ef61 从人工到自动化&#xff0c;从重复到创新&#xff0c;技术演进的历程中&#xff0c;伴随着开发者工具类产品的…

在 Windows 下关闭135/139/445端口的图文方法

135端口主要用于使用RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;协议并提供DCOM&#xff08;分布式组件对象模型&#xff09;服务。 端口说明&#xff1a;135端口主要用于使用RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&…

如何关闭135、137、138、139、445端口

昨天好像有比特币勒索病毒爆发。。。将135、137、138、139、445这些不常用的端口禁用能够预防病毒。。。貌似大多数高校的网络中心会在校园网及数据中心禁止外网访问这几个端口&#xff0c;运营商也将445端口暂时禁用。 我还是写一下这篇教大家如何关闭135、137等等共享端口的…

如何关闭135端口、139端口、445端口

都知道135端口,139端口以及445端口.这三个端口容易被黑客或者病毒利用.所以我们今天就来教下大家如何关闭它. 太难的方法就不教给大家了.什么实用策略组之类的.新手感觉很麻烦.所以下面给大家来简单的教程 方法一:直接用软件关闭它. 工具下载 点击Close,Disable 就可以了 方…

WIN10系统如何关闭139 135 445端口

扫描自己的主机&#xff0c;发现自己的某些端口开启着的 139端口 这个端口比较危险 139端口是NetBIOS Session端口&#xff0c;用来文件和打印共享 如果你是单机&#xff0c;不是企业内部网里的成员&#xff0c;为了保护计算机的安全关闭这个端口比较好。 135 137 139 445 3389…

139端口的攻与防

通过139端口入侵是网络攻击中常见的一种攻击手段&#xff0c;一般情况下139端口开启是由于NetBIOS网络协议的使用。NetBIOS即网络基本输入输出系统&#xff0c;系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址&#xff0c;从而实现信息通讯。在局…

R语言热门应用领域

R的概述&#xff1a; R语言是用于统计分析&#xff0c;图形表示和报告的编程语言和软件环境。 R语言的核心是解释计算机语言&#xff0c;其允许分支和循环以及使用函数的模块化编程。 R语言允许与以C&#xff0c;C &#xff0c;.Net&#xff0c;Python或FORTRAN语言编写的过程…

R语言 | 关联规则

1.概念 1.1 引论 关联规则(AssociationRules)是无监督的机器学习方法,用于知识发现,而非预测。 关联规则的学习器(learner)无需事先对训练数据进行打标签,因为无监督学习没有训练这个步骤。缺点是很难对关联规则学习器进行模型评估,一般都可以通过肉眼观测结果是否合…

R语言ggraph包绘制环状网络图

ggraph 是 ggplot2 的扩展&#xff0c;用于绘制关系型数据结构&#xff0c;如网络、图和树等。 ggraph 包含 3 个核心概念&#xff1a; layout&#xff1a;定义图的布局&#xff0c;如蜂巢图、圆堆积图等 nodes&#xff1a;定义节点图形属性&#xff0c;使用 geom_node_*() 函数…

R语言︱SNA-社会关系网络—igraph包(社群划分、画图)(三)

每每以为攀得众山小&#xff0c;可、每每又切实来到起点&#xff0c;大牛们&#xff0c;缓缓脚步来俺笔记葩分享一下吧&#xff0c;please~ ——————————————————————————— 社群划分跟聚类差不多&#xff0c;参照《R语言与网站分析》第九章&#xff…

R语言 NetCoMi包 Co-occurrence网络图 微生物16S 网络比较 核心物种

#自己一些问题&#xff1a;里面有sparcc&#xff1f; #学习网站 https://github.com/stefpeschel/NetCoMi #Github本地安装 在上面网站找到下载 #devtools::install_local("C:/Users/xxx/Documents/NetCoMi-1.0.2.tar.gz") #加载包 安装在了R-3.6版本 librar…

windows 下载 R 和 R studio,以及R语言基本使用

目录 一. 安装与入门介绍 1. windows 下载 R 和 R studio 2. 常见问题的对应包查询 3. 解决RStudio 打开文件中文乱码 4. 相关包 5. 获取帮助、工作目录、保存 R 文件 二. R常用数据类型和数据结构 1. 数值型、字符型、逻辑型 2. 判断和转换 3. 特殊值及其判断 4. 数…

【R语言实例】igraph — 网络分析与可视化包(1)

作者简介&#xff1a; 本文作者系大学统计学专业教师&#xff0c;多年从事统计学的教学科研工作&#xff0c;在随机过程、统计推断、机器学习领域有深厚的理论积累与应用实践。 igraph是一套用于网络分析与可视化的r包&#xff0c;它以高效、便捷、使用简单的特点在网络分析研究…

社交网络分析的 R 基础:(一)初探 R 语言

写在前面 3 年的硕士生涯一转眼就过去了&#xff0c;和社交网络也打了很长时间交道。最近突然想给自己挖个坑&#xff0c;想给这 3 年写个总结&#xff0c;画上一个句号。回想当时学习 R 语言时也是非常戏剧性的&#xff0c;开始科研生活时到处发邮件要源代码&#xff0c;发完最…

使用R包networkD3绘制炫酷的动态关系网络

引言 在数据可视化领域&#xff0c;关系网络数据的可视化一直是一个受到广泛关注的话题。 我们经常会看到这样的复杂网络关系图。 也会经常看到一些影视作品的人物关系图&#xff0c;例如&#xff1a; 我们可以从图中清晰地了解到不同人物之间的关系&#xff0c;但是这样静态…

复杂网络笔记-R语言

最近学习了下复杂网络相关的东西&#xff0c;总结了部分基础的理论&#xff0c;与使用R语言igraph包&#xff0c;总结如下&#xff0c;还需要继续深入&#xff0c;目前只学了皮毛。 复杂网络的复杂性 1、结构复杂性 网络连接结构看上去错综复杂&#xff0c;网络连接结构可能…