2017-06-16 3 views
0

私はかなり大きな署名済みのFatJar(〜150Mb)を持っています。私はそれを実行しようとしましたが、署名されていない同等のものよりもはるかに低速です。私はjdk1.8.0_131(Macの場合)を使用しています。署名されたFatJarは実行時に実際に遅いです

私はこれが正常であるかどうか、または私が物事をスピードアップするために使用できるいくつかのヒントがあるかどうかについて興味があります。

署名プロセスは、Jar全体に署名するのではなく、Jarファイル内の個々のエントリに実際に署名することに気付きました。だから私は、クラスローダがロードしようとするすべてのクラスのシグネチャを確認する必要があるために遅いと思っています。

私の質問は、この動作を変更する方法はありますか?クラスローダーに、JARが適切に署名されていることを確認してから、署名されていないJARと同じように動作させることはできますか?

そうでない場合は、独自の署名/検証メカニズムを実装します。私がそれをする前に私が何かを逃していないことを確認したいだけです。

+0

jarを実行しているJavaのバージョンはどれですか? –

+0

その情報で質問を更新しました。 jdk1.8.0_131をMacにインストールします。 – StFS

答えて

0

これはJavaのバグかもしれません。

here

が実際に検証が全体のパフォーマンスに大きな影響を持っているべきではない署名を参照してください。

したがって、JDKのバージョンを更新してください。

+0

残念ながら、これは私の場合のようには見えません。私たちはJDK 1.8(jdk1.8.0_131)を使用しています。私はそれを書き留めるために私の質問を更新します。 – StFS

関連する問題