有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java控制转义分析的JVM标志是否有硬限制?

我最近一直在努力理解这一点。我根据this nice answer尝试了很多JVM选项的组合。我的问题是,这些期权的价值有没有严格的限制?比如FreqInlineSizeMaxInlineLevel。当我将选项设置为一些荒谬的值时,JVM不会认真对待它,比如-XX:FreqInlineSize=65535,会吗?事实上,我试过了。但jvm没有对此抱怨。所以我真的不知道

如果有硬限制,那会是什么?我在哪里可以找到描述这些事情的文件


我一直在试图找到一种方法来强制我的Protobuf消息和构建器对象在堆栈上而不是堆上分配。有时是有效的。但当消息对象的字段数增加时,它停止工作。我在网上搜索了很多,但由于对这个问题的理解有限,几乎没有什么发现。这就是我问的原因


JVM版本: Java HotSpot(TM)64位服务器虚拟机(构建25.131-b11,混合模式)


共 (1) 个答案

  1. # 1 楼答案

    • 您提到的选项是控件内联,而不是转义分析
    • 这些值没有硬限制,或者更准确地说,限制是INT_MAX
    • 然而,在实践中,内联和其他优化受到其他限制的限制,例如NodeCountInliningCutoff(不可调)、MaxNodeLimitNodeLimitFudgeFactor
    • 除了在source code中,我怀疑你会找到很多关于这些东西的文档