Live a simple life

          沉默(zhu_xing@live.cn)
          隨筆 - 48, 文章 - 0, 評論 - 132, 引用 - 0
          數(shù)據(jù)加載中……

          【Eclipse插件開發(fā)】正確處理擴(kuò)展加載

                   說明:文中涉及到的內(nèi)容比較淺顯,熟悉的同志可以閃過了^_^

                   擴(kuò)展點(diǎn)(Extension Point)和擴(kuò)展(Extension)這兩個概念,每個插件開發(fā)人員應(yīng)該再熟悉不過了,前者規(guī)定了契約,后者按照契約實(shí)現(xiàn)并注冊擴(kuò)展。我們在使用擴(kuò)展之前必然有個過程就是加載擴(kuò)展,如果我們在定義擴(kuò)展點(diǎn)的時候有java類型的屬性,那么這個加載擴(kuò)展的過程就伴隨著類加載。下面我們來分析一下這個過程。

                    假設(shè)我們定義了如下一個擴(kuò)展點(diǎn),元素中有一個class屬性,要求父類型為java.lang.Object(夠靈活^_^)

                          
                      【擴(kuò)展加載過程分析】
                       我們在加載這個擴(kuò)展的時候,核心操作就是加載class屬性指定類型,這就涉及到了類加載。如果擴(kuò)展所在的插件還沒有被啟動,則在類加載之前必須要完成的一個操作就是:啟動該提供擴(kuò)展的插件。有關(guān)這個問題的分析,可以參見博客的另外一篇文章:
                      【Eclipse插件開發(fā)】Eclipse插件Lazy Start實(shí)現(xiàn)原理分析 

                      我們一般的擴(kuò)展加載代碼如下:
                      
                      待續(xù)。。。
                      

                      幾個關(guān)鍵點(diǎn):擴(kuò)展注冊表的訪問耗時、類加載引起的插件啟動
                      解決方案:引入中間角色

                      待續(xù)。。。            

          本博客中的所有文章、隨筆除了標(biāo)題中含有引用或者轉(zhuǎn)載字樣的,其他均為原創(chuàng)。轉(zhuǎn)載請注明出處,謝謝!

          posted on 2008-09-17 18:08 zhuxing 閱讀(990) 評論(0)  編輯  收藏 所屬分類: Eclipse Plug-in & OSGI

          主站蜘蛛池模板: 新民市| 射阳县| 牙克石市| 安溪县| 孟州市| 莱芜市| 桃园市| 琼海市| 新乡县| 柘荣县| 水城县| 丁青县| 大石桥市| 濮阳县| 平度市| 孙吴县| 五大连池市| 珲春市| 菏泽市| 隆回县| 郑州市| 万载县| 调兵山市| 青铜峡市| 秀山| 潜江市| 通许县| 天镇县| 远安县| 闻喜县| 孝昌县| 昆明市| 大洼县| 平原县| 遵化市| 桂东县| 双牌县| 旺苍县| 和平县| 双桥区| 景泰县|