额外的代码块 - 范围 - 减慢执行速度?

D. *_*aro -2 java scope

每当我评论我的代码时 - 我都喜欢有好评和大评论.有时需要嵌套大评论,我通常会添加额外的缩进.但是,如果我能够使用额外的代码块{}来使缩进更符合逻辑,那将会更加清晰.

我们有一个简单的例子:

// ?????????????????????
// ? COMMENT           ?
// ?????????????????????
{
    // Code in here
}
// ?????????????????????
// ? ;                 ?
// ?????????????????????
Run Code Online (Sandbox Code Playgroud)

请问{}在这个例子中放慢Java程序的速度以任何方式或将他们由编译器被自动删除?肯定{}是一个范围本身,Java会想要保持这个,对吗?

Pet*_*rey 5

如果您的方法很复杂且难以一次性理解,请尝试从大方法中提取一个或多个方法.注意:方法调用不是免费的,但是较小的方法往往会被内联,因此即使代码中的方法调用,您也可以获得同样快速的代码.

肯定{}本身就是一个范围,Java会想要保持这个,对吗?

字节代码可以有帧信息但很少有.通常无法从字节代码中了解您是否使用了额外的代码{ x(); }(x)代码.

这些框架可能会或可能不会与实际生成的机器代码产生不同,但如果它们不存在,则它们没有区别.

大多数时候,最重要的是清晰度,当你测量出有问题时,你应该担心性能.您唯一需要担心的是时间复杂性很重要,使用时间复杂度较低的策略.

需要根据自包含方法检查四种不同的放置方向.

在那种情况下,我会有一个循环

enum Direction {
    NORTH(0, +1), SOUTH(0, -1), EAST(+1, 0), WEST(-1, 0);

    final int x, y;

    Direction(int x, int y) { this.x = x; this.y = y; }
}

for (Direction dir : Direction.values()) {
    // do something with each direction.
}
Run Code Online (Sandbox Code Playgroud)

您可以存储Direction.values()在私有常量中以节省一些垃圾/分配.