java - Javac 调试打开和关闭之间是否存在性能差异?

标签 java performance debugging javac

如果我打开使用 Javac 生成调试信息,那么类文件会大 20-25%。这对运行 Java 程序有任何性能影响吗?如果是,在哪些条件和多少条件下。我预计对加载类有一点影响,因为文件更大,但这应该是最小的。

最佳答案

在任何语言中,调试信息都是元信息。它本质上会增加目标文件的大小,从而增加加载时间。在调试器外部执行期间,此信息实际上被完全忽略。正如 JVM spec 中概述的(虽然不是很清楚)调试信息存储在字节码流之外。这意味着在执行时类文件没有区别。如果您想确定,请尝试一下:-)。

附言。通常对于调试来说,关闭优化是有值(value)的。这确实会对性能产生影响。

关于java - Javac 调试打开和关闭之间是否存在性能差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/218033/

相关文章:

Java:无限循环使用 Scanner in.hasNextInt()

java - 如何在 Scala 中从 JSON 解析通用类参数?

java - autocompletetextview 设置选择不起作用

java - 对 Java8 Stream 性能感到困惑

debugging - 如何调试/记录 Tomcat JDBC 连接池的连接?

java - 在c#中将字符串转换为字节数组,在java中将字节数组转换为字符串

JavaScript 性能预热

.net - Node.js 与 .Net 性能

debugging - 如何使用 STL IO 将文本输入 Visual Studio 输出窗口?

javascript - ie9中的黄色警告图标在哪里