【发布时间】:2018-02-08 16:50:30
【问题描述】:
我是 Java 新手,所以这可能很明显,但请考虑以下两个代码块。版本 A 使服务器永远旋转,但版本 B 旋转然后终止服务器。这里的try块的作用是什么?
版本 A:
import org.apache.ignite.Ignition;
import org.apache.ignite.Ignite;
public class Test {
public static void main(String[] args)
{
Ignite ignite = Ignition.start();
return;
}
}
B 版:
import org.apache.ignite.Ignition;
import org.apache.ignite.Ignite;
public class Test {
public static void main(String[] args)
{
try(Ignite ignite = Ignition.start())
{
return;
}
}
}
【问题讨论】:
-
为什么这不等同于
{ Ignite ignite = Ignition.start(); },因为在离开作用域时会调用资源析构函数? -
GOOGLE 说没有破坏者的想法