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

网站建设 招标公告官方网站下载12306

网站建设 招标公告,官方网站下载12306,谷歌怎么投放广告,扬州网站建设网站jdk8 npe我的2019年3月博客文章“ Java会出现更好的默认NullPointerException消息吗#xff1f; ”的撰写是为了获得更好的NullPointerException消息的JEP 草案尚未针对特定的JDK版本。 此后#xff0c;该JEP草案成为JEP 14的 目标 JEP 358#xff08;“ Helpful NullPointe… jdk8 npe 我的2019年3月博客文章“ Java会出现更好的默认NullPointerException消息吗 ”的撰写是为了获得更好的NullPointerException消息的JEP 草案尚未针对特定的JDK版本。 此后该JEP草案成为JEP 14的 目标 JEP 358“ Helpful NullPointerExceptions” 。 更好的是初始实现 JDK-8218628 已经在JDK 14分支中 并且可以在JDK 14 Early Access Builds Build 202019/10/23中使用 。 在本文中我将针对JDK 14 Early Access Build 20运行先前文章中介绍的示例代码 以演示现在提供的其他详细信息。 要查看为故意引入导致NullPointerException的各种情况而编写的示例代码请参阅前面的文章或查看GitHub上的源代码 。 下载JDK 14 Early Access Build 20并按其路径指向该文件后运行java -version时会看到以下内容 openjdk version 14-ea 2020 - 03 - 17 OpenJDK Runtime Environment (build 14 -ea 20 - 879 ) OpenJDK 64 -Bit Server VM (build 14 -ea 20 - 879 , mixed mode, sharing) 正确配置了JDK 14 Early Access Build 20之后 我重新构建了前面提到的源代码 然后使用Java启动器重新运行了该代码而没有任何新选项。 该输出如下所示与先前JDK版本的输出没有实质性差异。 | # | # 1 : Element [ null boolean array | ] on : Element [ 0 ] on java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateFirstExampleIndexAccessOnNullBooleanArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 2 : .length on null boolean [] | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateSecondExampleLengthOnNullBooleanArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 3 : Assigning float : Assigning to null float [] | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateThirdExampleAssigningValueToElementOfNullFloatArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 4 : Accessing field on null object | : Accessing field on object | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateFourthExampleAccessInstanceFieldOfNullObject(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 5 : throw null ; | ; | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateFifthExampleThrowingConstantNull(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 6 : Method invocation on null instance field | : Method invocation on java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateSixthExampleMethodInvocationOnNullInstanceField(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 7 : () on null instance field | () on synchronized () on instance field | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateSeventhExampleSynchronizedNullInstanceField(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Long Series of Method Invocations in Single Statement | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateNullLostInSeriesOfMethodInvocationsInSingleStatement(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Dereferenced Constructor Arguments | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateNullLostInConstructorAcceptingMultiplePotentiallyNullArgumentsDereferenced(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Dereferenced Method Arguments | java.lang.NullPointerException at dustin.examples.npe.NpeDemo.demonstrateNullLostInMethodAcceptingMultiplePotentiallyNullArgumentsDereferenced(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) 如以上输出所示即使使用新的JDK 14 Early Access Build 20当我正常运行应用程序时也看不到有关NullPointerException的任何新的详细信息。 我包含了此输出以表明需要一个特殊的标志来启用更详细的NullPointerException 并使比较不带额外细节的输出更加方便。 下一个输出清单显示了将Java启动器传递给标志-XX:ShowCodeDetailsInExceptionMessages时提供的其他详细信息 | # | # 1 : Element [ null boolean array | ] on : Element [ 0 ] on java.lang.NullPointerException: Cannot load from byte / boolean array because java.lang.NullPointerException: Cannot load from array because local1 is null at dustin.examples.npe.NpeDemo.demonstrateFirstExampleIndexAccessOnNullBooleanArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 2 : .length on null boolean [] | java.lang.NullPointerException: Cannot read the array length because local1 is null at dustin.examples.npe.NpeDemo.demonstrateSecondExampleLengthOnNullBooleanArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 3 : Assigning float : Assigning to null float [] | java.lang.NullPointerException: Cannot store to array because local1 is null array because java.lang.NullPointerException: Cannot store to float array because at dustin.examples.npe.NpeDemo.demonstrateThirdExampleAssigningValueToElementOfNullFloatArray(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 4 : Accessing field on null object | : Accessing field on object | java.lang.NullPointerException: Cannot read field nullInstanceField because local1 is null at dustin.examples.npe.NpeDemo.demonstrateFourthExampleAccessInstanceFieldOfNullObject(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 5 : throw null ; | ; | java.lang.NullPointerException: Cannot throw exception because null is null at dustin.examples.npe.NpeDemo.demonstrateFifthExampleThrowingConstantNull(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 6 : Method invocation on null instance field | : Method invocation on java.lang.NullPointerException: Cannot invoke String.isEmpty() because this.nullInstanceField is null at dustin.examples.npe.NpeDemo.demonstrateSixthExampleMethodInvocationOnNullInstanceField(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | # | # 7 : () on null instance field | () on synchronized () on instance field | java.lang.NullPointerException: Cannot enter synchronized block because this.nullInstanceField is null at dustin.examples.npe.NpeDemo.demonstrateSeventhExampleSynchronizedNullInstanceField(Unknown Source) at dustin.examples.npe.NpeDemo.demonstrateJdk8218628Examples(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Long Series of Method Invocations in Single Statement | java.lang.NullPointerException: Cannot invoke dustin.examples.npe.DysfunctionalLocation$Province.getCity() because the return value of dustin.examples.npe.DysfunctionalLocation$Nation.getProvince() is null at dustin.examples.npe.NpeDemo.demonstrateNullLostInSeriesOfMethodInvocationsInSingleStatement(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Dereferenced Constructor Arguments | java.lang.NullPointerException: Cannot invoke java.lang.Long.longValue() because local6 is null at dustin.examples.npe.NpeDemo.demonstrateNullLostInConstructorAcceptingMultiplePotentiallyNullArgumentsDereferenced(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) | Null Lost in Dereferenced Method Arguments | java.lang.NullPointerException: Cannot invoke java.lang.Long.longValue() because local6 is null at dustin.examples.npe.NpeDemo.demonstrateNullLostInMethodAcceptingMultiplePotentiallyNullArgumentsDereferenced(Unknown Source) at dustin.examples.npe.NpeDemo.main(Unknown Source) JEP 358解释了如何使用此标志查看其他NullPointerException详细信息“可以使用新的boolean命令行选项-XX { | - } ShowCodeDetailsInExceptionMessages -XX { | - } ShowCodeDetailsInExceptionMessages 。 该选项将首先具有默认值 false 以便不打印消息。 它旨在在以后的版本中默认情况下在异常消息中启用代码详细信息。” 如我们所见此功能默认情况下最初处于关闭状态但是有计划在将来启用更详细的NullPointerException消息。 最近的一条Tweet提出了一个问题“如果字节码不包含变量名它将如何工作” 这个问题通过提供一个具体的例子来继续“假设我们有像Object a ....; a.getName(); //NPE这样的代码Object a ....; a.getName(); //NPE Object a ....; a.getName(); //NPE Object a ....; a.getName(); //NPE NPE会Object a ....; a.getName(); //NPE哪种消息” 尽管前面显示的一系列测试中都包含了一个示例但我认为我会在此处针对该问题提供更集中的示例。 下一个代码清单也在GitHub上提供 显示了改编自Tweet中使用的示例的代码。 package dustin.examples.npe; /** * Simple demonstration to answer Tweet-ed question * How it will work if bytecode doesnt contain variable names? * ( https://twitter.com/2doublewhiskey/status/1180365953240055809 ). */ public class TwoDoubleWhiskeyTweetExample { public static void main( final String[] arguments) { final Person person null ; person.getName(); //NPE }    public static class Person { private String name; public Person( final String newName) { name newName; } public String getName() { return name; } } } 下一个屏幕快照显示了使用JDK 14 Early Access Build 20不带java启动器标志-XX:ShowCodeDetailsInExceptionMessages运行此简单应用程序的结果。 如屏幕快照所示在JDK 14 Early Access Build 20中使用-XX:ShowCodeDetailsInExceptionMessages标志可提供与此简单NullPointerException示例相关的其他详细信息“无法调用” dustin.examples.npe.TwoDoubleWhiskeyTweetExample $ Person.getName ”因为“ local1 ”为空” GitHub上提供了一个更简单甚至更接近Tweet-ed问题中提供的原始示例的示例。 JEP 358 “ 有用的NullPointerExceptions ”可能不像新JDK版本中的其他一些JEP那样浮华但最终可能是每天为Java开发人员提供的价值要比其一些浮华的同行更高。 有许多示例将对您有所帮助JEP本身以及本文引用的我的代码示例中都阐明了许多示例情况。 翻译自: https://www.javacodegeeks.com/2019/10/better-npe-messages-in-jdk-14.htmljdk8 npe
http://www.zqtcl.cn/news/770703/

