我常用的15 款开发工具!

article/2025/9/16 18:09:09

上一篇:从零开始搭建公司后台技术栈,这套架构绝了...

作者:爱马仕_人员
链接:https://www.jianshu.com/p/4d1a4606ef61

从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。

阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。

由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍:

1、工具名称和简介 2、使用场景 3、使用教程 4、获取方式

一、Java 线上诊断工具 Arthas

Arthas 阿里巴巴2018年9月开源的一款Java线上诊断工具。

工具的使用场景:

1、这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?

2、我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?

3、遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

4、线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!

5、是否有一个全局视角来查看系统的运行状况?

6、有什么办法可以监控到JVM的实时运行状态?

Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

使用教程: 基础教程:

https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-basics

进阶教程:

https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-advanced

获取方式: (免费)开源地址:

https://github.com/alibaba/arthas

二、IDE 插件 Cloud Toolkit

Cloud Toolkit 是一款 IDE 插件,可以帮助开发者更高效地开发、测试、诊断并部署应用。通过 Cloud Toolkit,开发者能够方便地将本地应用一键部署到任意机器(本地或云端),并内置 Arthas 诊断、高效执行终端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。另外关注公号“互联网架构师”,回复关键词“2T”,送你一份阿里内部面试资料!

工具的使用场景:

1、每次修改完代码后,是否正在经历反复地打包?

2、在 Maven 、Git 以及其他运维脚本和工具的之间频繁切换?

3、采用 SCP 工具上传?使用XShell或SecureCRT登录服务器?替换部署包?重启?

4、文件上传到服务器指定目录,在各种 FTP、SCP 工具之间频繁切换 ?

使用教程:

IntelliJ IDEA版:

https://help.aliyun.com/document_detail/98762.html

Eclipse 版:

https://help.aliyun.com/document_detail/29970.html

PyCharm 版:

https://help.aliyun.com/document_detail/112740.html

Maven 版:

https://help.aliyun.com/document_detail/108682.html

获取方式: (免费)工具地址:

https://www.aliyun.com/product/cloudtoolkit

三、混沌实验注入工具 ChaosBlade

ChaosBlade 是一款遵循混沌工程实验原理,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具,可实现底层故障的注入,提供了延迟、异常、返回特定值、修改参数值、重复调用和try-catch 块异常等异常场景。

工具的使用场景:

1、微服务的容错能力不易衡量?

2、容器编排配置是否合理无法验证?

3、PaaS 层健壮性的测试工作无从入手?

使用教程:

https://github.com/chaosblade-io/chaosblade/wiki/新手指南

获取方式: (免费)开源地址:

https://github.com/chaosblade-io/chaosblade/wiki/新手指南

四、Java 代码规约扫描插件

该插件用于检测 Java 代码中存在的不规范的位置,并给予提示。规约插件是采用 Kotlin 语言开发。

使用教程:

IDEA插件使用文档:

https://github.com/alibaba/p3c/wiki/IDEA插件使用文档

Eclipse插件使用文档:

https://github.com/alibaba/p3c/wiki/Eclipse插件使用文档

获取方式: (免费)开源地址:

https://github.com/alibaba/p3c

五、应用实时监控工具 ARMS

ARMS 是一款 APM 类的监控工具,提供前端、应用、自定义监控 3 类监控选项,可快速构建实时的应用性能和业务监控能力。工具的使用场景:

1、晚上10点收到37条报警信息,你却无从下手?

2、当我们发现问题的时候,客户/业务方已经发起投诉?

3、每个月花几十万买服务器,却无法保障用户体验?

使用教程:

前端监控接入:

https://help.aliyun.com/documentdetail/106086.html

应用监控接入:

https://help.aliyun.com/documentdetail/63796.html

自定义监控:

https://help.aliyun.com/document_detail/47474.html

获取方式: (收费)工具地址:

https://www.aliyun.com/product/arms

