如果我打开使用 Javac 生成调试信息,那么类文件会大 20-25%。这对运行 Java 程序有任何性能影响吗?如果是,在哪些条件和多少条件下。我预计对加载类有一点影响,因为文件更大,但这应该是最小的。
最佳答案
在任何语言中,调试信息都是元信息。它本质上会增加目标文件的大小,从而增加加载时间。在调试器外部执行期间,此信息实际上被完全忽略。正如 JVM spec 中概述的(虽然不是很清楚)调试信息存储在字节码流之外。这意味着在执行时类文件没有区别。如果您想确定,请尝试一下:-)。
附言。通常对于调试来说,关闭优化是有值(value)的。这确实会对性能产生影响。
关于java - Javac 调试打开和关闭之间是否存在性能差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/218033/