相关文章:

  • 吉林省建设安全信息网站网站服务器和空间有什么区别
  • 百度制作网站怎么去掉2345网址导航
  • 深圳网站建设有限公司 2019哪些建材网站可以做宣传
  • 西安阿里云网站建设一建报名资格条件
  • 聊城网站优化wordpress循环该分类子分类
  • 帮网站做关键词排名优化创造网站需要多少钱
  • 广西网站建设推荐wordpress 宣布停止
  • 专注网站制作青岛景观设计公司排名
  • 安庆做网站网站代理建设网站观澜
  • 网站开发需求收集 模板cms做门户网站
  • dw网站首页的导航怎么做有大佬给个网址吗
  • 一个网站怎么做聚合洛可可设计公司贾伟
  • 什么是优化型网站网页设计作业在线网站首页
  • 关于网站建设广告词英文案例网站
  • 有哪些可以做策划方案的网站国家域名
  • vk网站做婚介做seo排名好的网站
  • 广州企业网站建设公司苏州建网站提
  • html如何做购物网站天元建设集团有限公司法人代表
  • 教育培训机构排名seo是搜索引擎营销
  • 做奢侈品网站有哪些沧州手机建站哪家好
  • 德州网站网站建设广西房管局官网
  • 白石桥做网站公司seo顾问服务四川
  • 网站建设注册哪类商标十大网页设计公司
  • 网站建设的源代码有什么作用金华网站建设优化技术
  • 个人网站申请做瞹瞹嗳视频网站在线观看
  • 做网站 融资玉石网站建设的定位
  • 自己做的网站字体变成方框seo同行网站
  • 宁波网站建设培训微信小程序开发平台官网
  • 西部数码做的网站打不开哈尔滨模板建站推荐
  • 外贸网站建设流程杭州软件定制开发