在Java方法中使用大括号会降低性能吗?

sda*_*das 1 java performance block

似乎双括号初始化增加了开销.

在方法中使用大括号是否也会降低性能?

例如.

public class DoIReducePerformanceToo {

    public void aMethod() {

        {
           // Is it a bad idea to use these?
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

我看了一下Java的语法,似乎这被归类为一个块:

Block: 
    { BlockStatements }

BlockStatements: 
    { BlockStatement }

BlockStatement:
    LocalVariableDeclarationStatement
    ClassOrInterfaceDeclaration
    [Identifier :] Statement
Run Code Online (Sandbox Code Playgroud)

但我不确定语法双括号初始化的位置在哪里.

我的问题:在方法中使用块语句会降低Java中的性能吗?这些块与双支撑初始化具有相同的性质吗?

编辑:

内课即时:

ClassCreatorRest: Arguments [ClassBody]

ClassBody: 
    { { ClassBodyDeclaration } }
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 6

双支撑初始化技巧与正常范围无关.

相反,它创建了一个匿名类,它继承了初始化的类型,并在初始化块中运行代码(这是构造函数的语法糖).

这个额外的类有开销.