【发布时间】:2013-07-09 21:56:02
【问题描述】:
好像double-brace initialization increases overhead。
在方法中使用大括号是否也会降低性能?
例如。
public class DoIReducePerformanceToo {
public void aMethod() {
{
// Is it a bad idea to use these?
}
}
}
我看了一下Java的grammar,好像这被归类为块:
Block:
{ BlockStatements }
BlockStatements:
{ BlockStatement }
BlockStatement:
LocalVariableDeclarationStatement
ClassOrInterfaceDeclaration
[Identifier :] Statement
但我不确定双括号初始化在语法中的哪个位置。
我的问题:在方法中使用块语句会降低 Java 的性能吗?这些块是否与双括号初始化具有相同的性质?
编辑:
内部类实例化是:
ClassCreatorRest: Arguments [ClassBody]
ClassBody:
{ { ClassBodyDeclaration } }
【问题讨论】:
-
在语法上影响性能的不是大括号,而是它的含义。在这种情况下,这意味着创建一个新类并实例化它。在这种情况下,它没有任何意义,它将作为死代码被删除。
标签: java performance block