<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 知識大全 > 知識百科 > 百科知識 > 什么是反射機制反射機制的安全性

        什么是反射機制反射機制的安全性

        時間: 謝君787 分享

        什么是反射機制反射機制的安全性

          反射機制主要是指程序可以訪問、檢測和修改它本身狀態或行為的一種能力。那么你對反射機制了解多少呢?以下是由學習啦小編整理關于什么是反射機制的內容,希望大家喜歡!

          反射機制的概念

          在計算機科學領域,反射是指一類應用,它們能夠自描述和自控制。也就是說,這類應用通過采用某種機制來實現對自己行為的描述(self-representation)和監測(examination),并能根據自身行為的狀態和結果,調整或修改應用所描述行為的狀態和相關的語義。

          反射機制也被應用到了視窗系統、操作系統和文件系統中。 反射本身并不是一個新概念,它可能會使我們聯想到光學中的反射概念,盡管計算機科學賦予了反射概念新的含義,但是,從現象上來說,它們確實有某些相通之處,這些有助于我們的理解。同一般的反射概念相比,計算機科學領域的反射不單單指反射本身,還包括對反射結果所采取的措施。所有采用反射機制的系統(即反射系統)都希望使系統的實現更開放。可以說,實現了反射機制的系統都具有開放性,但具有開放性的系統并不一定采用了反射機制,開放性是反射系統的必要條件。一般來說,反射系統除了滿足開放性條件外還必須滿足原因連接(Causally-connected)。所謂原因連接是指對反射系統自描述的改變能夠立即反映到系統底層的實際狀態和行為上的情況,反之亦然。開放性和原因連接是反射系統的兩大基本要素。

          Java中,反射是一種強大的工具。它使您能夠創建靈活的代碼,這些代碼可以在運行時裝配,無需在組件之間進行源代表鏈接。反射允許我們在編寫與執行時,使我們的程序代碼能夠接入裝載到JVM中的類的內部信息,而不是源代碼中選定的類協作的代碼。這使反射成為構建靈活的應用的主要工具。但需注意的是:如果使用不當,反射的成本很高。

          反射機制的安全性

          在處理反射時安全性是一個較復雜的問題。反射經常由框架型代碼使用,由于這一點,我們可能希望框架能夠全面接入代碼,無需考慮常規的接入限制。但是,在其它情況下,不受控制的接入會帶來嚴重的安全性風險,例如當代碼在不值得信任的代碼共享的環境中運行時。

          由于這些互相矛盾的需求,Java編程語言定義一種多級別方法來處理反射的安全性。基本模式是對反射實施與應用于源代碼接入相同的限制:

          n 從任意位置到類公共組件的接入

          n 類自身外部無任何到私有組件的接入

          n 受保護和打包(缺省接入)組件的有限接入

          不過至少有些時候,圍繞這些限制還有一種簡單的方法。我們可以在我們所寫的類中,擴展一個普通的基本類java.lang.reflect.AccessibleObject 類。這個類定義了一種setAccessible方法,使我們能夠啟動或關閉對這些類中其中一個類的實例的接入檢測。唯一的問題在于如果使用了安全性管理器,它將檢測正在關閉接入檢測的代碼是否許可了這樣做。如果未許可,安全性管理器拋出一個例外。

          下面是一段程序,在TwoString 類的一個實例上使用反射來顯示安全性正在運行:

          public class ReflectSecurity {

          public static void main(String[] args) {

          try {

          TwoString ts = new TwoString("a", "b");

          Field field = clas.getDeclaredField("m_s1");

          //field.setAccessible(true);

          System.out.println("Retrieved value is " +field.get(inst));

          } catch (Exception ex) {

          ex.printStackTrace(System.out);

          } } }

          如果我們編譯這一程序時,不使用任何特定參數直接從命令行運行,它將在field .get(inst)調用中拋出一個IllegalAccessException異常。如果我們不注釋field.setAccessible(true)代碼行,那么重新編譯并重新運行該代碼,它將編譯成功。最后,如果我們在命令行添加了JVM參數-Djava.security.manager以實現安全性管理器,它仍然將不能通過編譯,除非我們定義了ReflectSecurity類的許可權限。
        看過“反射機制的安全性”的人還看了:

        1.java 反射調用set方法

        2.社會拒絕的生理反應及理論解釋探討論文

        3.早泄病的原因

        4.高中生物基礎知識手冊

        5.29歲右耳耳鳴怎么回事

        6.淺議激光的生物學效應及生物物理機理探討

        1595936 主站蜘蛛池模板: 中文字幕国产精品av| 老妇xxxxx性开放| 脱了老师内裤猛烈进入的软件 | 久久综合国产色美利坚| 亚洲最大的熟女水蜜桃AV网站| 人妻少妇太爽了嫩草影院| 亚洲av成人一区在线| 久久人人爽人人爽人人片dvd| 一区二区三区国产综合在线| 热久久美女精品天天吊色| 国产精品线在线精品| 国产初高中生粉嫩无套第一次| 无码精品人妻一区二区三区中| 亚洲成在人线AV品善网好看| 久久caoporn国产免费| 巨爆乳中文字幕爆乳区| 日韩av一区免费播放| 伊人久久大香线蕉AV网禁呦| 精品久久久久久无码人妻VR| 精品国内自产拍在线观看| 自拍偷在线精品自拍偷免费| 性欧美VIDEOFREE高清大喷水| 特级精品毛片免费观看| 中文字幕日韩国产精品| 蜜臀精品无码av在线播放| 97国产一区二区精品久久呦| 亚洲成女人图区一区二区| 一区二区三区四区国产综合| 国产资源精品中文字幕| 日本变态网址中国字幕| 综合激情亚洲丁香社区| 在线观看无码av免费不卡网站| 中文字幕人妻无码一夲道| 国产精品无码AⅤ在线观看播放| 亚洲一区二区三区啪啪| 亚洲经典千人经典日产| 一区二区三区四区黄色片| 国产成人无码综合亚洲日韩不卡| 国产人妻高清国产拍精品| 2021av在线| 蜜桃av亚洲精品一区二区|