国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?

這篇具有很好參考價(jià)值的文章主要介紹了服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?

??本文收錄于,Java基礎(chǔ)教程(進(jìn)階篇)。

目前已經(jīng)800+訂閱,CSDN最強(qiáng)Java專欄,包含全部Java基礎(chǔ)知識(shí)點(diǎn)、Java8新特性、Java集合、Java多線程、Java代碼實(shí)例,理論結(jié)合實(shí)戰(zhàn),實(shí)現(xiàn)Java的輕松學(xué)習(xí)。


一、線上服務(wù)器CPU飆升,如何定位到Java代碼

解決這個(gè)問(wèn)題的關(guān)鍵是要找到Java代碼的位置。下面分享一下排查思路,以CentOS為例,總結(jié)為4步。

第1步,使用top命令找到占用CPU高的進(jìn)程。

第2步,使用ps –mp命令找到進(jìn)程下占用CPU高的線程ID。

第3步,使用printf命令將線程ID轉(zhuǎn)換成十六進(jìn)制數(shù)。

第4步,使用jstack命令輸出線程運(yùn)行狀態(tài)的日志信息。

下面詳細(xì)介紹每一步的操作。

第1步

在使用top命令之后,可以看到一個(gè)列表,其中包含PID(進(jìn)程ID)、USER(操作用戶)、CPU占用率、內(nèi)存占用率、TIME+(運(yùn)行時(shí)間)、COMMAND(運(yùn)行命令)等信息。一般默認(rèn)按CPU占用率從上到下降序排列,如下圖所示。

服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?

我們找到COMMAND列是java的這一行,說(shuō)明這個(gè)程序就是用Java編寫的。然后,用記事本記下這一行的PID,也就是進(jìn)程ID。

第2步

使用ps -mp命令,輸出這個(gè)PID下面的線程運(yùn)行情況列表,如下圖所示。

服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?

在這個(gè)列表中包含了幾個(gè)關(guān)鍵字段,比如CPU占用率、TID(線程ID)、TIME(運(yùn)行時(shí)間)等。在這個(gè)列表中找到CPU占用最高的線程,記下TID,也就是線程ID。

前面記下的TID是一個(gè)十進(jìn)制數(shù),不能直接使用,需要轉(zhuǎn)化為十六進(jìn)制數(shù)。

第3步

使用 printf 命令將TID轉(zhuǎn)換為十六進(jìn)制數(shù),如下圖所示。

服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?
這樣就得到了真正占用CPU過(guò)高的線程ID。

第4步,使用jstack命令輸出線程的具體運(yùn)行日志,如下圖所示。

服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?

jstack有3個(gè)參數(shù),第1個(gè)參數(shù)是前面記下的 PID,之后加上 grep,緊跟著是轉(zhuǎn)成十六進(jìn)制數(shù)的TID,最后加上 –A和一個(gè)數(shù)字,這個(gè)數(shù)字表示輸出日志的行數(shù),至此就可以直接打印出具體的異常信息了。

如果日志信息比較多,異常內(nèi)容比較復(fù)雜,則可以把這些異常信息輸出到一個(gè) txt文件中,慢慢分析。只需要在 jstack命令的最后追加 txt 文件名就可以了。

jstack PID | grep TID -A60 >> error_log.txt

從這個(gè)問(wèn)題來(lái)看,面試官主要考查求職者的實(shí)操能力,以及解決問(wèn)題的思路。如果求職者沒有實(shí)操過(guò),但是知道導(dǎo)致 CPU 飆升的原因,并說(shuō)出解決思路,那么通過(guò)面試是沒問(wèn)題的。

二、生產(chǎn)環(huán)境服務(wù)器變慢,如何診斷處理

生產(chǎn)環(huán)境服務(wù)器變慢主要涉及3個(gè)維度:CPU利用率、磁盤I/O效率、內(nèi)存瓶頸。

1、CPU利用率

