java - 创建异常的成本与记录异常的成本相比

标签 java exception java-ee-6 high-load

只是想知道与使用 log4j 记录异常(在文件中,使用生产硬盘)的成本相比,引发 java 异常(或调用 Throwable 的 native fillInStackTrace())的成本是多少...

问自己,当引发异常时,是否值得经常记录它们,即使它们并不重要......(我在高负载环境中工作)

谢谢

最佳答案

我从您的 jee6 标签中假设您正在专门讨论 Java 中的异常。

如果您有如此多的异常,以至于记录它们会导致性能问题,那么您可能应该重新考虑异常的使用。

异常应该用于异常情况。如果您频繁执行某些操作,以致日志记录成为性能问题,那么这可能不是特殊情况。

回答您的具体问题:日志记录速度会慢几个数量级。如果您知道不需要记录异常,那么您应该能够通过不记录异常来提高应用程序的性能。

关于java - 创建异常的成本与记录异常的成本相比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2586529/

相关文章:

java - 为什么 session bean 方法在抛出 RuntimeException 时抛出 EjbTransactionRolledbackException

java - Java EE 6 中的 Multi-Tenancy 支持

Servlet - 是否使用构造函数?

java - Windows Tomcat 上的 JFreeChart NoClassDefFoundError

java - 如何在 JTextPane 页脚中打印总页数?

java - 将纯 java 项目作为依赖项包含在 gradle 项目中

java - 打印编码的 unicode 字符

c++ - 如何在 iOS Objective-C 中捕获 C++ 异常代码?

c# - .NET C# : HttpClient and the TaskCanceledException exception

java - 打印对象数组会出现空指针异常