java中Arthas的作用和使用方式
1. Arthas簡(jiǎn)介
Arthas的起源和背景
Arthas 是由阿里巴巴開(kāi)源的Java診斷工具,主要設(shè)計(jì)目的是為了幫助開(kāi)發(fā)者在生產(chǎn)環(huán)境中不重啟應(yīng)用的情況下,快速定位問(wèn)題并解決各種Java應(yīng)用的問(wèn)題。Arthas的名字來(lái)源于《魔獸世界》中的角色,象征著它在Java應(yīng)用診斷領(lǐng)域的強(qiáng)大和權(quán)威。這個(gè)工具特別適用于處理復(fù)雜的生產(chǎn)環(huán)境問(wèn)題,如性能瓶頸、內(nèi)存泄漏、異常分析等。
Arthas的主要功能和特點(diǎn)
功能概覽:
- 實(shí)時(shí)監(jiān)控: Arthas可以實(shí)時(shí)監(jiān)控JVM的各種運(yùn)行指標(biāo),包括但不限于CPU利用率、內(nèi)存使用、線程狀態(tài)等。
- 類信息查看: 可以查看加載在JVM中的類的信息,包括類的加載器、類的元數(shù)據(jù)、加載的位置等。
- 動(dòng)態(tài)追蹤: Arthas允許用戶動(dòng)態(tài)地追蹤方法調(diào)用和方法執(zhí)行時(shí)間,這對(duì)于診斷性能問(wèn)題非常有幫助。
- 條件表達(dá)式斷點(diǎn): 用戶可以設(shè)置條件表達(dá)式,當(dāng)條件滿足時(shí),Arthas會(huì)暫停應(yīng)用執(zhí)行,這類似于調(diào)試器的斷點(diǎn)功能。
- JVM和系統(tǒng)診斷: 提供命令來(lái)查看和診斷JVM及系統(tǒng)級(jí)的詳細(xì)信息,如系統(tǒng)屬性、環(huán)境變量、線程堆棧等。
- 命令擴(kuò)展和腳本執(zhí)行: 支持用戶編寫(xiě)自定義命令或腳本,以適應(yīng)特定的監(jiān)控或診斷需求。
特點(diǎn)總結(jié):
- 非侵入式設(shè)計(jì): 不需要修改應(yīng)用的代碼,就可以進(jìn)行監(jiān)控和診斷。
- 安全性: Arthas的設(shè)計(jì)充分考慮了安全性,確保工具在生產(chǎn)環(huán)境中的安全使用。
- 易用性: 提供了豐富的命令和一個(gè)友好的命令行界面,即使是初學(xué)者也可以快速上手。
- 高擴(kuò)展性: 開(kāi)源的特性使得Arthas具有很高的可自定義性和擴(kuò)展性,社區(qū)活躍,持續(xù)迭代更新。
2. Arthas的安裝和啟動(dòng)
安裝前的環(huán)境要求
在安裝Arthas之前,需要確保您的系統(tǒng)滿足以下環(huán)境要求:
- 操作系統(tǒng):支持Linux/Mac OS/Windows等主流操作系統(tǒng)。
- Java版本:支持Java 6及以上版本。推薦使用Java 8或更高版本,以便獲得最佳性能和兼容性。
- 權(quán)限:確保有足夠的權(quán)限訪問(wèn)運(yùn)行中的Java進(jìn)程。
下載和安裝Arthas
Arthas可以通過(guò)多種方式安裝,以下是其中的一些常見(jiàn)方法:
1.通過(guò)官方腳本安裝:
使用Arthas提供的安裝腳本是最快捷的安裝方式。
在命令行中輸入以下命令即可安裝:
curl -L https://arthas.aliyun.com/install.sh | sh
這個(gè)命令會(huì)自動(dòng)下載最新版本的Arthas并解壓到當(dāng)前用戶的home目錄下的arthas
文件夾。
2.手動(dòng)下載安裝包:
你也可以從GitHub releases頁(yè)面下載最新的Arthas壓縮包,然后手動(dòng)解壓到指定目錄。
解壓后,進(jìn)入Arthas目錄,可以看到as.sh
(Linux/Mac)或as.bat
(Windows)腳本文件,用于啟動(dòng)Arthas。
啟動(dòng)Arthas
啟動(dòng)Arthas的步驟如下:
1.打開(kāi)命令行工具:
根據(jù)您的操作系統(tǒng)打開(kāi)命令行工具。
2.定位到Arthas目錄:
使用cd
命令進(jìn)入包含as.sh
或as.bat
的Arthas目錄。
3.執(zhí)行啟動(dòng)腳本:
在Linux或Mac系統(tǒng)中,運(yùn)行以下命令:
./as.sh
在Windows系統(tǒng)中,運(yùn)行以下命令:
as.bat
4.選擇Java進(jìn)程:
啟動(dòng)腳本后,Arthas會(huì)列出當(dāng)前運(yùn)行的Java進(jìn)程。根據(jù)提示輸入要診斷的Java進(jìn)程ID。
5.進(jìn)入Arthas命令行界面:
選擇進(jìn)程后,Arthas會(huì)啟動(dòng)并進(jìn)入其命令行界面,你可以開(kāi)始使用各種命令來(lái)診斷和監(jiān)控Java應(yīng)用。
3. 常用功能介紹
Arthas 提供了一系列強(qiáng)大的功能,幫助開(kāi)發(fā)者診斷和解決運(yùn)行中Java應(yīng)用的問(wèn)題。
以下是一些常用功能的詳細(xì)介紹:
實(shí)時(shí)監(jiān)控JVM狀態(tài)
Arthas 允許用戶實(shí)時(shí)監(jiān)控JVM的關(guān)鍵性能指標(biāo),這對(duì)于維持應(yīng)用的健康運(yùn)行至關(guān)重要。
通過(guò)使用 dashboard
命令,開(kāi)發(fā)者可以實(shí)時(shí)查看JVM的CPU使用率、內(nèi)存使用、GC情況以及線程狀態(tài)等。
這個(gè)命令提供了一個(gè)動(dòng)態(tài)刷新的儀表板,展示了當(dāng)前JVM的整體健康狀況。
使用示例:
$ dashboard
動(dòng)態(tài)追蹤Java方法執(zhí)行
Arthas 的 trace
命令允許開(kāi)發(fā)者跟蹤到方法級(jí)別的調(diào)用過(guò)程,并顯示每個(gè)方法調(diào)用的耗時(shí)和調(diào)用路徑。這對(duì)于定位性能瓶頸和復(fù)雜的錯(cuò)誤調(diào)用流非常有用。
使用示例:
$ trace com.example.YourClass yourMethod
此命令將追蹤 YourClass
中 yourMethod
方法的執(zhí)行情況,包括它調(diào)用的所有子方法。
查看JVM和系統(tǒng)的實(shí)時(shí)信息
Arthas 的 thread
和 jvm
命令可以用來(lái)查看系統(tǒng)和JVM的詳細(xì)信息。
thread
命令提供了當(dāng)前JVM中所有線程的快照,幫助開(kāi)發(fā)者分析線程的狀態(tài)和問(wèn)題。- 而
jvm
命令則展示了更全面的JVM相關(guān)信息,如內(nèi)存信息、GC信息以及JVM配置參數(shù)等。
使用示例:
- 查看線程信息:
$ thread
- 查看JVM信息:
$ jvm
通過(guò)這些功能,Arthas 幫助開(kāi)發(fā)者在不停止應(yīng)用的情況下,實(shí)時(shí)監(jiān)控和診斷Java應(yīng)用的狀態(tài),從而快速響應(yīng)和解決生產(chǎn)環(huán)境中的問(wèn)題。
4. 使用案例
Arthas 是一款強(qiáng)大的Java診斷工具,能夠幫助開(kāi)發(fā)者在多種場(chǎng)景下診斷和解決問(wèn)題。以下是一些具體的使用案例,展示如何利用Arthas來(lái)解決常見(jiàn)的Java應(yīng)用問(wèn)題。
使用Arthas診斷應(yīng)用啟動(dòng)慢的問(wèn)題
問(wèn)題場(chǎng)景:應(yīng)用啟動(dòng)異常緩慢,需要診斷啟動(dòng)過(guò)程中的瓶頸。
解決步驟:
1.啟動(dòng)Arthas:連接到應(yīng)用的進(jìn)程。
2.使用trace
命令追蹤關(guān)鍵方法:可以使用trace
命令追蹤應(yīng)用啟動(dòng)過(guò)程中涉及的關(guān)鍵方法,例如Spring框架的初始化方法。
命令如下:
trace org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
這將顯示方法執(zhí)行的時(shí)間和調(diào)用路徑,幫助識(shí)別耗時(shí)的方法。
3.分析輸出結(jié)果:識(shí)別出調(diào)用時(shí)間過(guò)長(zhǎng)的方法,并進(jìn)一步分析具體原因,如配置問(wèn)題、資源競(jìng)爭(zhēng)等。
使用Arthas解決內(nèi)存泄漏問(wèn)題
問(wèn)題場(chǎng)景:應(yīng)用運(yùn)行一段時(shí)間后出現(xiàn)內(nèi)存泄漏。
解決步驟:
啟動(dòng)Arthas并連接到目標(biāo)進(jìn)程。
使用heapdump
命令導(dǎo)出堆內(nèi)存:命令如下:
heapdump
這將生成一個(gè)堆內(nèi)存的快照,可以使用內(nèi)存分析工具(如MAT)進(jìn)一步分析。
分析堆內(nèi)存文件:使用內(nèi)存分析工具查找大對(duì)象、長(zhǎng)時(shí)間存活的對(duì)象及其引用鏈,從而定位內(nèi)存泄漏源頭。
使用Arthas優(yōu)化性能瓶頸
問(wèn)題場(chǎng)景:應(yīng)用運(yùn)行期間,某些操作響應(yīng)時(shí)間過(guò)長(zhǎng)。
解決步驟:
使用dashboard
命令監(jiān)控系統(tǒng)狀態(tài):查看系統(tǒng)的實(shí)時(shí)運(yùn)行狀況,包括線程和CPU的使用情況。
使用watch
命令監(jiān)控特定方法的執(zhí)行情況:
watch com.example.service.MyService myMethod "{params, returnObj, throwExp}"
通過(guò)監(jiān)控方法的輸入?yún)?shù)、返回值及異常,可以實(shí)時(shí)觀察方法的運(yùn)行狀態(tài)。
使用profiler
命令進(jìn)行性能分析:
profiler start
運(yùn)行一段時(shí)間后,使用profiler stop
結(jié)束分析并生成性能報(bào)告,通過(guò)分析報(bào)告識(shí)別性能瓶頸。
通過(guò)這些具體的案例,可以看出Arthas是如何在不同的場(chǎng)景下發(fā)揮其強(qiáng)大功能的。這些工具不僅可以幫助開(kāi)發(fā)者診斷問(wèn)題,還可以優(yōu)化應(yīng)用的性能,提高開(kāi)發(fā)和維護(hù)效率。
5. Arthas的高級(jí)功能
Arthas 不僅提供基礎(chǔ)的診斷工具,還包含一些高級(jí)功能,使得開(kāi)發(fā)者可以更靈活和深入地進(jìn)行問(wèn)題分析和性能優(yōu)化。
下面介紹幾個(gè)高級(jí)功能。
條件表達(dá)式的使用
Arthas 支持在執(zhí)行命令時(shí)使用條件表達(dá)式,這使得開(kāi)發(fā)者能夠更精確地控制命令的執(zhí)行條件。
例如,在使用 watch
命令監(jiān)控方法時(shí),可以通過(guò)條件表達(dá)式來(lái)過(guò)濾只有特定條件下才觸發(fā)的調(diào)用。
使用示例:
$ watch com.example.YourClass yourMethod "{params, returnObj}" "params[0]>100"
這個(gè)命令監(jiān)控 YourClass
的 yourMethod
方法,只有當(dāng)?shù)谝粋€(gè)參數(shù)大于100時(shí),才會(huì)打印參數(shù)和返回值。
異步命令和批處理命令
Arthas 允許以異步方式執(zhí)行命令,這對(duì)于需要長(zhǎng)時(shí)間運(yùn)行的監(jiān)控或分析特別有用。
可以使用 async
命令來(lái)啟動(dòng)異步任務(wù),使用 jobs
查看當(dāng)前運(yùn)行的任務(wù),使用 kill
終止任務(wù)。
使用示例:
$ async trace com.example.YourClass yourMethod $ jobs // 查看當(dāng)前任務(wù) $ kill 1 // 終止編號(hào)為1的任務(wù)
此外,Arthas 支持批處理命令,可以將多個(gè)命令寫(xiě)入一個(gè)腳本文件中,然后通過(guò) --batch
參數(shù)一次性執(zhí)行。
使用示例:
$ arthas-boot --batch myscript.as
其中 myscript.as
是包含了多個(gè)Arthas命令的腳本文件。
自定義監(jiān)控視圖
Arthas 允許用戶自定義監(jiān)控視圖,這通過(guò)結(jié)合 dashboard
、watch
和 trace
等命令實(shí)現(xiàn)。
用戶可以根據(jù)需求定制輸出格式,甚至整合多個(gè)數(shù)據(jù)源,創(chuàng)建復(fù)雜的監(jiān)控視圖。
使用示例:
$ dashboard --view thread,gc,memory,cpu,sys
這個(gè)命令自定義了一個(gè)儀表板,同時(shí)監(jiān)控線程、GC、內(nèi)存、CPU和系統(tǒng)信息。
通過(guò)這些高級(jí)功能,Arthas 提供了極大的靈活性和強(qiáng)大的功能,使得Java應(yīng)用的診斷和性能優(yōu)化更加高效和深入。
5. Arthas的高級(jí)功能
Arthas 不僅提供基礎(chǔ)的診斷工具,還包含一些高級(jí)功能,使得開(kāi)發(fā)者可以更靈活和深入地進(jìn)行問(wèn)題分析和性能優(yōu)化。下面介紹幾個(gè)高級(jí)功能。
條件表達(dá)式的使用
Arthas 支持在執(zhí)行命令時(shí)使用條件表達(dá)式,這使得開(kāi)發(fā)者能夠更精確地控制命令的執(zhí)行條件。
例如,在使用 watch
命令監(jiān)控方法時(shí),可以通過(guò)條件表達(dá)式來(lái)過(guò)濾只有特定條件下才觸發(fā)的調(diào)用。
使用示例:
$ watch com.example.YourClass yourMethod "{params, returnObj}" "params[0]>100"
這個(gè)命令監(jiān)控 YourClass
的 yourMethod
方法,只有當(dāng)?shù)谝粋€(gè)參數(shù)大于100時(shí),才會(huì)打印參數(shù)和返回值。
異步命令和批處理命令
Arthas 允許以異步方式執(zhí)行命令,這對(duì)于需要長(zhǎng)時(shí)間運(yùn)行的監(jiān)控或分析特別有用。可以使用 async
命令來(lái)啟動(dòng)異步任務(wù),使用 jobs
查看當(dāng)前運(yùn)行的任務(wù),使用 kill
終止任務(wù)。
使用示例:
$ async trace com.example.YourClass yourMethod $ jobs // 查看當(dāng)前任務(wù) $ kill 1 // 終止編號(hào)為1的任務(wù)
此外,Arthas 支持批處理命令,可以將多個(gè)命令寫(xiě)入一個(gè)腳本文件中,然后通過(guò) --batch
參數(shù)一次性執(zhí)行。
使用示例:
$ arthas-boot --batch myscript.as
其中 myscript.as
是包含了多個(gè)Arthas命令的腳本文件。
自定義監(jiān)控視圖
Arthas 允許用戶自定義監(jiān)控視圖,這通過(guò)結(jié)合 dashboard
、watch
和 trace
等命令實(shí)現(xiàn)。用戶可以根據(jù)需求定制輸出格式,甚至整合多個(gè)數(shù)據(jù)源,創(chuàng)建復(fù)雜的監(jiān)控視圖。
使用示例:
$ dashboard --view thread,gc,memory,cpu,sys
這個(gè)命令自定義了一個(gè)儀表板,同時(shí)監(jiān)控線程、GC、內(nèi)存、CPU和系統(tǒng)信息。
通過(guò)這些高級(jí)功能,Arthas 提供了極大的靈活性和強(qiáng)大的功能,使得Java應(yīng)用的診斷和性能優(yōu)化更加高效和深入。
6. 常見(jiàn)問(wèn)題及解決方案
在使用Arthas進(jìn)行應(yīng)用診斷時(shí),用戶可能會(huì)遇到一些常見(jiàn)問(wèn)題。以下是這些問(wèn)題的解決方案,幫助用戶更有效地使用Arthas。
Arthas命令不響應(yīng)
問(wèn)題描述:執(zhí)行Arthas命令后,沒(méi)有任何輸出,命令似乎被掛起。
可能原因及解決方案:
- 目標(biāo)進(jìn)程負(fù)載過(guò)高:檢查目標(biāo)Java進(jìn)程的CPU和內(nèi)存使用情況,確認(rèn)是否由于系統(tǒng)資源緊張導(dǎo)致命令執(zhí)行緩慢。
- 命令執(zhí)行條件未滿足:如果使用了條件表達(dá)式,確認(rèn)條件是否設(shè)置正確或過(guò)于嚴(yán)格。
- 網(wǎng)絡(luò)問(wèn)題:如果通過(guò)網(wǎng)絡(luò)連接到目標(biāo)進(jìn)程(如遠(yuǎn)程診斷),檢查網(wǎng)絡(luò)連接是否穩(wěn)定。
- 重啟Arthas:有時(shí)候重啟Arthas客戶端可以解決命令不響應(yīng)的問(wèn)題。
兼容性問(wèn)題處理
問(wèn)題描述:Arthas在某些Java版本或操作系統(tǒng)上運(yùn)行不正常。
可能原因及解決方案:
- Java版本差異:確保Arthas支持正在使用的Java版本。Arthas通常支持Java 6及以上版本,但最好查閱最新的官方文檔確認(rèn)兼容性信息。
- 操作系統(tǒng)特有問(wèn)題:某些操作系統(tǒng)可能需要特定的配置才能運(yùn)行Arthas。例如,在Windows系統(tǒng)上,可能需要以管理員權(quán)限運(yùn)行命令行工具。
- 更新Arthas:使用最新版本的Arthas,以便利用最新的功能和兼容性改進(jìn)。
性能影響評(píng)估
問(wèn)題描述:擔(dān)心在生產(chǎn)環(huán)境中使用Arthas會(huì)影響應(yīng)用性能。
評(píng)估及緩解措施:
- 命令選擇:避免在高峰時(shí)段使用會(huì)對(duì)性能產(chǎn)生重大影響的命令,如
trace
、monitor
等。 - 使用采樣分析:使用
profiler
命令進(jìn)行性能分析時(shí),可以選擇采樣模式,這種模式對(duì)性能的影響較小。 - 限制輸出量:通過(guò)限制命令輸出的數(shù)據(jù)量,減少對(duì)應(yīng)用性能的影響。例如,可以限制
watch
命令輸出的結(jié)果數(shù)量或大小。 - 監(jiān)控性能指標(biāo):在使用Arthas時(shí),持續(xù)監(jiān)控CPU、內(nèi)存和響應(yīng)時(shí)間等關(guān)鍵性能指標(biāo),以便及時(shí)發(fā)現(xiàn)并處理可能的性能問(wèn)題。
7. 結(jié)合實(shí)際開(kāi)發(fā)的最佳實(shí)踐
Arthas 是一個(gè)強(qiáng)大的Java診斷工具,合理地使用它可以極大地提高開(kāi)發(fā)和運(yùn)維效率。以下是在開(kāi)發(fā)和生產(chǎn)環(huán)境中使用Arthas的最佳實(shí)踐。
在開(kāi)發(fā)環(huán)境中使用Arthas
問(wèn)題定位和解決:
- 在開(kāi)發(fā)環(huán)境中,使用Arthas可以幫助開(kāi)發(fā)者快速定位問(wèn)題,如性能瓶頸、異常拋出點(diǎn)、死鎖問(wèn)題等。
- 通過(guò)
trace
,watch
和monitor
等命令,開(kāi)發(fā)者可以實(shí)時(shí)觀察方法調(diào)用和運(yùn)行時(shí)數(shù)據(jù)。
代碼優(yōu)化:
- 利用Arthas的實(shí)時(shí)監(jiān)控和分析功能
- 開(kāi)發(fā)者可以評(píng)估代碼更改對(duì)性能的影響
- 從而優(yōu)化代碼實(shí)現(xiàn)
學(xué)習(xí)和實(shí)驗(yàn):
- Arthas的安全性和易用性使其成為一個(gè)理想的學(xué)習(xí)工具
- 開(kāi)發(fā)者可以通過(guò)Arthas深入了解Java字節(jié)碼執(zhí)行、JVM性能特性等
集成測(cè)試:
- 在自動(dòng)化測(cè)試過(guò)程中
- 可以集成Arthas來(lái)監(jiān)控應(yīng)用的性能表現(xiàn)和異常行為
- 確保代碼更改不會(huì)引入新的性能問(wèn)題
在生產(chǎn)環(huán)境中謹(jǐn)慎使用Arthas
最小化性能影響:
- 在生產(chǎn)環(huán)境中使用Arthas時(shí),應(yīng)盡量減少對(duì)應(yīng)用性能的影響。
- 例如,使用
trace
和watch
命令時(shí),應(yīng)限制監(jiān)控范圍和頻率,避免產(chǎn)生大量日志數(shù)據(jù)。
安全性考慮:
- 確保Arthas的訪問(wèn)受到嚴(yán)格控制,避免未授權(quán)訪問(wèn)。
- 可以通過(guò)網(wǎng)絡(luò)策略和安全組限制訪問(wèn)Arthas的端口。
應(yīng)急響應(yīng):
- 在生產(chǎn)環(huán)境中,Arthas可以作為應(yīng)急響應(yīng)工具,用于快速定位突發(fā)問(wèn)題。
- 因此,建議預(yù)先準(zhǔn)備好Arthas的使用策略和操作流程,以便在需要時(shí)快速啟動(dòng)和使用。
日志記錄和審計(jì):
- 使用Arthas進(jìn)行問(wèn)題診斷時(shí),應(yīng)記錄相關(guān)操作和結(jié)果,作為事后分析和審計(jì)的依據(jù)。
定期評(píng)估和測(cè)試:
- 在非生產(chǎn)環(huán)境定期對(duì)Arthas的使用進(jìn)行測(cè)試和評(píng)估
- 確保在生產(chǎn)環(huán)境中的使用不會(huì)引起意外的問(wèn)題
8. 資源和進(jìn)一步學(xué)習(xí)
為了更深入地理解和有效地使用Arthas,以下是一些官方資源和社區(qū)平臺(tái),這些可以幫助用戶從入門到精通。
官方文檔和教程
Arthas 官方GitHub頁(yè)面:
- 訪問(wèn) Arthas GitHub 頁(yè)面,這里提供了最新的發(fā)行信息、源代碼和詳細(xì)的開(kāi)發(fā)文檔。
- GitHub頁(yè)面還包含了安裝指南、快速開(kāi)始指南和詳細(xì)的功能說(shuō)明。
Arthas 官方網(wǎng)站:
- Arthas的官方網(wǎng)站 提供了全面的文檔,包括安裝、命令參考、高級(jí)功能和FAQ。
- 網(wǎng)站上還有視頻教程和案例分析,幫助用戶通過(guò)實(shí)際例子學(xué)習(xí)如何使用Arthas。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Netty搭建WebSocket服務(wù)器實(shí)戰(zhàn)教程
這篇文章主要介紹了Netty搭建WebSocket服務(wù)器實(shí)戰(zhàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03Java快速批量移動(dòng)文件的實(shí)現(xiàn)方法
這篇文章主要介紹了Java快速批量移動(dòng)文件的實(shí)現(xiàn)方法,需要的朋友可以參考下2014-03-03Java中的StackOverflowError錯(cuò)誤問(wèn)題及解決方法
這篇文章主要介紹了Java中的StackOverflowError錯(cuò)誤,在本文中,我們仔細(xì)研究了StackOverflower錯(cuò)誤,包括Java代碼如何導(dǎo)致它,以及我們?nèi)绾卧\斷和修復(fù)它,需要的朋友可以參考下2022-07-07java查找無(wú)向連通圖中兩點(diǎn)間所有路徑的算法
這篇文章主要介紹了java查找無(wú)向連通圖中兩點(diǎn)間所有路徑的算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01SpringBoot項(xiàng)目中application.yml和bootstrap.yml文件的區(qū)別及說(shuō)明
`application.yml`和`bootstrap.yml`都是Spring Boot項(xiàng)目中的配置文件,但它們?cè)诩虞d時(shí)機(jī)、用途、優(yōu)先級(jí)、配置來(lái)源、適用場(chǎng)景和是否必須存在等方面存在區(qū)別2025-03-03java9的JShell小工具和編譯器兩種自動(dòng)優(yōu)化方法
這篇文章主要介紹了java9的JShell小工具和編譯器兩種自動(dòng)優(yōu)化方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07Springboot錯(cuò)誤頁(yè)面和錯(cuò)誤信息定制操作
這篇文章主要介紹了Springboot錯(cuò)誤頁(yè)面和錯(cuò)誤信息定制操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10關(guān)于springboot中nacos動(dòng)態(tài)路由的配置
這篇文章主要介紹了springboot中nacos動(dòng)態(tài)路由的配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09