当前位置: 首页 > 面试题库 >

Java中的“ using”关键字

江坚成
2023-03-14
问题内容

Java是否具有在休眠状态下打开会话时可以使用的using语句?

在C#中,它类似于:

using (var session = new Session())
{


}

因此,对象超出范围并自动关闭。


问题答案:

Java 7引入了自动资源块管理,该功能将该功能引入了Java平台。Java的早期版本没有任何相似之处using

例如,您可以使用java.lang.AutoCloseable通过以下方式实现的任何变量:

try(ClassImplementingAutoCloseable obj = new ClassImplementingAutoCloseable())
{
    ...
}

java.io.Closeable由流实现的Java
接口自动扩展AutoCloseable,因此您可以try像在C#using块中使用流一样使用块中的流。这等效于C#的using

从5.0版开始,Hibernate
Sessions实现AutoCloseable
并可以在ARM块中自动关闭。在以前的Hibernate
Session中没有实现AutoCloseable。因此,您需要使用Hibernate>
= 5.0才能使用此功能。



 类似资料:
  • C++中的“using”关键字背后的逻辑是什么? 它在不同的情况下使用,我试图找到是否所有这些都有共同点,有一个原因为什么“using”关键字被这样使用。

  • 问题内容: 我知道编程的含义以及何时使用它。Java中有关键字吗?我试图找到一个关键字列表,但只有而没有。 问题答案: foreach不是Java关键字(IDE可以识别它并将“ For- each ”循环放入)。

  • 问题内容: 我对此感到困惑。我们大多数人都被告知Java中没有goto语句。 但是我发现它是Java中的关键字之一。在哪里可以使用?如果不能使用它,为什么将它作为关键字包含在Java中? 问题答案: 在Java的关键字列表指定的关键字,但它被标记为“未使用”。 它在原始JVM中(请参阅@VitaliiFedorenko的答案),但随后将其删除。万一将其添加到Java的更高版本中,它可能被保留为保留

  • 本文向大家介绍Java中的volatile关键字,包括了Java中的volatile关键字的使用技巧和注意事项,需要的朋友参考一下 volatile修饰符用于让JVM知道访问该变量的线程必须始终将其自身的变量私有副本与内存中的主副本合并。 访问易失性变量将同步所有在主存储器中缓存的变量副本。可变变量只能应用于对象类型或私有类型的实例变量。易失性对象引用可以为null。 示例

  • 我对java中的super关键字有一个问题。请遵循以下示例: 我的观点是,当我在子类中使用Super()时,java如何知道在我的子类中调用哪个构造函数?因为在我的超类中,我有两个没有参数的构造函数;公共双getRadius()和公共双getArea()

  • 问题内容: Java 9最大的功能之一是Project Jigsaw定义的模块系统。当从JavaOne 2015 的Project Jigsaw:The Hood 中读取幻灯片时,我注意到以下源代码: 对我而言,有趣的是文件结尾,并且似乎使用了两个新关键字:和。Java 9将引入哪些其他关键字?向后兼容性(即名为的函数或变量)将如何处理? 问题答案: Java SE 9 Edition Java语