我想以调试模式发布Java应用程序,以便在客户端出现难以复现的问题时更容易进行调试。
但是我想提前了解这样做可能带来的潜在副作用。从Java HotSpot文档中得知,似乎没有性能损失。
根据该链接内容:
全速调试
Java HotSpot VM 现在使用全速调试。在 VM 的早期版本中,在启用调试时,程序仅使用解释器执行。现在,即使是编译代码,程序也可以获得 HotSpot 技术的全部性能优势。这种改进后的性能让长时间运行的程序更容易调试,同时允许测试以全速进行。一旦出现异常,调试器将使用完整的代码源进行调试。
这是否准确无误?还是存在隐藏的注意事项?内存占用情况如何?在使用调试模式时是否存在其他隐藏的陷阱?
提示:我发现这篇文章来自 AMD,证实了我最初的怀疑,即 oricale 的原始文章没有透露全部情况。