Netbeans がjava.lang.Class.getDeclaredField(String)で非常に時間がかかるのはなぜですか?
私は自分の問題を切り分け、2 つのプロジェクトを持っています。
1 つのウィンドウと 1 つのボタンを持つ 1 つのモジュールを含む Netbeans プラットフォーム プログラムを作成しました。クリックすると、プログラムが必要な機能を実行します。
その関数を呼び出すフォームを作成しました。
これで、同じ AWT スレッドから実行される 2 つのプログラムができました。主な違いは、1 つは Netbeans プラットフォーム構造の下で実行され、もう 1 つは単独で実行されることです。2 つのプログラムをプロファイリングすると、「java.lang.Class.getDeclaredField(String)」を呼び出すときに大きな問題があることがわかりました。Netbeans プログラムは 30,784 ミリ秒かかり、Swing プログラムは 2,055 ミリ秒かかります 。Netbeans には、チェックするある種のセキュリティがあるようです。誰かがリフレクションを通じてクラスにアクセスしようとしたとき。誰がそれが何であるか知っていますか?そしてそれをオフにする方法は??
ありがとうHS