javac是否优化了目标文件(* .class)?

时间:2012-02-22 17:02:37

标签: java

我正在尝试限制jar文件的更改。我在代码中引入了一个修复程序,这是一个非常小的修复程序。 Javac编译器生成新的.class文件,我计划在jar中替换 ONLY 这个单个文件(我们遇到构建问题,并且不确定当前构建是否与生成版本匹配)。

我是C ++专业版,但是java ...不是那么多。我不敢在C ++中这样做,因为优化器会从对象文件和静态库中内联很多东西。我的印象是我可以做到这一点,而不会给java带来很大的后果。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

我通常在服务器上热部署文件,这在JAVA中没有任何问题。只要您的编译器版本与其他文件相同,您就可以执行此操作。这不会是个问题。

答案 1 :(得分:1)

Java语言规范在类文件之间定义binary compatibility。一般来说,类文件往往比它们在C中更兼容,所以你可能没问题。但是,有一些问题,例如static final字段(常量), 由编译器内联。

在任何情况下,你不确定你在生产中运行的代码是什么情况,我会认为非常危险,并尝试尽快修复。