国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

JavaSe:常見異常總結

2019-11-14 15:26:02
字體:
來源:轉載
供稿:網友

沒有任何開發(fā)人員敢說自己開發(fā)的程序沒有問題,沒有任何人敢說自己在開發(fā)過程中不會遇到問題。遇到問題時,通常都會根據(jù)日志中的異常、錯誤或者提示信息來Debug,修復問題。

 

當然了,一些常見的問題,還是需要總結一下了,再次遇到這樣的問題時,就知道怎么處理它,下面就列出一些開發(fā)過程中會遇到的問題。

 

NullPonitException

    這個異常可以說是最為常見的異常了。當遇到這個問題時,大多數(shù)情況都是因為沒有對null值判斷引起的,對于這種情況,都要加上空值的處理。

    但是我們在查問題時,不能僅局限于空值的處理,更要調查數(shù)據(jù)為什么是空的,這一點很重要。我處理過這樣一個問題,在Console訪問JMS資源時出現(xiàn)在NullPointException,調查時發(fā)現(xiàn)取得的數(shù)據(jù)是null。但實際情況下,這個值是不應為null。這就說明有其它的潛在的問題存在了。

 

java class 從加載到使用有下列過程 :加載、連接(檢驗、準備、解析)、初始化。

 

ClassNotFoundException

    這個類也是比較好理解的。但是找問題的原因并不輕松的。如果想要輕松的找出這個問題的原因,需要對ClassLoader的知識有所了解。這個錯誤發(fā)生在類的加載時,通過類的字符串名稱加載時,并且是從ClassLoader的搜索下查找類的。

    出現(xiàn)這個問題時,可能有下列原因:

1) 搜索路徑下,應該有某個類或者某個jar,但卻沒有。

2) 搜索路徑錯誤,這個對應的就是ClassLoader使用錯誤或者ClassLoader的搜索路徑設置不正確。

3)對于使用了OSGi的應用,搜索路徑下有這個類,但卻找不到,就要從MANFIST文件中查這個類所在的包是否在export-package中。

 

UnsupportedClassVersionError

class文件中會有編譯時使用的JDK的版本號,JDK是向后兼容的,也就是說jdk6上編譯的class文件可以在JDK7、JDK8...上運行。

這個Error出現(xiàn)連接階段的檢驗過程中。另外當檢驗的過程中,發(fā)現(xiàn)當前的JDK版本(主版本、小版本)低于編譯時使用的版本,就會報這個錯誤。

出現(xiàn)這個錯誤一般有兩種解決方案:

1)如果要求一定要在當前JDK版本上運行的話,就重新對項目使用當前版本的JDK編譯打包。

2)如果對運行時使用的JDK版本沒有要求的話,可以換用高版本的JDK。

 

java.net.ConnectException: Connection refused

這個錯誤出現(xiàn),可能是下面幾種情況:

1)ip不對 或者(和)port不對 ; 2)指定Ip上的port沒有被監(jiān)聽。

 

 java.net.ConnectException  Connection time out

這個錯誤,目前見過兩種情況:

1)配置了防火墻。

2)沒有配置防火墻時,Web請求長時間沒有得到處理,一直在請求wait queue中,導致Client(web broswer)Close了連接。

java.net.BindException:Address already in use : JVM_Bind

端口占用了。這個要搞清是被誰占用了。

如果是被其它程序占用了,是否需要修改端口。

如果是被程序本身運行過程占用了,就要想辦法解決這個問題。

在使用JMX時,會有隨機端口的使用。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 焦作市| 宁海县| 利辛县| 巴里| 荔浦县| 紫阳县| 特克斯县| 巴林右旗| 濉溪县| 绥棱县| 东阳市| 家居| 广州市| 鸡泽县| 任丘市| 宜城市| 河津市| 大邑县| 大厂| 东丽区| 桂平市| 垦利县| 会同县| 康乐县| 阳原县| 三江| 丹巴县| 阿克| 山阳县| 永修县| 英吉沙县| 长泰县| 渝中区| 师宗县| 鄂托克旗| 海淀区| 松阳县| 沙田区| 盐边县| 吉木萨尔县| 灵山县|