OpenJDKの「fastdebug」ビルドモードとは何ですか?それはどのように「解放」とは異なるのですか?

leventov:

OpenJDKの「fastdebug」と「解放」のビルドの違いは何ですか?アプリケーションは、より遅い「fastdebug」の「リリース」に比べて大幅に実行できますか?

私は、「fastdebugは」何とか「良い」であることを聞いた、と「fastdebug」を探している人から、インターネット上のメッセージをたくさん見つけることができる様々なOpenJDKのバージョンのビルドと様々なプラットフォームのための、またはそれらを手動でビルドを準備する方法について説明しますしかし、トラブルの発見を持つことはどこでも「fastdebug」何をするかの明確な説明は、本質的に意味します。

アレクセイShipilev:

定義を参照してくださいここに

###############################################################################
# Set the debug level
#    release: no debug information, all optimizations, no asserts.
#    optimized: no debug information, all optimizations, no asserts, HotSpot target is 'optimized'.
#    fastdebug: debug information (-g), all optimizations, all asserts
#    slowdebug: debug information (-g), no optimizations, all asserts
AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],

それが道に沿って多くのことを主張なるのではい、fastdebugはと、リリースよりも遅く実行されますすることができます。頻繁fastdebugに有意義主張する、リリースビルドでひそか失敗したものを:ユーザがJVMのバグを疑ったときにfastdebugビルドを求める理由ですアサート有効。また、デバッグシンボルを持つことが発送するのでfastdebugは、より良いデバッグを可能にし、それがリリースビルドで設定可能ではありませんJVMフラグを「開発」へのアクセス権を持っています。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=165673&siteId=1