本文总结了一些常用的开发者工具,希望能帮助开发者提高开发效率,写出更优雅的代码。由于开发者涉及的技术领域较多,我们将从后端开发者的角度来盘点平时可能用到的工具,介绍工具名称和使用场景。一、Java在线诊断工具ArthasArthas阿里巴巴于2018年9月开源了一款Java在线诊断工具,该工具的使用场景:1、该类从哪个jar包加载?为什么会报各种异常?2、为什么我改的代码没有执行?是因为我没有答应吗?分支错了吗?3、如果遇到问题无法在线调试,是否只能通过添加日志的方式重新发布?4、某用户线上数据处理有问题,但线上无法调试,线下无法重现!5、是否有全局视角查看系统运行状态?6、有什么方法可以监控JVM的实时运行状态?Arthas支持JDK6+,支持Linux/Mac/Windows,采用命令行交互方式,提供丰富的Tab自动补码功能,进一步方便问题定位和诊断。2、IDE插件CloudToolkitCloudToolkit是一款IDE插件,可以帮助开发者更高效地开发、测试、诊断和部署应用程序。通过CloudToolkit,开发者可以轻松地将本地应用一键部署到任意一台机器(本地或云端),并内置Arthas诊断,高效执行终端命令和SQL等。IntelliJIDEA版本、Eclipse版本、PyCharm版本和Maven提供版本。工具使用场景:1、你是否在每次修改代码后都在重复打包?2.频繁切换Maven、Git等运维脚本和工具?3.用SCP工具上传?使用XShell或SecureCRT登录服务器?更换部署包?重新开始?4、上传文件到服务器指定目录,频繁切换各种FTP、SCP工具?场景实现,帮助分布式系统提高容错性和可恢复性的混沌工程工具,可以实现底层故障的注入,提供延迟、异常、返回特定值、修改参数值、重复调用、try-catchblock等异常异常场景。工具使用场景:1.微服务的容错能力不好衡量?2、集装箱排列配置是否合理,无法验证?3.没有办法开始测试PaaS层的健壮性?4、Java代码规范扫描插件该插件用于检测Java代码中是否存在不规则的位置,并给出提示。协议插件使用kotlin语言开发。5、应用实时监控工具ARMSARMS是一款类APM的监控工具,提供前端、应用、自定义监控三种监控选项,可快速构建实时应用性能和业务监控能力。工具使用场景:1.晚上10点收到37条告警信息,但是你没有办法处理?2、当我们发现问题时,客户/业务方是否已经投诉?3、每个月花几十万买服务器,却不能保证用户体验?6.静态开源建站工具DocsiteDocsite是一款集官网、文档、博客、社区于一体的静态开源建站解决方案。静态渲染,PC端和移动端,支持中英文国际化、SEO、markdown文档、全球站搜索、站点风格定制、页面定制等功能。7.Freeline,Android平台秒级编译解决方案Freeline可以充分利用缓存文件,在几秒内快速编译部署代码变更到设备,有效减少日常开发中的重新编译和安装量。耗时。使用Freeline最快的方法是直接安装AndroidStudio插件。8、性能测试工具PTSPTS可以模拟大量用户访问业务的场景。可以随时启动任务,省去建设和维护成本。支持JMeter脚本转为PTS压测,也支持原生JMeter引擎进行压测。9、云端高效开发者工具KTKT,可以简化Kubernetes下联调测试的复杂度,提高基于Kubernetes的研发效率。教程:10.架构可视化工具AHASAHAS提供了K8s等容器环境的架构可视化功能。同时具备故障注入高可用评估、一键流控降级等功能,可以快速、低成本地提升应用可用性。工具使用场景:1.服务改造过程中,是否想准确理解资源实例的组成和交互,实现架构的可视化?2、想介绍真实的故障场景和演练模型?3、低门槛获取流量控制,降级功能?11、数据处理工具EasyExcelEasyExcel是一个Java解析生成Excel的框架。重写了poi对excel07版的分析,本来一个3M的Excel,POIsax需要100M左右的内存。EasyExcel可以缩小到KB级别,再大的excel也不会出现内存溢出。版本03依赖于POI的萨克斯模式。模型转换包做在上层,方便用户使用。十二、iOS工具HandyJSONHandyJSON是一个Swift语言的JSON序列化/反序列化库。与其他流行的SwiftJSON库相比,HandyJSON支持纯Swift类并且易于使用。它在反序列化(JSON转Model)的时候,不需要Model继承NSObject(因为它不是基于KVC机制),也不需要你为Model定义一个Mapping函数。只要你定义了Model类,并声明它遵守HandyJSON协议,HandyJSON就可以使用每个属性的属性名作为Key,从JSON字符串中解析出值。13.云资源和应用部署工具EDASServerlessEDASServerless是一个基于Kubernetes的应用和微服务的无服务器平台。用户无需管理和维护集群和服务器,可以通过镜像、WAR包、JAR包快速创建原生支持Kubernetes的容器应用,支持SpringCloud、Dubbo等主流微服务框架。14、数据库连接池DruidDruid是Java语言中的一个数据库连接池,可以提供强大的监控和扩展功能。15.Java工具集DragonwellAlibabaDragonwell是阿里巴巴内部OpenJDK定制版AJDK的开源版本。AJDK针对在线电商、金融、物流结合业务场景进行了优化,运行在阿里巴巴10万+服务器中心的大规模数据上。AlibabaDragonwell兼容JavaSE标准,目前只支持Linux/x86_64平台。
