当前位置: 首页 > news >正文

南京做网站建设的公司排名wordpress条文件

南京做网站建设的公司排名,wordpress条文件,建企聘企业管理有限公司,会员卡管理系统哪里买java自动生成合同Java 7的try-with-resources语句和与该语句一起使用的AutoCloseable类型的一个不错的功能是#xff0c;静态代码分析工具可以检测到资源泄漏。 例如#xff0c;Eclipse#xff1a; 当您具有上述配置并尝试运行以下程序时#xff0c;您将收到三个警告… java自动生成合同 Java 7的try-with-resources语句和与该语句一起使用的AutoCloseable类型的一个不错的功能是静态代码分析工具可以检测到资源泄漏。 例如Eclipse 当您具有上述配置并尝试运行以下程序时您将收到三个警告 public static void main(String[] args) throws Exception {Connection c DriverManager.getConnection(jdbc:h2:~/test, sa, );Statement s c.createStatement();ResultSet r s.executeQuery(SELECT 1 1);r.next();System.out.println(r.getInt(1)); } 输出是琐碎的 2 警告在所有c s r上发出。 一种快速的解决方法不要这样做是使用Eclipse特定的SuppressWarnings参数抑制警告 SuppressWarnings(resource) public static void main(String[] args) throws Exception {... } 毕竟WeKnowWhatWeReDoing™这只是一个简单的示例对吧 错误 即使对于简单的示例至少在Java 7之后解决此问题的正确方法是使用轻松的try-with-resources语句。 public static void main(String[] args) throws Exception {try (Connection c DriverManager.getConnection(jdbc:h2:~/test, sa, );Statement s c.createStatement();ResultSet r s.executeQuery(SELECT 1 1)) {r.next();System.out.println(r.getInt(1));} } 实际上如果Eclipse可以自动修复此警告并将所有单独的语句包装在try-with-resources语句中那就太好了。 请支持此功能请求 Java 8处理了什么 在Java 8中 AutoCloseable上的约定已经非常微妙地更改或直率地更改了具体取决于您的观点。 Java 7版本 当不再需要时必须关闭的资源。 注意单词must 。 Java 8版本 在关闭之前可以保存资源例如文件或套接字句柄的对象。 当退出在资源规范头中已声明该对象的try-with-resources块时将自动调用AutoCloseable对象的close方法。 这种构造可确保及时释放避免资源耗尽异常和可能发生的错误。 API注意 即使不是所有的子类或实例都拥有可释放的资源基类也有可能并且实际上是常见的。 对于必须完全通用运行的代码或者对于已知AutoCloseable实例需要释放资源的代码建议使用try-with-resources构造。 但是当使用诸如Stream的工具同时支持基于I / O和基于非I / O的形式时使用非基于I / O的形式时通常不需要使用资源尝试块。 简而言之从Java 8开始 AutoCloseable更具暗示性表明您可能正在使用需要关闭的资源但这并非一定如此。 这类似于Iterable合同后者没有说明您只能在Iterable进行一次还是多次迭代但是它强加了foreach循环所需的合同。 我们什么时候拥有“可选的可关闭”资源 以jOOQ为例。 与JDBC不同jOOQ 查询 在jOOQ 3.7中被设置为AutoCloseable 可能表示资源也可能不表示资源这取决于您如何执行。 默认情况下它不是资源 try (Connection c DriverManager.getConnection(jdbc:h2:~/test, sa, )) {// No new resources created here:ResultQueryRecord query DSL.using(c).resultQuery(SELECT 1 1);// Resources created and closed immediatelySystem.out.println(query.fetch()); } 输出再次是 ---- | 2| ---- | 2| ---- 但是现在我们再次在query变量上出现了Eclipse警告说有一个资源需要关闭即使通过这种方式使用jOOQ我们知道事实并非如此。 上面的代码中唯一的资源是JDBC Connection 并且已正确处理。 jOOQ内部的jOOQ PreparedStatement和ResultSet已完全处理并急切地关闭了。 然后为什么要首先实现AutoCloseable jOOQ与JDBC的默认行为相反。 在JDBC中默认情况下所有工作都是延迟进行的并且必须显式关闭资源。 在jOOQ中默认情况下会急切地完成所有工作并且可以有选择地使资源保持活动状态。 例如以下代码将保持打开的PreparedStatement和ResultSet try (Connection c DriverManager.getConnection(jdbc:h2:~/test, sa, );// We keep the statement open in the ResultQueryResultQueryRecord query DSL.using(c).resultQuery(SELECT 1 1).keepStatement(true)) {// We keep the ResultSet open in the Cursortry (CursorRecord cursor query.fetchLazy()) {System.out.println(cursor.fetchOne());} } 在此版本中我们在Eclipse中不再有任何警告但是上述版本实际上是使用jOOQ API时的例外。 Java 8的Stream API也是如此。 有趣的是Eclipse在这里不发出任何警告 StreamInteger stream Arrays.asList(1, 2, 3).stream(); stream.forEach(System.out::println);结论 首先资源泄漏检测似乎是一个不错的IDE /编译器功能。 但是避免误报很难。 具体而言因为Java 8改变了合同AutoCloseable 实现者被允许执行AutoCloseable为一种方便的契约而不是作为一种资源存在必须关闭的清晰指示符。 这使IDE很难甚至不是不可能检测第三方合同非JDK API的资源泄漏而这些合同通常并不为人所知。 与静态代码分析工具一样该解决方案通常会关闭潜在的资源泄漏检测 有关更多的见解另请参见Stuart Marks的Stack Overflow答案该链接与EG关于lambda-dev的讨论相关联 翻译自: https://www.javacodegeeks.com/2015/12/subtle-autocloseable-contract-change-java-7-java-8.htmljava自动生成合同
http://www.zqtcl.cn/news/602522/

相关文章:

  • 医院网站建设企业走廊文化建设图片网站
  • 学网站建设培训机构公司网站建立费用
  • 阜宁网站制作服务商自学网站开发设计
  • 湖南建设监理工程网站设计类招聘网站
  • 门户网站建设的平台搭建长春专业网站建设推广
  • 网站建设宗旨怎么写网站建设公司外链怎么做
  • 绍兴市交通建设检测中心网站seo专业培训网络班
  • 设计国外网站有哪些玉环在哪里做网站
  • 设计网站思路如何写wordpress 修改登录
  • 网站开发php国外设计网站app吗
  • 智能响应式网站淳安县住房和城乡建设局网站
  • 招投标网站开发企业网站建设之后
  • 如何做好集团网站建设怎么做门淘宝网站
  • 医疗协助平台网站建设方案学生个人网页制作html报告
  • 专注于网站营销服务新浪云搭建wordpress
  • 免费自助建站代理鞍山招聘网最新招聘
  • 营销型类型网站有哪些类型php网站后台制作
  • 安全的网站制作公司百度app最新版本
  • 中小企业建站平台耐克网站建设策划方案
  • wordpress 后台加入链接后_网站显示是标签_不是链接wms智能仓储管理系统
  • 网站建设需要什么硬件和软件有哪些中考网络应用服务平台
  • 为什么网站权重会掉房地产开发网站建设
  • 大连seo整站优化酷播wordpress视频插件
  • 好的网页设计网站学编程要什么学历
  • 做网站公司电话福建城乡建设网站查询
  • 郑州做网站哪个公司好做二手市场类型的网站名字
  • 网站建设与维护里面的个人简历选择网站建设公司好
  • 济南浩辰网站建设公司怎么样wordpress 3.8 问题
  • 柳州正规网站制作公司网站ww正能量
  • 网站seo优化工具网站推广策略方法