只是想知道与使用 log4j 记录异常(在文件中,使用生产硬盘)的成本相比,引发 java 异常(或调用 Throwable 的 native fillInStackTrace())的成本是多少...
问自己,当引发异常时,是否值得经常记录它们,即使它们并不重要......(我在高负载环境中工作)
谢谢
最佳答案
我从您的 jee6
标签中假设您正在专门讨论 Java 中的异常。
如果您有如此多的异常,以至于记录它们会导致性能问题,那么您可能应该重新考虑异常的使用。
异常应该用于异常情况。如果您频繁执行某些操作,以致日志记录成为性能问题,那么这可能不是特殊情况。
回答您的具体问题:日志记录速度会慢几个数量级。如果您知道不需要记录异常,那么您应该能够通过不记录异常来提高应用程序的性能。
关于java - 创建异常的成本与记录异常的成本相比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2586529/