我看着this post。看起来很好。然而,当HotSpot(不依赖于服务器或客户端或不是Sun版本)使代码内联时,作者或其他知晓的人会告诉我编码的技巧。在java中强制内联
回答
不要浪费你的时间在不合理的优化。编写简单的代码,使其易于维护,并让JIT负责优化。
javac
几乎从不内联任何东西(这很好)。 JVM经常这样做(这非常好)。确定何时以及如何做JIT优化的算法是火箭科学。不要试图让你的代码比这更聪明。
如果您试图获得性能,然后使用分析器。如果您想让代码更难以反转,请使用proguard之类的工具。
是的,我听说过,而且我知道。这很不错。感谢Sun开发人员。如果您长时间工作在Java平台上的各种任务中,那么您无法关心这一点。但是如果你喜欢Java,并且你对Java的典型范围感到好奇或者有一个任务,你可以试着去了解这个特性。最终,如何做到这一点? – itun
@itun:您应该问:“如何在XXX生成的JVM中执行该操作,并且具有YYY版本?”无论XXX和YYY是什么,我都不知道答案,我也没有想到必须知道。 –
我发现这个链接:https://compile-command-annotations.nicoulaj.net/
这个库允许你使用中的一个热点JVM注解联方法。
因此,将一个@Inline
注释添加到您的方法将强制内联。
这是一个热点特定功能,因为Java不允许通过该语言内联。
我能想到的唯一的其他选择是使用编译时注释和生成不同的字节码(如lombok)。
- 1. 强制Java编译器不要内联最终静态字段
- 2. CSS强制内联输入字段
- 3. 如何强制GHC内联FFI呼叫?
- 4. 强制单选按钮显示内联
- 5. 强制显示内联响应图像
- 6. Symfony的1.3:如何强制为内联)
- 7. 如何在另一个div内强制内联div
- 8. 有没有办法在c#中强制函数内联?
- 9. 当方法体在头文件中时内联被强制吗?
- 10. 在其他翻译单元中强制内联函数
- 11. 在结构中强制联合对齐
- 12. 强制子类在java中设置内部类
- 13. Kendogrid中的强制更新事件内联编辑
- 14. 强制Visual Studio 2010将CSS置于文件中不内联?
- 15. 如何强制内联GCC版本4.6.3中的功能?
- 16. 如何在内联安装后强制Chrome扩展加载
- 17. 如何在chrome android上强制打开pdf文档内联?
- 18. C++确实内联函数强制其参数被复制?
- 19. 强制first_or_initialize分配关联?
- 20. 如何强制Jcomponent出现在Java中?
- 21. 在Java中强制目标打印机
- 22. 在Java中强制输入有效
- 23. java-maven强制在JAR中包含JDBC4
- 24. 在sqlalchemy中强制使用多对多关系进行内部联接
- 25. 为什么没有标准的方式强制内联在C++中?
- 26. 在Python中强制转换与强制
- 27. 从JAVA内部强制重新加载JAVA WAR
- 28. IE强制内联样式重写我的Jquery魔法?
- 29. 强制“选择关联内容”(数据源)对话框
- 30. 如何强制保存“空”/不变的django管理内联?
您可以*添加*任何东西到您链接到的问题,以某种方式改变它的答案,但没有回答您的问题?如果*不是*,那么这只是另一个问题的重复。 –
?责任是什么?对不起,我想我完全不理解你。在我看来,你的问题需要更多细节。 – itun