在C中,我们有两种方式构建项目:Debug和Release,我想知道Java是否有同样的事情。我正在使用IntelliJIDEA作为JavaIDE,到目前为止,我还没有看到在VSIDE中配置构建模式。 解答:javac gGeneratealldebugginginfo g:noneGeneratenodebugginginfo g:{lines,vars,source}Generateonlysomedebugginginfo 您可以选择在已编译的类中包含调试符号(这是默认值)或不这样做。没有这样做没有太多的好处。jar文件会稍微小一些,但性能优势是最小的(如果有的话)。没有这些符号,您不再在堆栈跟踪中获取行号。您还可以选择使用本地变量名称添加额外的符号(默认情况下只包含源文件名和行号)。 java ea〔:。。。:〕 enableassertions〔:。。。:〕 enableassertions 您还可以在运行时启用断言(默认为关闭),这在开发和测试期间有时是有用的。这确实有一个性能影响(如果该代码确实使用了断言,我认为是不常见的)。 无论任何这些设置,JVM总是允许您附加调试器。 什么Java没有的是条件编译,其中将根据一些外部设置编译完全不同的代码。最接近的是publicstaticfinalbooleanDEBUGBUILD在你的代码的某处,并在if语句中使用它。这实际上会使编译器排除变得无法访问的代码,但是您必须在源代码中设置此常量。