小编Fod*_*der的帖子

为什么将varargs的方法优化为一系列单态调用,只有它是静态的?

在vJUG24,其中一个主题是JVM性能.

幻灯片可以在这里找到.

他有一个例子:

static void log(Object... args) {
    for(Object arg : args) {
        System.out.println(arg);
    }
}
Run Code Online (Sandbox Code Playgroud)

被称为通过(不能正确读取幻灯片,但它是相似的):

void doSomething() {
    log("foo", 4, new Object());
}
Run Code Online (Sandbox Code Playgroud)

他说因为它是一种静态方法,所以可以通过内联它来优化它:

void doSomething() {
    System.out.println("foo");
    System.out.println(new Integer(4).toString());
    System.out.println(new Object().toString());
}
Run Code Online (Sandbox Code Playgroud)

为什么log方法对于JVM进行此优化是静态的很重要?

java optimization jvm variadic-functions

6
推荐指数
1
解决办法
165
查看次数

标签 统计

java ×1

jvm ×1

optimization ×1

variadic-functions ×1