CPU利用率過(guò)高或者CPU利用率過(guò)低,都會(huì)影響程序的處理效率。CPU利用率過(guò)高,說(shuō)明當(dāng)前服務(wù)器要處理的指令比較多,當(dāng)CPU忙不過(guò)來(lái)的時(shí)候,指令的運(yùn)行效率自然就會(huì)下降,用戶的感受就是程序響應(yīng)變慢了。

針對(duì)這個(gè)問(wèn)題,我們可以使用top命令查詢當(dāng)前系統(tǒng)中占用CPU過(guò)高的進(jìn)程,并定位到這個(gè)進(jìn)程中比較活躍的線程。再通過(guò)jstack命令打印當(dāng)前虛擬機(jī)的線程快照,根據(jù)快照日志排查問(wèn)題代碼。

如果CPU利用率過(guò)低,則說(shuō)明程序資源使用不夠,可以增加線程數(shù)量提升程序性能。

2、磁盤I/O效率

在程序運(yùn)行過(guò)程中會(huì)直接或者間接涉及一些與磁盤I/O相關(guān)的操作,比如程序直接讀/寫磁盤或者程序依賴的第三方組件對(duì)磁盤進(jìn)行持久化存儲(chǔ),此時(shí)磁盤I/O效率就會(huì)對(duì)程序運(yùn)行效率產(chǎn)生影響。

針對(duì)這種情況可以使用iostat命令查看,如果磁盤負(fù)載較高,可以針對(duì)性地進(jìn)行優(yōu)化。比如,借助緩存系統(tǒng),減少磁盤I/O次數(shù);用順序?qū)懱娲S機(jī)寫入,減少尋址開銷;使用mmap替代read/write,減少內(nèi)存拷貝次數(shù)。另外,磁盤I/O效率可以通過(guò)CPU與負(fù)載的非線性關(guān)系體現(xiàn)出來(lái)。當(dāng)負(fù)載增大時(shí),系統(tǒng)吞吐量不能有效增大,CPU不能線性增長(zhǎng),則很可能是磁盤I/O出現(xiàn)阻塞。

3、內(nèi)存瓶頸

內(nèi)存作為一塊臨時(shí)存儲(chǔ)數(shù)據(jù)的組件,所有CPU運(yùn)行的指令都需要從內(nèi)存中去讀/寫。內(nèi)存的合理使用可以減少應(yīng)用和磁盤的I/O頻率,減少網(wǎng)絡(luò)I/O的頻率,極大地提升I/O性能。

JVM對(duì)內(nèi)存的合理分配,能夠避免頻繁的YGC和FULL GC。當(dāng)內(nèi)存使用率較高時(shí),可以用dump命令查出JVM堆內(nèi)存,用MAT工具進(jìn)行分析,查出大對(duì)象或者占用內(nèi)存最多的對(duì)象,以及排查是否存在內(nèi)存泄漏的問(wèn)題。如果用 dump 命令查出的堆內(nèi)存文件正常,則可以考慮是堆外內(nèi)存被大量使用導(dǎo)致出現(xiàn)問(wèn)題,此時(shí)需要借助操作系統(tǒng)的pmap命令查出進(jìn)程的內(nèi)存分配情況。如果CPU和內(nèi)存使用率都很正常,那么就需要進(jìn)一步開啟GC日志,分析用戶線程暫停的時(shí)間、各部分內(nèi)存區(qū)域GC次數(shù)和時(shí)間等指標(biāo),這里可以借助jstat命令或可視化工具GCEasy等。如果問(wèn)題出在GC上,則考慮是不是內(nèi)存不足,然后根據(jù)垃圾對(duì)象的特點(diǎn)進(jìn)行參數(shù)調(diào)優(yōu),使用更適合的垃圾收集器,用jstack命令分析各個(gè)線程的狀態(tài)。如果問(wèn)題比較隱蔽,則考慮是否開啟JMX,使用 visualmv 等可視化工具進(jìn)行遠(yuǎn)程監(jiān)控與分析。

