亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這行代碼是什么意思....new URLClassLoader(new URL[0]

這行代碼是什么意思....new URLClassLoader(new URL[0]

Cats萌萌 2023-06-08 20:25:53
上面的代碼是否檢查我們(似乎)是否有足夠的權限來運行這段代碼。我想知道 new URLClassLoader(new URL[0],getClass().getClassLoader()); 的目的是什么 如果此代碼拋出異常會發生什么,以及如果它拋出 Securityexception 如何授予權限// 快速檢查我們(似乎)是否有足夠的權限運行。        try {            JVM jvm = new JVM();            new URLClassLoader(new URL[0],getClass().getClassLoader());            } catch(SecurityException e) {            throw new InsufficientPermissionDetected(e);        }    }catch (BootFailure e) {        e.publish(context, home);    }
查看完整描述

1 回答

?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

我想知道 new URLClassLoader(new URL[0],getClass().getClassLoader()); 的目的是什么

這意味著:創建一個新的URLClassloader從空的 URL 數組加載類/資源,并將此類類加載器作為父類。

然后丟棄生成的類加載器對象。

所以我認為這只是測試是否允許應用程序創建類加載器。

班級JVM不是我認識的。我不知道那是什么。

如果這段代碼拋出異常會發生什么

除了顯而易見的事情,什么都不會發生。如果異常是 a ,SecurityException則將其包裝起來并將其作為不同的異常拋出。否則異常傳播。

該類InsufficientPermissionDetected可能是 Hudson 或 Jenkins 類。如果是這種情況,請檢查 Hudson 或 Jenkins 代碼庫的其余部分,看看它是如何處理異常的。

[我如何] 如果拋出則授予權限SecurityException

這取決于代碼在什么平臺上執行。

  • 如果您在非沙盒 Java JVM 上運行,您應該已經擁有權限……可以執行所有操作。

  • 如果您在沙盒 Java JVM 上運行,則必須由沙盒機制授予權限。例如,對于受信任的 JAR 文件:

    • JAR 必須使用用戶/用戶的 JVM 信任的 CERT 進行簽名。

    • JAR 文件中的代碼隨后被允許根據生效的策略文件訪問受控 API。

  • 如果您在 Android 上運行……不確定。


查看完整回答
反對 回復 2023-06-08
  • 1 回答
  • 0 關注
  • 166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號