CLass [A としましょう] を含む TrirdParty API があります。次のような奇妙な静的ブロックがあります。
class A
{
static
{
try
{
System.loadLibrary("libraryName");
}
catch(UnsatisfiedLinkError ue)
{
System.exit(0);
}
}
//other stuff
}
System.exit()オーバーライドされたへの呼び出しを防止したいSecurityManager。SecurityManagerただし、このブロックが実行される直前をオーバーライドし、その直後にstatic元のセキュリティ マネージャーを復元したいと考えています。
を置き換える/上書きする/復元する方法を知っていますSecurityManager。
static私の問題は、ブロックがいつ呼び出されるか[基本的にクラスがロードされるとき]をどのように決定するSecurityManagerかSystem.exit()ですSecurityManager.
静的ブロックが実行されている間のみ、セキュリティ マネージャをオーバーライドすることが重要であることに注意してください。
編集:
ライセンス上の理由から、ソースを変更することはできません。