4、小總結(jié)

這個(gè)問(wèn)題涉及的知識(shí)面比較多,如果只是站在求職者的角度來(lái)分析,則可以這樣回答。如果你沒有實(shí)際解決過(guò)類似問(wèn)題,則可以說(shuō)一下自己的思路,只要大體思路和方向是對(duì)的,那么在遇到類似問(wèn)題的時(shí)候,可以利用網(wǎng)絡(luò)上的資料去逐步嘗試解決。

三、線上接口負(fù)載劇增,快扛不住了,你的首選方案是什么

遇到這樣的問(wèn)題,我們的第一反應(yīng)應(yīng)該是增加緩存。因?yàn)?,增加緩存是解決系統(tǒng)性能問(wèn)題最快速、最高效的方案,它能夠快速提升系統(tǒng)的線性吞吐量,效果也最為明顯。這就相當(dāng)于是用空間來(lái)?yè)Q取時(shí)間。曾經(jīng)有人說(shuō)過(guò),緩存是解決性能問(wèn)題的萬(wàn)金油,哪里存在性能瓶頸,就往哪里加緩存。

但是程序都已經(jīng)上線了,增加緩存還來(lái)得及嗎?因?yàn)樵谠黾泳彺鏁r(shí)需要改代碼,所以,臨時(shí)解決方案就是增加節(jié)點(diǎn)。隨后,將程序緊急部署到新的節(jié)點(diǎn)上,在流量入口增加限流和分發(fā)。但是增加節(jié)點(diǎn)自然會(huì)增加成本,所以增加緩存才是最優(yōu)的解決方案。

緩存的設(shè)計(jì)思想在架構(gòu)設(shè)計(jì)中十分常見。比如我們每天用的操作系統(tǒng),不管是Windows、Linux,還是Mac OS都有系統(tǒng)緩存、用戶緩存。磁盤有磁盤緩存區(qū)、CPU有CPU緩存區(qū)。再比如,在我們常用的經(jīng)典框架中,也經(jīng)常使用到緩存,Spring有IoC緩存,MyBatis有一級(jí)緩存、二級(jí)緩存。在架構(gòu)設(shè)計(jì)中,可以說(shuō)緩存無(wú)處不在。

因此,當(dāng)并發(fā)量過(guò)高扛不住的時(shí)候,可以優(yōu)先采用緩存來(lái)緩解負(fù)載壓力。比如將讀取頻繁的數(shù)據(jù)寫到緩存中,將動(dòng)態(tài)頁(yè)面靜態(tài)化。在加上緩存之后,如果負(fù)載壓力依然過(guò)大,則再考慮增加限流策略,比如消息隊(duì)列;如果在增加限流后還是壓力過(guò)大,則再考慮增加服務(wù)器節(jié)點(diǎn)。

這個(gè)問(wèn)題考查的是求職者的臨場(chǎng)應(yīng)變能力,有相關(guān)經(jīng)驗(yàn)的程序員回答這個(gè)問(wèn)題并不困難。在回答這個(gè)問(wèn)題的時(shí)候,可以分兩種情況:一種是臨時(shí)解決方案,就是加服務(wù)器;另一種就是增加緩存,但是涉及修改代碼,會(huì)增加程序不穩(wěn)定的風(fēng)險(xiǎn)。

親愛的程序員求職者們,相信你們一定深有體會(huì),求職面試這條路有多難走。

Java基礎(chǔ)知識(shí),多線程,并發(fā)編程,集合原理,JVM原理……??!別跟我提這些!面試官一下子拿著這些知識(shí)點(diǎn)就沖你扔過(guò)來(lái),還有那魔幻的Java框架,你要是不懂Spring全家桶、Dubbo、Netty、MyBatis等,就別想踏進(jìn)這個(gè)行業(yè)的大門。沒錯(cuò),Java領(lǐng)域可是卷得一塌糊涂啊。

