编译调试信息的Java程序是否应该不用于生产系统?

Jam*_*hon 11 java compiler-construction debugging javac

有什么理由我应该避免在我的Java类中使用Javac编译调试信息以用于生产服务器吗?我应该注意哪些速度或安全问题?

请注意,我指的是调试信息,如堆栈跟踪中的行号,而不是记录器的调试级别.


相关问题:

小智 8

你的意思是使用调试选项进行编译吗? Javac调试开启和关闭是否有性能差异?


Tho*_*sen 5

作为一名开发人员,我会建议尽可能多地离开.理由?

有一天,你会在你的程序中遇到一个错误,你所拥有的唯一信息是堆栈跟踪,并且无法通过命令重现错误,原始程序员完全没有预料到这一点,修复它是你的工作.在该堆栈中可用的信息越多越好!保留所有调试信息!

如果可以,则使用日志框架(以获取到文件的堆栈跟踪),该框架可以提供有关找到每个类的jar文件的信息.Logback可以做到这一点,我相信log4j也可以.

您可能不被允许包含所有这些信息,但我相信您应该首先大叫并尖叫并说它应该由于应急原因而留下.

Performancewise我相信,因为HotSpot它并不重要.