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

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

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

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

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

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

       

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 内射少妇一区27P| 久久精品国产一区二区三 | 精品一区二区三区免费视频| 中文字幕一区二区三区在线播放 | 一区二区三区波多野结衣| 久久综合亚洲色一区二区三区 | 岛国无码av不卡一区二区| 国产一区二区草草影院| 精品三级AV无码一区| 国产免费无码一区二区| 国产一区二区视频在线播放 | 久久久久无码国产精品一区| 亚洲乱码国产一区网址| 精品无码中出一区二区| 日本福利一区二区| 免费无码A片一区二三区| 精品欧洲av无码一区二区| 亚洲av无码一区二区三区不卡 | 精品女同一区二区三区免费站| 少妇无码AV无码一区| 久久精品国产一区二区三区不卡| 国产suv精品一区二区6| 日本丰满少妇一区二区三区| 国内精品一区二区三区最新| 亚洲欧美日韩一区二区三区在线 | 国产成人无码一区二区在线播放 | 亚洲一区二区成人| 日产精品久久久一区二区| 亚洲一区二区三区91| 伊人色综合视频一区二区三区| 日韩一区二区三区四区不卡| 久久精品日韩一区国产二区| 日韩伦理一区二区| 国产成人无码精品一区在线观看| 一区二区三区四区在线视频| 成人日韩熟女高清视频一区| 少妇无码一区二区二三区| 亚洲国产欧美国产综合一区| 国产一区二区在线|播放| 国产亚洲情侣一区二区无| 亚洲一区二区在线免费观看|