現(xiàn)在有了一本強(qiáng)大的新書空降,在這熾熱的夏日帶來(lái)一股清涼的Java知識(shí)。這本名叫《Java面試八股文:高頻面試題與求職攻略一本通》,簡(jiǎn)直是Java求職者的救星。

服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?
書中囊括了Java面試的方方面面近200道高頻面試題,從Java基礎(chǔ)知識(shí)、并發(fā)編程、集合原理,到JVM原理、I/O與網(wǎng)絡(luò)編程,再到設(shè)計(jì)模式、分布式與微服務(wù),MySQL數(shù)據(jù)庫(kù)、緩存與NoSQL,消息中間件……應(yīng)有盡有,想不掌握都難!而且書中還提供了大量實(shí)戰(zhàn)場(chǎng)景與面試簡(jiǎn)歷實(shí)操技巧。近20個(gè)經(jīng)典高頻實(shí)戰(zhàn)場(chǎng)景解決方案,從服務(wù)器反應(yīng)慢到秒殺設(shè)計(jì),從架構(gòu)設(shè)計(jì)到常見解決方案,無(wú)一不是傷害求職者心臟的“鋒芒之劍”。同時(shí),更有10多個(gè)面試簡(jiǎn)歷實(shí)操技巧,包括簡(jiǎn)歷編寫與投遞技巧、面試談薪技巧、求職決策技巧等,一次性解決你的求職難題!

相信這本書可以成為你職業(yè)生涯中的有力助推器,事半功倍、輕松撈到心儀的Java工作。別猶豫了,已經(jīng)給各位粉絲老爺申請(qǐng)到了最優(yōu)惠的價(jià)格,沖沖沖,最后祝愿大家都能拿到自己心儀的Offer!

服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?

??本文收錄于,Java基礎(chǔ)教程(進(jìn)階篇)。

目前已經(jīng)800+訂閱,CSDN最強(qiáng)Java專欄,包含全部Java基礎(chǔ)知識(shí)點(diǎn)、Java8新特性、Java集合、Java多線程、Java代碼實(shí)例,理論結(jié)合實(shí)戰(zhàn),實(shí)現(xiàn)Java的輕松學(xué)習(xí)。

??哪吒多年工作總結(jié):Java學(xué)習(xí)路線總結(jié),搬磚工逆襲Java架構(gòu)師。

抽獎(jiǎng)方式:評(píng)論區(qū)隨機(jī)抽取三位小伙伴免費(fèi)送出(據(jù)說(shuō)訂閱專欄的小伙伴,中獎(jiǎng)率飆升 —>>> Java基礎(chǔ)教程(進(jìn)階篇))
參與方式:關(guān)注博主、點(diǎn)贊、收藏、評(píng)論區(qū)評(píng)論“學(xué)Java,找哪吒”(切記要點(diǎn)贊+收藏,否則抽獎(jiǎng)無(wú)效,每個(gè)人最多評(píng)論三次!)
領(lǐng)取方式:私信哪吒,你懂的!
活動(dòng)截止時(shí)間:2023-06-30 21:00:00文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-504163.html

