本篇內(nèi)容介紹了“Java程序卡住了怎么辦”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)是專業(yè)的榆次網(wǎng)站建設(shè)公司,榆次接單;提供成都網(wǎng)站制作、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行榆次網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
jstack 6688
參數(shù)為PID,這時我們看堆棧信息,發(fā)現(xiàn)沒有自己程序相關(guān)的類,但發(fā)現(xiàn)下面這樣的句子:
"Druid-ConnectionPool-Create-418179060" #25 daemon prio=5 os_prio=0 tid=0x00007fa74d8ad000 nid=0x15a84 waiting on condition [0x00007fa6f8a30000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000000c47d0990> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2480)
哦,原來是Druid
在等待導(dǎo)致線程卡住,那怎么辦呢?
開始使用必應(yīng)檢索了一下,發(fā)現(xiàn)這篇討論:線程卡死在druiddatasource上
既然討論中提到可能和版本有關(guān)就檢查了自己使用的版本,發(fā)現(xiàn)版本很新,出問題的可能很小。那么就調(diào)大最大活躍數(shù)進(jìn)行試驗。 發(fā)現(xiàn)在調(diào)大最大活躍數(shù)之后,使用top
命令查詢,果然,cpu
不再占用率很低,cpu
開始開心地跑起來了。通過了這個并發(fā)數(shù)量的壓力測試。
如果使用中文無法搜索出想要的結(jié)果,嘗試使用英文搜索。
如果自己已經(jīng)嘗試過三個方案結(jié)果失敗或者已經(jīng)嘗試半個工作日了,請立即上報上一級或請教周邊有經(jīng)驗的人員(工作不是訓(xùn)練場,解決問題最首要)。
“Java程序卡住了怎么辦”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!