六、静态开源站点搭建工具 Docsite

Docsite 一款集官网、文档、博客和社区为一体的静态开源站点的解决方案,具有简单易上手、上手不撒手的特质,同时支持 react 和静态渲染、PC端和移动端、支持中英文国际化、SEO、markdown文档、全局站点搜索、站点风格自定义、页面自定义等功能。

使用教程:

https://docsite.js.org/zh-cn/docs/installation.html

获取方式: (免费)项目地址:

https://github.com/txd-team/docsite

七、Android 平台上的秒级编译方案 Freeline

Freeline 可以充分利用缓存文件,在几秒钟内迅速地对代码的改动进行编译并部署到设备上,有效地减少了日常开发中的大量重新编译与安装的耗时。Freeline 最快捷的使用方法就是直接安装 Android Studio 插件。

使用教程:

https://github.com/alibaba/freeline/blob/master/README-zh.md

获取方式: (免费)项目地址:

https://github.com/alibaba/freeline

八、性能测试工具 PTS

PTS 可以模拟大量用户访问业务的场景,任务随时发起,免去搭建和维护成本,支持 JMeter 脚本转化为 PTS 压测,同样支持原生 JMeter 引擎进行压测。

使用教程:

https://help.aliyun.com/document_detail/70290.html

获取方式: (收费)工具地址:

https://www.aliyun.com/product/pts

九、云效开发者工具KT

KT 可以简化在 Kubernetes 下进行联调测试的复杂度,提高基于Kubernetes的研发效率。

使用教程:

https://yq.aliyun.com/articles/690519

获取方式: (免费)工具地址:

https://yq.aliyun.com/download/3393

十、架构可视化工具 AHAS

AHAS 为 K8s 等容器环境提供了架构可视化的功能,同时,具有故障注入式高可用能力评测和一键流控降级等功能,可以快速低成本的提升应用可用性。

工具的使用场景:

1、服务化改造过程中,想精确的了解资源实例的构成和交互情况,实现架构的可视化?

2、想引入真实的故障场景和演练模型?

3、低门槛获得流控、降级功能?

使用教程:

https://help.aliyun.com/document_detail/90323.html

获取方式: (免费)工具地址:

https://www.aliyun.com/product/ahas

十一、数据处理工具 EasyExcel

EasyExcel 是一个用来对 Java 进行解析、生成Excel 的框架,它重写了 poi 对07版 Excel 的解析,原本一个3M的 Excel 用POI sax需要100M左右内存,EasyExcel可降低到 KB 级别,并且再大的excel也不会出现内存溢出的情况。03版依赖 POI 的 sax 模式。在上层做了模型转换的封装,让使用者更加简单方便。

使用教程:

https://github.com/alibaba/easyexcel/blob/master/quickstart.md

获取方式: (开源)

https://github.com/alibaba/easyexcel

十二、iOS 类工具 HandyJSON

HandyJSON 是一个用于 Swift 语言中的JSON序列化/反序列化库。

与其他流行的Swift JSON库相比,HandyJSON 的特点是,它支持纯 Swift 类,使用也简单。它反序列化时(把 JSON 转换为Model)不要求 Model从 NSObject 继承(因为它不是基于 KVC 机制),也不要求你为 Model 定义一个 Mapping 函数。只要你定义好 Model 类,声明它服从 HandyJSON 协议,HandyJSON 就能自行以各个属性的属性名为Key,从JSON串中解析值。

使用教程:

https://github.com/alibaba/HandyJSON/blob/master/README_cn.md

获取方式: (开源)

https://github.com/alibaba/HandyJSON

十三、云上资源和应用部署工具 EDAS Serverless

EDAS Serverless 一款基于 Kubernetes,面向应用和微服务的 Serverless 平台。用户无需管理和维护集群与服务器,即可通过镜像、WAR 包和JAR 包,快速创建原生支持 Kubernetes 的容器应用,同时支持 Spring Cloud 和 Dubbo 等主流微服务框架。

