讀Core Java 第九章

讀Core Java 第九章

一、安全

1、簡介
(1)類加載器
(2)字節碼校驗
(3)安全管理器與訪問權限
(4)數字簽名
(5)代碼簽名
(6)加密

2、三種確保安全的機制
(1)語言設計特性:如對數組的邊界進行檢查,只進行合法的類型轉換,無指針算法等
(2)訪問控制機制:用於控制代碼能夠執行的功能,比如文件訪問,網絡訪問等
(3)代碼簽名:利用該特性,用標準的加密算法來標明java代碼的身份

二、類加載器

1、虛擬機
(1)Java編譯器能夠將源程序轉化成假想機器的機器語言,這種機器稱爲虛擬機
(2)虛擬機代碼存儲在以.class爲擴展名的類文件中
(3)類文件由一個解釋器進行解釋,該解釋器能夠將虛擬機的指令集翻譯成目標機器的機器語言

2、虛擬機執行流程
(1)加載文件
(2)加載類文件中另一個類的類文件(類的解析:加載某個類所依賴的所有類的過程)
(3)執行main方法
(4)如果main方法或main方法中調用了更多的類,加載類

3、類加載器
(1)引導類加載器
負責加載系統類(通常從JAR文件rt.jar中進行加載),是虛擬機整體中的一部分,引導類加載器沒有對應的ClassLoader對象,如String.class.getClassLoader()將返回null
(2)擴展類加載器用於從jre/lib/ext目錄加載“標準的擴展”,可以將JAR文件放入該目錄
(3)系統類加載器用於加載應用類,在由CLASSPATH環境變量或者-classpath命令行選項設置的類路徑中的目錄或者是JAR/ZIP文件裏查找這些類

三、安全管理器與訪問權限

1、安全管理器
(1)安全管理器是一個負責控制某個操作是否允許執行的類
(2)安全管理器負責檢查的操作

當前線程是否能夠創建一個新的類加載器
當前線程是否能夠中止虛擬機的運行
某個類是否能夠訪問另一個類的成員
當前線程是否能夠訪問本地文件
當前線程是否能夠打開到達外部主機的socket連接
某個類是否能夠啓動打印作業
某個類是否能夠訪問系統剪貼板
某個類是否能夠訪問AWT事件隊列
當前線程是否可被信任以打開一個頂層窗口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章