通州北大青鳥學校詳解Java裝載器(下)

      在前一篇文章中,北大青鳥北京通州校區(qū)技術老師介紹了類裝載器的知識,例如:每一個類被裝載的時候,Java虛擬機都監(jiān)視這個類,看到它到底是被啟動類裝載器還是被用戶定義類裝載器裝載。當被裝載的類引用了另外一個類時,虛擬機就會使用裝載第一個類的類裝載器裝載引用的類。

      正是由于Java虛擬機采取這種方式進行類的裝載,所以被裝載的類默認情況下只能看到被同一個類裝載器裝載的別的類。通過這種方法,Java的體系結構允許在一個Java應用程序中建立多個命名空間。運行時的Java程序中的每一個類裝載器都有自己的命名空間。

      北大青鳥北京通州校區(qū)技術老師介紹,Java應用程序可以創(chuàng)建多少個(或多少種)被不同的類裝載器裝載的類存放在不同的命名空間中,它們不能相互訪問,除非應用程序顯示地允許這么做。當編寫一個Java應用程序的時候,從不同源文件裝載的類可以分隔在不同的命名空間中。通過這種方法,就能夠使用Java類裝載器的體系結構來控制任何不同源文件中裝載的代碼之間的相互影響,特別是能夠阻止惡意代碼獲取訪問或破壞善意代碼的權限。

      Web瀏覽器是一個動態(tài)擴展的例子,Web瀏覽器使用用戶定義的類裝載器從網(wǎng)絡下載用于Java applet的class文件。Web瀏覽器使用一個用來安裝用戶定義類裝載器的Java應用程序。這個用戶定義的類裝載器通常被稱為Java Applet類裝載器,它知道如何向HTTP服務器請求class文件。Java Applet可以作為動態(tài)擴展的例子,因為Java應用程序并不知道它什么時候會開始從網(wǎng)絡下載瀏覽器請求的class文件。只有當瀏覽器遇到有Java applet的頁面時,才決定是否需要下載class文件。

      Web瀏覽器啟動的Java應用程序通常為每個提供class文件的網(wǎng)絡地址分別創(chuàng)建不同的用戶定義類裝載器,因此,不同的用戶定義類裝載器裝載不同來源的class文件。這就可以把它們分別放置在Java主機應用程序的不同命名空間之下。由于不同來源的Java applet文件放置在不同的命名空間中,惡意的Java applet代碼就不會直接訪問從別的地方下載的class文件。這就能夠限制或阻止不同來源的代碼之間的相互訪問。北大青鳥北京通州校區(qū)學術部提供。

       

      北大青鳥網(wǎng)上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 中文字幕日韩精品一区二区三区 | 精品视频一区二区三三区四区| 免费一区二区三区在线视频| 无码av中文一区二区三区桃花岛| 在线播放偷拍一区精品| 亚洲午夜一区二区电影院| 国产精品成人免费一区二区| 99国产精品一区二区| 日韩免费一区二区三区在线| 在线免费视频一区| 亚洲一区二区电影| 国产在线一区二区杨幂| 国产精品视频分类一区| 亚洲天堂一区二区三区| 亲子乱AV视频一区二区| 国产色精品vr一区区三区 | 精品福利一区二区三区精品国产第一国产综合精品| 国产麻豆精品一区二区三区| 无码欧精品亚洲日韩一区| 亚洲福利视频一区二区| 国产拳头交一区二区| 亚洲一区精品视频在线| 午夜福利一区二区三区高清视频| 香蕉久久AⅤ一区二区三区| 老熟妇高潮一区二区三区| 久久精品一区二区三区日韩| 日韩精品人妻一区二区中文八零| 波多野结衣在线观看一区二区三区| 亚洲av无码一区二区三区人妖| 亚洲福利视频一区| 无码国产精品一区二区免费式直播| 综合久久一区二区三区| 91在线一区二区三区| 亚洲色偷偷偷网站色偷一区| 国产无线乱码一区二三区| 农村人乱弄一区二区 | 夜夜添无码试看一区二区三区| 日本精品无码一区二区三区久久久 | 国产福利91精品一区二区 | 国产福利电影一区二区三区,亚洲国模精品一区 | 日韩视频一区二区|