使用教程:

https://help.aliyun.com/document_detail/102048.html

获取方式: (公测期间免费)

https://help.aliyun.com/document_detail/97792.html

十四、数据库连接池 Druid

Druid 是 Java 语言下的数据库连接池,它能够提供强大的监控和扩展功能。

**使用教程:**https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

获取方式: (开源)

http://central.maven.org/maven2/com/alibaba/druid/

十五、Java 工具集 Dragonwell

Alibaba Dragonwell 是阿里巴巴内部OpenJDK定制版AJDK的开源版本, AJDK为在线电商,金融,物流做了结合业务场景的优化,运行在超大规模的,100,000+ 服务器的阿里巴巴数据中心。Alibaba Dragonwell与Java SE标准兼容,目前仅支持 Linux/x86_64平台。

使用教程:https://github.com/alibaba/dragonwell8/wiki/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4Dragonwell8%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97

获取方式: (开源)

https://github.com/alibaba/dragonwell8

感谢您的阅读,也欢迎您发表关于这篇文章的任何建议,关注我,技术不迷茫!小编到你上高速。

    · END ·

最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。

正文结束

推荐阅读 ↓↓↓

1.不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

2.如何才能成为优秀的架构师?

3.从零开始搭建创业公司后台技术栈

4.程序员一般可以从什么平台接私活?

5.37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6.IntelliJ IDEA 2019.3 首个最新访问版本发布,新特性抢先看

7.这封“领导痛批95后下属”的邮件,句句扎心!

8.15张图看懂瞎忙和高效的区别!

0bfa619d9e351e04cf918a277eb66b76.gif989b4d99498a936f3548983c35b72027.png


http://chatgpt.dhexx.cn/article/KdDJlf76.shtml

相关文章

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

135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务。 端口说明:135端口主要用于使用RPC(Remote Procedure Call,远程过程调用&…

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

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

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

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

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

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

139端口的攻与防

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

R语言热门应用领域

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

R语言 | 关联规则

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

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

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

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

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

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

#自己一些问题:里面有sparcc? #学习网站 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)

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

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

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

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

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

复杂网络笔记-R语言

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

R语言神经网络

R语言中已经有许多用于神经网络的package。例如nnet、AMORE以及neuralnet,nnet提供了最常见的前馈反向传播神经网络算法。 AMORE包则更进一步提供了更为丰富的控制参数,并可以增加多个隐藏层。 neuralnet包的改进在于提供了弹性反向传播算法和更多的激…

如何用 R 绘制交互式社会网络图?

挖掘社会关系网络,助你洞若观火。 需求 最近有个学生问我,如何绘制交互式社会网络图(Interactive Social Network Graph)? 之所以一定要交互式,是因为他的应用场景,是演示给客户。 他解释说&…

R语言如何绘制相互作用网络图(27)

1.什么是相互作用网络图? 生物网络是复杂网络,也是以系统科学的思想研究生命科学的桥梁。网络中的节点可以是蛋白质,基因,RNA或DNA等,网络的边对应节点之间的物理、生化或功能上的相互作用。生物分子之间的相互作用并…

R语言网络分析2:graph函数和应用

产生网络 自定义 BioC 中用得最多的网络类型可能是 graphNEL 类。使用 graphNEL 类的同名函数可以产生自定义网络&#xff1a; library(graph)str(graphNEL) #> function (nodes character(), edgeL list(), edgemode "undirected") nds <- letters[1:3]…

在R语言中轻松创建关联网络

数据 ## Ozone Solar.R Wind Temp Month Day ## 1 41 190 7.4 67 5 1 ## 2 36 118 8.0 72 5 2 ## 3 12 149 12.6 74 5 3 ## 4 18 313 11.5 62 5 4 ## 5 NA NA 14.3 56 5 5 ## 6 28 …