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

Java是否有using语句?

从光启
2023-03-14
问题内容

Java是否具有在hibernate状态下打开会话时可以使用的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才能使用此功能。



 类似资料:
  • 问题内容: bash中是否有“ goto”语句?我知道这被认为是不好的做法,但是我需要特别的“ goto”。 问题答案: 不,那里没有; 有关 确实 存在的控制结构的信息,请参见《 Bash参考手册 》中的第3.2.4节“复合命令” 。特别要注意的是,和的提及不如灵活,但是在Bash中比某些语言更灵活,并且可以帮助您实现所需的目标。(无论您想要什么……。) __

  • 以下示例将在将HTML String解析为Document对象后展示选择器方法的使用。 jsoup支持类似于CSS选择器的选择器。 语法 (Syntax) Document document = Jsoup.parse(html); Element sampleDiv = document.getElementById("sampleDiv"); Elements links = sampleDi

  • 问题内容: 是否存在(大致)SQL或类似XQuery的语言来查询JSON? 我想到的是非常小的数据集,可以很好地映射到JSON,可以轻松地回答诸如“ Y> 3时X的所有值是什么”之类的查询或执行常规的SUM / COUNT类型操作。 作为完整的示例,如下所示: 我认为这将在客户端和服务器端均有效,并将结果转换为适当的特定于语言的数据结构(或可能保留为JSON) 快速Google 搜寻表明人们已经考

  • 问题内容: Java中是否有Mutex对象或一种创建对象的方法?我问是因为用1许可初始化的Semaphore对象对我没有帮助。考虑这种情况: 如果在第一次获取时发生异常,则catch块中的释放将增加许可,并且该信号量不再是二进制信号量。 正确的方法是吗? 上面的代码是否可以确保信号量是二进制的? 问题答案: 看到此页面:http : //www.oracle.com/technetwork/art

  • 问题内容: 我需要为正在使用的API 指定一个,但实际上不需要输出。Java是否具有等同于? 问题答案: 从Java 11开始,有一个静态工具可以完全满足您的需要,它是一个静态工厂方法: 返回一个丢弃所有字节的新OutputStream。返回的流最初是打开的。通过调用close()方法关闭流。随后对close()的调用无效。

  • 问题内容: 我目前正在为一个项目创建REST-API,并且一直在阅读有关最佳实践的文章。许多人似乎反对DTO,只是公开域模型,而其他人似乎认为DTO(或用户模型或任何您想称呼的东西)是不好的做法。我个人认为这篇文章很有道理。 但是,我还了解了DTO的所有额外映射代码,域模型可能与其DTO对应对象100%相同的缺点等。 我们主要创建API,以便其他客户端可以使用数据,但是,如果操作正确,我们也将尽可