Sonar常见问题分析
1.Equality tests should not be made with floating point value
代码举例: if (result == num) //result和num均为double 之间比较会有精度损失
解决:BigDecimal data1 = new BigDecimal(totalArea);
BigDecimal data2 = new BigDecimal(s1);
int num = data1.compareTo(data2);//num =0 相等 >0前者大于后者 ,反之 <0 前者小于后者
2.This class overrides "equals()" and should therefore also override "hashCode()".
代码举例:public boolean equals(Object obj){...} //需要添加对应的hashCode方法
解决:可以添加一个最简单的hashCode方法
public int hashCode() {return 0;}
3.Synchronize on a new "Object" instead
代码举例:synchronized ("实例化") {...} //里边必须是对象
解决: private Object obj ="实例化";
synchronized (obj ) {...}
4.Close this"FileInputStream" in a "finally" clause.
解决方法: 在finally中关闭FileInputStream,主要是关闭方式不对,finally代码块中,应该要对每个stream进行单独关闭,而不能统一写在一个try-catch代码中。
5.A"NullPointerException" could be thrown; "tom" is nullablehere
空指针,解决方式:先判断或者先实例化,再访问里面的属性或者成员。
6.Makethis IP "127.0.0.1" address configurable
解决方法:不要把IP地址写在此类中,应该在对应的系统文件或者相应的配置文件中配置
7.Either log or rethrow this exception.
解决方法: 把对应的输出写成Logger.error("aaa“);的形式
Sonar常见问题分析的更多相关文章
- Web开发常规调试方法与常见问题分析
一.Web项目基本原理 现在的web项目大都已经前后端独立开发与部署. 前后端独立开发,一般是前端与后端通过web接口(常见的有RESTful与websocket)文档进行交流.前端开发人员先更具业务 ...
- JVM常见问题分析
JVM常见问题分析 启动,并且去查看日志 ./startup.sh && tail -f ../logs/catalina.out 常见有有以下几个问题: 1.java.lang.Ou ...
- oracle 容灾库日常维护 ,健康检查脚本 以及常见问题分析
select DEST_ID, APPLIED_SCN FROM v$archive_dest select * from v$dataguard_status; SELECT gvi.thread# ...
- sonarqube+sonar runner分析C#代码
最近研究一个代码覆盖率和代码分析工具.遇到一些比较坑的问题,现在分享给大家. 1.Sonar介绍 Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量.通过插件机制,Sonar 可 ...
- 微信小程序开发常见问题分析
距离微信小程序内测版发布已经有十几天的时间了,网上对微信小程序的讨论也异常火爆,从发布到现在微信小程序一直占领着各种技术论坛的头条,当然各种平台也对微信小程序有新闻报道,毕竟腾讯在国内影响力还是很大的 ...
- Java常见问题分析(内存溢出、内存泄露、线程阻塞等)
Java垃圾回收机制(GC) 1.1 GC机制作用 1.2 堆内存3代分布(年轻代.老年代.持久代) 1.3 GC分类 1.4 GC过程 Java应用内存问题分析 2.1 Java内存划分 2.2 J ...
- .NET应用开发之SQLServer常见问题分析
日常我们开发.NET应用时会使用SQLServer数据库,对于SQLServer数据库的日常开发有一些技能和工具,准备给大家分享一下. 一.场景1:SQLServer死锁分析 执行以下SQL,启用S ...
- git push用法和常见问题分析
在使用git 处理对android的修改的过程之中总结的.但不完善 Git push $ git push origin test:master // 提交本地test分支作为远程的m ...
- 【TestDirector】常见问题分析
1.IE7无法访问TD 问题原因:兼容性问题 解决方法:步骤一.以系统管理员身份登陆TD: 步骤二.找到TD服务器中TDBIN目录(缺省情况下是C:\Inetpub\TDBIN目录),用编辑器打开st ...
随机推荐
- javascript倒计时调转页面
<html><head><meta http-equiv="Content-Type" content="text/html; charse ...
- vb.net 代码建立控件,并显示在窗体上
Dim lb As New Label lb.Text = "hello" lb.Top = 200 lb.Left = 100 ...
- 爱上朴实的CSS细节
英文原文:Learning to Love the Boring Bits of CSS 未来的CSS太让人兴奋了:一方面,是全新的页面布局方式:另一方面,是酷炫的滤镜.颜色等视觉效果.这些CSS, ...
- 使用jQuery判断元素是否在可视区域
$("#app").offset().top; offset().top表示 绝对偏移值,比如说有一个很长的页面,#app这个元素 在最底下, $("#app" ...
- Linux库函数制作(静态库、动态库)
Linux库函数制作(静态库.动态库) 静态库与动态库 链接方式 链接分为两种:静态链接.动态链接 静态链接: 由链接器在链接时将库的内容加入到可执行程序中 静态链接的特点是: 优点: 对运行环境的依 ...
- Windows 编程,程序编译使用的命令行工具。
Windows 编程,程序编译使用的命令行工具. 1.cl.exe文件是Visual C\C++的编译器,它将程序源代码文件编译为obj文件. 2.rc.exe文件是资源编译器.工程项目中的.rc文件 ...
- 动态规划求一个序列的最长回文子序列(Longest Palindromic Substring )
1.问题描述 给定一个字符串(序列),求该序列的最长的回文子序列. 2.分析 需要理解的几个概念: ---回文 ---子序列 ---子串 http://www.cnblogs.com/LCCRNblo ...
- 2017 ICPC 广西邀请赛1005 CS Course
CS Course Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- Problem F
Problem Description "Yakexi, this is the best age!" Dong MW works hard and get high pay, h ...
- DOM遍历-祖先
遍历 - 祖先 向上遍历 DOM 树 这些 jQuery 方法很有用,它们用于向上遍历 DOM 树: parent() parents() parentsUntil() jQuery parent() ...