1
我只是想玩jdk。就像在java.util等的某些實用程序中更改某些算法的實現一樣。我只是嘗試複製Treemap到一個新的類,但在同一個包java.util。但是,當我嘗試使用我的複製類,我得到什麼是最簡單的方法來改變和玩jdk代碼
Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.util
at java.lang.ClassLoader.preDefineClass(Unknown Source)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at Test.main(Test.java:7)
但由於樹形圖在java.util中使用一些包訪問的東西從其他類我不能也更改包。
我jst告訴我做了什麼。但請告訴我是否有更簡單的方法來更改某些部分的jdk實現並使用修改的代碼?
剛剛添加這個,但你擊敗了我!我相信它是-Xbootclasspath。我使用了一個名爲「jdkplay」的獨立Eclipse項目,並將任何實驗JDK複製的Java文件放入其中,顯然是在正確的包中。然後在運行配置文件中使用開關:-Xbootclasspath/p:d:/ projects/jdkplay/bin。它工作的一種享受。在Swing類中添加調試/日誌記錄代碼和邏輯非常方便。 – davidfrancis
我第二次正確輸入'-Xbootclasspath/p:'...... –