首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java中的“内联”

Java中的“内联”
EN

Stack Overflow用户
提问于 2012-07-02 15:30:40
回答 5查看 654关注 0票数 3

可能重复: java中有内联函数吗?

我来自C++,在那里我会写

代码语言:javascript
复制
for (int i = 0; i < numNonZero(); ++i)

知道numNonZero()非常小并且“内联”就会从编译的代码中消失。用Java怎么样?我是否应该在我的类中有一个int _numNonZero,然后写

代码语言:javascript
复制
for (int i = 0; i < _numNonZero; ++i) 

为了最大的速度?

EN

回答 5

Stack Overflow用户

发布于 2012-07-02 15:33:31

相反,要专注于编写最易读的代码,让HotSpot虚拟机在运行时对其进行优化。

票数 10
EN

Stack Overflow用户

发布于 2012-07-02 15:33:56

这不重要。Java代码由java虚拟机在运行时转换为可执行代码。Hotspot或其他现代的jvm具有非常先进的内联功能。为了获得最大的性能,我建议您使用-server标志,它将执行积极的优化。

票数 7
EN

Stack Overflow用户

发布于 2012-07-02 15:34:40

就像其他人说的,您首先应该担心可读的代码。但是,要回答您的问题,尽管编译器javac没有内联,但热点-- JVM优化器--如果可以的话--会帮你把它插进去

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11296704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档