在java開發(fā)中有哪些提升效率的工具?
一、Java 線上診斷工具 Arthas
Arthas 阿里巴巴2018年9月開源的一款Java線上診斷工具。

工具的使用場(chǎng)景:
·這個(gè)類從哪個(gè) jar 包加載的?
·為什么會(huì)報(bào)各種類相關(guān)的 Exception?
·我改的代碼為什么沒有執(zhí)行到?難道是我沒 commit?分支搞錯(cuò)了?
·遇到問題無法在線上 debug,難道只能通過加日志再重新發(fā)布嗎?
·線上遇到某個(gè)用戶的數(shù)據(jù)處理有問題,但線上同樣無法 debug,線下無法重現(xiàn)!
·是否有一個(gè)全局視角來查看系統(tǒng)的運(yùn)行狀況?
·有什么辦法可以監(jiān)控到JVM的實(shí)時(shí)運(yùn)行狀態(tài)?
Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同時(shí)提供豐富的 Tab 自動(dòng)補(bǔ)全功能,進(jìn)一步方便進(jìn)行問題的定位和診斷。

二、IDE 插件 Cloud Toolkit
Cloud Toolkit是一款 IDE 插件,可以幫助開發(fā)者更高效地開發(fā)、測(cè)試、診斷并部署應(yīng)用。通過 Cloud Toolkit,開發(fā)者能夠方便地將本地應(yīng)用一鍵部署到任意機(jī)器(本地或云端),并內(nèi)置 Arthas 診斷、高效執(zhí)行終端命令和 SQL 等,提供 IntelliJ IDEA 版,Eclipse 版,PyCharm 版和 Maven 版。
?
工具的使用場(chǎng)景:
·每次修改完代碼后,是否正在經(jīng)歷反復(fù)地打包?
·在 Maven 、Git 以及其他運(yùn)維腳本和工具的之間頻繁切換?
·采用 SCP 工具上傳?使用XShell或SecureCRT登陸服務(wù)器?替換部署包?重啟?
·文件上傳到服務(wù)器指定目錄,在各種 FTP、SCP 工具之間頻繁切換 ?
三、混沌實(shí)驗(yàn)注入工具 ChaosBlade
ChaosBlade 是一款遵循混沌工程實(shí)驗(yàn)原理,提供豐富故障場(chǎng)景實(shí)現(xiàn),幫助分布式系統(tǒng)提升容錯(cuò)性和可恢復(fù)性的混沌工程工具,可實(shí)現(xiàn)底層故障的注入,提供了延遲、異常、返回特定值、修改參數(shù)值、重復(fù)調(diào)用和try-catch 塊異常等異常場(chǎng)景。
?
工具的使用場(chǎng)景:
·微服務(wù)的容錯(cuò)能力不易衡量?
·容器編排配置是否合理無法驗(yàn)證?
·PaaS 層健壯性的測(cè)試工作無從入手?

四、Java 代碼規(guī)約掃描插件
該插件用于檢測(cè) Java 代碼中存在的不規(guī)范的位置,并給予提示。規(guī)約插件是采用 Kotlin 語言開發(fā)。
?
五、應(yīng)用實(shí)時(shí)監(jiān)控工具 ARMS
ARMS是一款 APM 類的監(jiān)控工具,提供前端、應(yīng)用、自定義監(jiān)控 3 類監(jiān)控選項(xiàng),可快速構(gòu)建實(shí)時(shí)的應(yīng)用性能和業(yè)務(wù)監(jiān)控能力。
?
工具的使用場(chǎng)景:
·晚上10點(diǎn)收到37條報(bào)警信息,你卻無從下手?
·當(dāng)我們發(fā)現(xiàn)問題的時(shí)候,客戶/業(yè)務(wù)方已經(jīng)發(fā)起投訴?
·每個(gè)月花幾十萬買服務(wù)器,卻無法保障用戶體驗(yàn)?

六、靜態(tài)開源站點(diǎn)搭建工具 Docsite
?
Docsite一款集官網(wǎng)、文檔、博客和社區(qū)為一體的靜態(tài)開源站點(diǎn)的解決方案,具有簡(jiǎn)單易上手、上手不撒手的特質(zhì),同時(shí)支持 react 和靜態(tài)渲染、PC端和移動(dòng)端、支持中英文國際化、SEO、markdown文檔、全局站點(diǎn)搜索。