PHP中文网2017-04-17 17:46:59
問題の説明はあまり明確ではありません
しかし、クラスのロードについて簡単に説明できます
a.ブートストラップ クラスローダー/スタートアップ クラス ローダー
主にコア API または -Xbootclasspath オプションを担当しますjdk_home/lib ディレクトリ 指定された jar パッケージがインポートされます。
b.Extension ClassLoader/Extension Class Loader
は、主に jdk_home/lib/ext ディレクトリ内の jar パッケージ、または指定されたディレクトリ内の jar パッケージを担当します。 Djava.ext.dirs
c.System ClassLoader/システム クラス ローダー
は主に、java -classpath/-Djava.class.path.
d が指すディレクトリにクラスと jar パッケージをインポートする役割を果たします。ユーザーカスタム ClassLoader/ユーザー定義 クラスローダー (java.lang.ClassLoader のサブクラス) を定義します
プログラムの実行中、クラスファイルは java.lang.ClassLoader のサブクラスを通じて動的にロードされ、動的実数を反映します。 -time java
高洛峰2017-04-17 17:46:59
Tomcat は WebappClassLoader を使用してアプリをロードしますが、server.xml がこのインターフェイスを開いているのがわかりません。これを置き換える場合は、Tomcat のソース コードを変更する必要があります。
より良い解決策があります。Java エージェントを使用してクラスを動的に置き換え、クラスを暗号化および復号化できるようにします。