java - Java 编译器的转换

标签 java jls java-memory-model

根据 section 17.4 of JLS8编译器执行了两种 Java 代码转换:

  1. 语句重新排序
  2. 前锋换人

是否有任何其他转换可以由 Java 编译器执行?

最佳答案

是的,根据JLS还有其他转换:

[The memory model] provides a great deal of freedom for the implementor to perform a myriad of code transformations, including the reordering of actions and removal of unnecessary synchronization.

只要遵守内存模型,编译器实现就可以执行任何转换。

关于java - Java 编译器的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42426543/

相关文章:

java - 幕后的外观和构建器模式

java - 为什么抽象不适用于接口(interface)隐式方法?

java - 为什么需要在 CopyOnWriteArrayList 中调用 setArray() 方法

Java线程局部类

multithreading - 什么时候不使用 volatile?

java - 远程主机强行关闭现有连接

java - 我在ubuntu中使用maven,.java,sts eclipse和selenium ide,svn和web驱动程序

java - 在 Java 中,是可分配给已声明变量 iff 的表达式。它可以作为用相同类型声明的参数传递吗?

java - 我不断收到 java.util.InputMismatchException 错误,如何修复它?

java - 关注JLS词汇