到了這里,關(guān)于服務(wù)器卡頓、CPU飆升、接口負(fù)載劇增,如何定位到Java代碼?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 服務(wù)器卡頓了該如何處理

    服務(wù)器卡頓了該如何處理 當(dāng)Windows系統(tǒng)的服務(wù)器出現(xiàn)卡頓問(wèn)題時(shí),以下是一些常見的故障排除步驟: 1.檢查網(wǎng)絡(luò)連接:確保服務(wù)器的網(wǎng)絡(luò)連接正常。檢查網(wǎng)絡(luò)設(shè)備、交換機(jī)、防火墻等設(shè)備,確保它們正常運(yùn)行。嘗試通過(guò)其他計(jì)算機(jī)訪問(wèn)服務(wù)器,以確定是否存在網(wǎng)絡(luò)問(wèn)題。 2.遠(yuǎn)

    2024年02月12日
    瀏覽(20)
  • 服務(wù)器操作卡頓時(shí)centos系統(tǒng)怎么清理緩存?

    liunx系統(tǒng)的服務(wù)器使用時(shí)間久,感覺內(nèi)存不足時(shí)可以通過(guò)命令查看自身服務(wù)器內(nèi)存的使用情況,比如在服務(wù)器卡頓時(shí),或者服務(wù)器例行檢查時(shí)。 一.查看物理內(nèi)存使用情況的命令:free-h total:機(jī)器總的物理內(nèi)存 used:已使用的內(nèi)存 free:空閑的物理內(nèi)存 shared:被共享使用的物理

    2024年02月05日
    瀏覽(25)
  • Linux服務(wù)器出現(xiàn)異常和卡頓排查思路和步驟

    Linux服務(wù)器出現(xiàn)異常和卡頓排查思路和步驟

    Linux 服務(wù)器出現(xiàn)異常和卡頓的原因有很多,以下是一些常見的原因: 1、CPU 占用率過(guò)高:當(dāng) CPU 占用率過(guò)高時(shí),系統(tǒng)的響應(yīng)速度會(huì)變慢,甚至出現(xiàn)卡頓現(xiàn)象。常見的原因包括進(jìn)程的死循環(huán)、CPU 密集型的任務(wù)等。 2、內(nèi)存使用過(guò)高:當(dāng)內(nèi)存使用過(guò)高時(shí),系統(tǒng)會(huì)使用交換分區(qū)(s

    2024年02月04日
    瀏覽(22)
  • 搭建自己的V Rising自建服務(wù)器,和小伙伴們告別官方服務(wù)器卡頓,快樂(lè)聯(lián)機(jī)

    搭建自己的V Rising自建服務(wù)器,和小伙伴們告別官方服務(wù)器卡頓,快樂(lè)聯(lián)機(jī)

    V rising官方服務(wù)器經(jīng)常無(wú)法連接,無(wú)法和小伙伴玩耍;如何搭建自己的V rising服務(wù)器呢?還可以修改掉落倍率,加快游戲進(jìn)度,搭建自己的私人服務(wù)器。 最近V rising這個(gè)游戲很火呀,迫不及待地和小伙伴一起玩;但是,V rising官方的服務(wù)器實(shí)在是太不穩(wěn)定:延時(shí)高、丟包率高,

    2024年04月13日
    瀏覽(30)
  • Palworld幻獸帕魯服務(wù)器無(wú)法啟動(dòng)、卡頓解決教程分享

    Palworld幻獸帕魯服務(wù)器無(wú)法啟動(dòng)、卡頓解決教程分享

    對(duì)于許多想要與朋友們?cè)凇痘毛F帕魯》中暢游的新手玩家來(lái)說(shuō),搭建一個(gè)聯(lián)機(jī)服務(wù)器可能聽起來(lái)是個(gè)復(fù)雜的任務(wù)。但現(xiàn)在,有了阿里云的強(qiáng)大支持,這一切變得異常簡(jiǎn)單和快速。本文將詳細(xì)指導(dǎo)你如何在阿里云平臺(tái)上輕松部署《幻獸帕魯》的聯(lián)機(jī)服務(wù)器,讓你在短短幾分鐘內(nèi)

    2024年03月12日
    瀏覽(26)
  • Java線上服務(wù)CPU、內(nèi)存飆升問(wèn)題排查步驟!

    Java線上服務(wù)CPU、內(nèi)存飆升問(wèn)題排查步驟!

    作為一名從事Java開發(fā)快一年的程序員,在線上經(jīng)常碰到 某個(gè)模塊的Pod發(fā)出CPU與內(nèi)存告警的問(wèn)題 ,而這些問(wèn)題會(huì)導(dǎo)致系統(tǒng)響應(yīng)緩慢甚至是服務(wù)不可用。一般情況下可以通過(guò) 重啟 或者 調(diào)高Pod的資源量或者增加Pod數(shù)量 暫時(shí)解決問(wèn)題,但這是治標(biāo)不治本的,只有找到問(wèn)題發(fā)生的原

    2024年02月16日
    瀏覽(48)
  • 華為云云服務(wù)器云耀L實(shí)例評(píng)測(cè) | 智能不卡頓:如何實(shí)現(xiàn)流暢的業(yè)務(wù)運(yùn)行

    華為云云服務(wù)器云耀L實(shí)例評(píng)測(cè) | 智能不卡頓:如何實(shí)現(xiàn)流暢的業(yè)務(wù)運(yùn)行

    ???? 博主貓頭虎(????)帶您 Go to New World??? ?? 博客首頁(yè) ——????貓頭虎的博客?? ?? 《面試題大全專欄》 ?? 文章圖文并茂??生動(dòng)形象??簡(jiǎn)單易學(xué)!歡迎大家來(lái)踩踩~?? ?? 《IDEA開發(fā)秘籍專欄》 ?? 學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ?? 《100天精通Golang(基礎(chǔ)

    2024年02月09日
    瀏覽(97)
  • 幻獸帕魯官方服務(wù)器不穩(wěn)定?自己搭建幻獸帕魯私服,告別卡頓

    幻獸帕魯官方服務(wù)器不穩(wěn)定?自己搭建幻獸帕魯私服,告別卡頓

    幻獸帕魯作為2024年開年最火爆的游戲,沒有之一。一路靠著熱梗從一個(gè)縫合怪完美逆襲,玩家們?cè)诶锩鎽?zhàn)斗、建造、工作等玩的不亦樂(lè)乎。更有意思的是,玩家可以自建服務(wù)器,通過(guò)設(shè)置服務(wù)器參數(shù)來(lái)控制游戲資源掉落率和各種概率,也就是可以通過(guò)自建服務(wù)器打造一個(gè)符合自己玩

    2024年02月20日
    瀏覽(27)
  • Palworld幻獸帕魯卡頓,教你搭建幻獸帕魯服務(wù)器立馬解決

    Palworld幻獸帕魯卡頓,教你搭建幻獸帕魯服務(wù)器立馬解決

    Steam游戲《幻獸帕魯》是新上線的一款開服世界生存制作游戲,上線短短5天時(shí)間,就賣出了700萬(wàn)份,同時(shí)在線人數(shù)最高達(dá)到180萬(wàn)人,創(chuàng)下了Steam歷史榜單第二名的好成績(jī)。預(yù)期之外的爆火使幻獸帕魯官方服務(wù)器正面臨大量玩家涌入而導(dǎo)致的服務(wù)器網(wǎng)絡(luò)擁堵問(wèn)題,很多玩家反饋

    2024年02月20日
    瀏覽(27)
  • 保姆級(jí)幻獸帕魯服務(wù)器阿里云上創(chuàng)建教程,實(shí)現(xiàn)聯(lián)機(jī)穩(wěn)定不卡頓

    保姆級(jí)幻獸帕魯服務(wù)器阿里云上創(chuàng)建教程,實(shí)現(xiàn)聯(lián)機(jī)穩(wěn)定不卡頓

    基于阿里云搭建幻獸帕魯服務(wù)器方法,1到2分鐘部署完成,穩(wěn)定運(yùn)行無(wú)卡頓,分享保姆級(jí)手把手教程,基于阿里云計(jì)算巢、云服務(wù)器或無(wú)影云桌面都可以。 本文將詳細(xì)介紹如何在阿里云服務(wù)器上部署幻獸帕魯聯(lián)機(jī)服務(wù)器,新手小白也能輕松搭建并管理自己的游戲環(huán)境。 還未購(gòu)

    2024年02月20日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包