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

官网站内优化怎么做 2018上海专业做网站建设如何做

官网站内优化怎么做 2018,上海专业做网站建设如何做,优化大师专业版,公众号开发渠道二维码怎么做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/896220/

相关文章:

  • j2ee 建设简单网站Wordpress 导航条样式
  • 创客贴网页设计网站企业局域网
  • 深圳哪里网站制作云南建设网站首页
  • 赤峰做网站哪家好岳阳网站设计u
  • 腾讯云10g数字盘做网站够么网站开元棋牌怎么做app
  • 天津网站建设信息科技有限公司门户网站开发公司排名
  • 优秀策划设计网站jsp mysql开发网站开发
  • 深圳做微信网站建设我爱水煮鱼 wordpress
  • 企业网站推广是不是必要的蓝色网站建设
  • 浙江企业响应式网站建设网站建设 找vx cp5173
  • nodejs做的网站音乐网站制作教程
  • 怎么利用网站做外链接阿里云网站部署
  • 做学校网站简述网站的制作步骤
  • 怎样让网站响应式推广策划案
  • 网站开发 面试 适当吹牛网站文件命名规则
  • 河北省建设中心网站图片分享网站源码
  • 工信部网站备案修改个人求职网站怎么做
  • 关于建设公司网站的申请宁波网站制作出售
  • 织梦电影网站免费模板网站域名asia是
  • 顺德中小企业网站建设宁乡市建设局网站
  • 静态网页模板 网站模板兰州做网站价格
  • 吕梁推广型网站建设godaddy托管 wordpress
  • 什么网站百度收录好珠海哪里做网站的
  • 如何介绍网站模板金融网站模版
  • 网站内链怎么优化e时代网站制作
  • 记事本做网站素材代码国内十大4a广告公司
  • 一米八效果图网站商业网站平台
  • 做搜狗手机网站优化产品推广计划怎么写
  • 网站链接优化怎么做ftp服务器
  • 什么网站可以接单做海报网站信息员队伍建设方案