可能重复: java中有内联函数吗?
我来自C++,在那里我会写
for (int i = 0; i < numNonZero(); ++i)知道numNonZero()非常小并且“内联”就会从编译的代码中消失。用Java怎么样?我是否应该在我的类中有一个int _numNonZero,然后写
for (int i = 0; i < _numNonZero; ++i) 为了最大的速度?
发布于 2012-07-02 15:33:31
相反,要专注于编写最易读的代码,让HotSpot虚拟机在运行时对其进行优化。
发布于 2012-07-02 15:33:56
这不重要。Java代码由java虚拟机在运行时转换为可执行代码。Hotspot或其他现代的jvm具有非常先进的内联功能。为了获得最大的性能,我建议您使用-server标志,它将执行积极的优化。
发布于 2012-07-02 15:34:40
就像其他人说的,您首先应该担心可读的代码。但是,要回答您的问题,尽管编译器javac没有内联,但热点-- JVM优化器--如果可以的话--会帮你把它插进去。
https://stackoverflow.com/questions/11296704
复制相似问题