什么是 OpenJDK “fastdebug” 构建模式?它与“释放”有何不同?

OpenJDK“fastdebug”和“release”构建有什么区别?应用程序在“fastdebug”上的运行速度是否比在“release”上慢得多?

我听说“fastdebug”在某种程度上“很好”,并且可以在互联网上找到很多来自寻找各种 OpenJDK 版本和各种平台的“fastdebug”构建的人的消息,或者解释如何手动准备这些构建,但是无法在任何地方找到“fastdebug”本质上的明确描述。


有只小跳蛙
浏览 258回答 1
1回答

慕森卡

请参阅此处的定义:################################################################################ 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 assertsAC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_LEVEL],是的,fastdebug 可以并且将会比 release 运行得慢,因为它会在此过程中断言很多。启用断言是用户在怀疑 JVM 错误时寻求 fastdebug 构建的原因:在发布构建中神秘地失败的地方,经常在 fastdebug 中有意义地断言。此外,fastdebug 允许更好的调试,因为它通常附带调试符号,并且它可以访问在发布版本中不可设置的“开发”JVM 标志。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java