posts - 42,comments - 83,trackbacks - 0

                  這2個(gè)東西應(yīng)該是java里很常見,很簡單,他們都和classpath設(shè)定有關(guān),但區(qū)別在哪里呢? 我們都知道java里生成對(duì)象有如下兩種方式:
                  1:Object obj = new ClassName(); 直接new一個(gè)對(duì)象
                  2:Class clazz = Class.forName(ClassName);
                        Object obj = clazz.newInstance(); 通過class loader動(dòng)態(tài)裝載一個(gè)類,然后獲取這個(gè)類的實(shí)例

                  同樣是生成對(duì)象,1在編譯期間檢查classpath, 如果沒有類定義,編譯沒法通過。而2在編譯期間是不會(huì)檢查的,不過需要拋出或者自己catch ClassNotFoundException。 運(yùn)行期間,如果1編譯時(shí)依賴的類不在classpath中(導(dǎo)致classloader裝載失敗),此時(shí)拋出的異常就是NoClassDefFoundError。而如果2在運(yùn)行期間需要裝載的類不在classpath中,拋出的則是ClassNotFoundException。

          posted on 2008-09-25 19:45 走走停停又三年 閱讀(9672) 評(píng)論(5)  編輯  收藏 所屬分類: Java Technology

          FeedBack:
          # re: java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的區(qū)別
          2008-09-26 09:53 |
          學(xué)習(xí)
          兩個(gè)異常都是在類沒找到的時(shí)候拋出,只是在Class.forName拋ClassNotFoundException,在new的時(shí)候拋NoClassDefFoundError
          是這意思嗎?  回復(fù)  更多評(píng)論
            
          # re: java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的區(qū)別
          2008-09-26 09:57 | fjin
          是啊,NoClassDefFoundError是編譯期間能找到,但runtime找不到。而ClassNotFoundException則是說runtime找不到,因?yàn)榫幾g期間是不做檢查的。  回復(fù)  更多評(píng)論
            
          # re: java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的區(qū)別
          2008-09-26 10:05 | 舞命小丟
          學(xué)習(xí)了!不錯(cuò)!  回復(fù)  更多評(píng)論
            
          # re: java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError的區(qū)別
          2008-09-26 11:01 |
          哦,NoClassDefFoundError
          不是Exception是Error
            回復(fù)  更多評(píng)論
            
          # 怎樣解決以下錯(cuò)誤,請(qǐng)高手幫忙[未登錄]
          2009-06-18 17:40 | 你好
          嚴(yán)重: Exception starting filter AuthFilter
          java.lang.ClassNotFoundException: com.alt.common.filter.AuthFilter
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
          at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
          at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:249)
          at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
          at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
          at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
          at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
          at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
          at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
          at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
          at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
          at org.apache.catalina.core.StandardService.start(StandardService.java:516)
          at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
          at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:585)
          at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
          at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
          2009-6-18 17:34:09 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Error filterStart
          2009-6-18 17:34:09 org.apache.catalina.core.StandardContext start
          嚴(yán)重: Context [/marry] startup failed due to previous errors  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 隆子县| 定襄县| 区。| 大宁县| 三门峡市| 城市| 绥棱县| 磐安县| 丰镇市| 将乐县| 兰坪| 图木舒克市| 吉安县| 讷河市| 德江县| 湘潭县| 兴化市| 金阳县| 龙海市| 新龙县| 客服| 开封市| 额尔古纳市| 高邑县| 马鞍山市| 那曲县| 湾仔区| 鹿泉市| 荥阳市| 南昌市| 原阳县| 井冈山市| 合江县| 名山县| 长沙市| 德州市| 海宁市| 乐东| 仁怀市| 汪清县| 手游|