在编写代码时,我们不断得到静态分析的帮助。这种看不见的机制在幕后运作,为我们提供各种建议和警告。可以肯定地说IntelliJ IDEA比我们更了解我们的代码。

现在,如果我们可以访问静态分析数据以检查程序的工作方式或调试复杂问题该怎么解决?实际上,此功能已经存在,并且已经存在了一段时间。

它被称为Dataflow to/from here,它允许您在给定的数据处理阶段识别哪些值是可能的。这些知识有助于我们在运行时潜在的错误发生之前检测它们,并通过删除冗余的检查、条件等来优化代码。

考虑以下示例:

在printList方法中,我们有一个null检查,以说明当null作为参数传递时的情况。当我们试图在列表为null时打印出列表的内容时,这可以保护我们免受NullPointerException的影响。

让我们看看该功能如何帮助我们优化此代码。
右键单击该参数,然后选择“Analyze | Data Flow to Here并指定分析范围。在“Analyze Dataflow”工具窗口中,单击“Group by Leaf Expression Nullness”并打开相应的选项卡。
分析结果清楚地表明,没有上游代码在调用此方法时将null作为参数传递。

因此,我们可以安全地消除冗余的null检查并将参数注释为@Notnull。当您想优化代码,但需要更多信息来指导您如何优化代码时,数据流分析是一种可以节省大量时间并帮助您避免错误的工具。

使用相同的过程,您可以检查整个输入值范围。有了这些信息,您可以防止出现意外的ArrayIndexOutOfBoundsExceptions之类的错误。

如果在运行时抛出异常,并且您有堆栈跟踪,则确定原因变得更加容易。不需要寻找抛出它的方法并仔细检查调用树。相反,只需单击引发异常的帧。

如果您以前从未使用过此功能,建议您尝试一下。如果您希望我们进一步研究其他功能,请在评论中给我们留言。

好了这就是今天的内容了,如果今天的文章未解决你的需求,可点击下方“了解更多”获取更多文章教程。

intellij HTTP状态 404 - 未找到_IntelliJ静态分析竟有代码检测优化,删除冗余等功能...相关推荐

  1. intellij HTTP状态 404 - 未找到_了解你的业务状态!使用 Nagios 打造专业的业务状态监控...

    想必各个公司都有部署zabbix之类的监控系统来监控服务器的资源使用情况.各服务的运行状态,是否这种监控就足够了呢?有没有遇到监控系统一切正常确发现项目无法正常对外提供服务的情况呢?本篇文章聊聊我们如 ...

  2. SpringMVC项目注意事项(HTTP状态 404 - 未找到 类型 状态报告 消息 文.件[/web/WEB-INF/jsp/allBook.jsp] 未找到 )(狂神说Java)

    HTTP状态 404 - 未找到 类型 状态报告 消息 文.件[/web/WEB-INF/jsp/allBook.jsp] 未找到 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源 ...

  3. http状态 404 - 未找到_404终结者来了!

    404终结者丨略谈IPFS新引擎Filenet! 世界总是瞬息万变,唯一不变的只有变化本身. 或许昨天你习以为常的东西,今天就只能存活在记忆,最好的情况也不过是留个墓碑供你瞻仰. 比如现在我浏览器里鲜 ...

  4. IDEA HTTP状态 404 - 未找到 请求的资源[/]不可用

    在使用IDEA的过程中,一不小心就会出现404无法访问资源的问题 运行项目时出现如下图所示的bug 面向百度求助一番无果,无奈至极,谁能想到,打开IDEA,突然一眼看到,我的web文件夹跑到src下面 ...

  5. HTTP状态 404 - 未找到

    访问网址http://localhost:8080/brand-demo/selectAllServlet 出现如下情况 或 JDK版本:JDK17 Tomcat版本:Tomcat 9.0.70 In ...

  6. http status 404 – 未找到_HTTP状态码

    200 - OK,服务器成功返回网页 Standard response for successful HTTP requests. 301 - Moved Permanently(永久跳转),请求的 ...

  7. “远程服务器返回错误: (404) 未找到”的正确解决方法

    转自chuncn原文 "远程服务器返回错误: (404) 未找到"的正确解决方法 在XP下的自动升级程序,放到win2003后无论如何配置IIS.添加读写权限等等,均未解决&quo ...

  8. HTTP 404 - 未找到文件 怎么样解决

    找不到网页  您要查看的网页可能已被删除.名称已被更改,或者临时不可用.  -------------------------------------------------------------- ...

  9. HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

    HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示. 先post个图: 再来聊一下我是怎么搞成这样的: 我自学Javaweb,看的是一本20 ...

  10. 404未找到是什么意思_常见的web错误404你知道是什么意思吗?

    我们知道,最常见的web错误码404表示文件或资源未找到,但还有其他的错误代码,下面整理出来: 一.1xx-信息提示:这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响 ...

最新文章

  1. UILabel 调整行间距
  2. sql自动生成工具_可自动生成代码,5款基于AI的开发工具
  3. python3 readexcel pandas问题,使用python中的pandas中的read_excel函数将日期保留为字符串...
  4. 一款纯css3实现的超炫动画背画特效
  5. 经典面试题(37):以下代码将输出的结果是什么?
  6. 应用虚拟化IT:需要决策支持做后盾
  7. IOS开发-TableView表视图LV2
  8. Netfilter的使用和实现
  9. hadoop大数据平台_Hadoop之外的3个大数据平台
  10. python一元线性回归算法_手写算法—Python代码实现一元线性回归
  11. 常见的软件生命周期模型
  12. centos7.5安装Jenkins
  13. 博客营销的一般流程及案例
  14. 猜疑链,区块链,微信群有什么关系?
  15. 白帽子讲Web安全(第 1 章 我的安全世界观)
  16. linux系统检测硬盘物理损坏,linux系统下检测硬盘上的坏道和坏块
  17. AutoCAD2018打印eps文件
  18. 旋转矩阵、欧拉角、四元数、旋转向量(旋转角)
  19. 基于VMware 的 hive安装与启动
  20. win2012 r2 iis php,Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建wordpress博客教程

热门文章

  1. 使用nrm管理npm源的切换
  2. vue-table-with-tree-grid的使用(黑马笔记)
  3. python 文件 解析ddl_BKM ? 35期 — Python解析ANSYS文件
  4. miui游戏驱动程序偏好设置_MIUI 11 期待吗?MIUI 10这几个小设置,你都了解吗?...
  5. 单片机c指令右移指令_单片机「5」51单片机指令集(2)
  6. 一个封锁操作被对 wsacancelblockingcall 的调用中断_备战秋招——操作系统(3)
  7. android+数据库类型转换,ANDROID数据库错误:不兼容的类型:INT不能转换到CursorFactory...
  8. python爬虫html、parser_利用python HTMLParser标准库实现一个简单的爬虫
  9. shell命令回车_VIM学习笔记 静默执行命令(silent)
  10. Docker从理论到实践(七)------Docker数据管理