May expose internal representation by returning reference to mutable object Returning a reference to a mutable object value stored in one of the object’s fields exposes the internal representation of the object. If instances are accessed by untrusted
在我的Java代码中,我启动一个新进程,然后获取其输入流来读取它: BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); FindBugs在这里报告错误: may fail to close stream Pattern id: OS_OPEN_STREAM, type: OS, category: BAD_PRACT
javac 1.7.0_79 findbugs 3.0.0 你好, 我正在使用findbugs,我收到此报告错误: This method contains a redundant check of a known non-null value against the constant null 问题中的代码是这样的: mClientConnection = new XMPPTCPConnection(configBuilder.build()); if(
我现在正在使用看起来像这样的代码 public String getName(User user) { user.setSth(...); return user.getName(); } 我认为改变作为参数传递的对象是不好的做法.有没有一种工具可以检测到那种代码?我查看了findbugs,pmd和checkstyle,但找不到任何检查. 附:抱歉的坏榜
我使用字符串作为锁,因此要确保该对象是一个新实例. FindBugs抱怨,因为直接定义字符串通常更有效(使用双引号).我的代码看起来像: /** A lock for the list of inputs. */ @edu.umd.cs.findbugs.annotations.SuppressWarnings("DM_STRING_CTOR") //We want a new String object her
我有一个方法,需要两个双打a和b(注意大写’D’)并计算差异.如果只有一个参数为空,则结果应为999999,否则将返回两个数字之间的差值. 以下(工作)代码在FindBugs中给出了一个“可怕的”警告,我通常会尝试避免代码中的高级别警告.但是,我认为代码既简短又易读,而我能想到的其他一切只
@NonNull可以标注在方法、字段、参数之上,表示对应的值不可以为空 @Nullable注解可以标注在方法、字段、参数之上,表示对应的值可以为空 以上两个注解在程序运行的过程中不会起任何作用,只会在IDE、编译器、FindBugs检查、生成文档的时候有做提示;我使用的IDE是STS,不会做自动的检
如何配置findbugs-maven-plugin以跳过验证Querydsl生成的代码? 要么如何配置Querydsl以将QTransactions.java生成到另一个包? 运行mvn clean install时遇到以下问题: [INFO] --- findbugs-maven-plugin:2.5.2:check (default) @ transactions --- [INFO] BugInstance size is 1 [INFO
当我通过Maven在我的项目上运行FindBugs时,我得到了很多: Can't use annotations when running in JDK 1.4 mode! 我该如何解决这个问题?在手册中找不到任何内容.解决方法:我相信你缺少插件配置中的targetJdk元素,如下面的代码片段所示. <reporting> <plugins> <pl
我有以下简单的代码来测试IntelliJ中的NonNull注释. 然后我去: IntelliJ – >档案 – >设置 – >检查 – >可能的错误 – >恒定条件和例外我设置Severity:作为错误. 这样做,它标记“print(null);”行如预期的错误.但是,执行IntelliJ – >构建 – >重建项目,它工作,它没有显示任何错
如果一个对象没有实现它自己的hashCode()方法,那么它将使用默认实现Object.hashCode()(前提是它们之间没有超类). Object.hashCode()不保证在不同的JVM实例中生成相同的哈希代码.我们在集群环境中遇到了一些问题. 除了我们应用的一些修复,我们希望静态分析检测到这种情况.我们已经
以下类不是线程安全的(在Proving the following code not thread safe中证明) 是否有一个框架可以帮助编译时/运行时分析并告诉我们以下是不是线程安全的? 对于编译时间,理想情况下在Eclipse中出现了摇摆下划线并告诉我们该类不是线程安全的吗? 对于运行时,任何静态代码分析都会将该
Findbugs是一款出色的软件,我的团队在开发Android项目时使用它.在Eclipse中,一切都很好而且有光泽,但是现在我们正在尝试使用ant自动化我们的构建,并为每个构建自动生成Findbugs结果. 这看起来并不那么困难.我按照本教程: https://wiki.jenkins-ci.org/display/JENKINS/Building+an+
我有这样的代码: public class Thingy { private final Lock lock = new ReentrantLock(); private boolean shutdown; public void shutdown() { lock.lock(); shutdown = true; lock.unlock(); } } 并且FindBugs抱怨“Thingy.shutdown()不会释放所有异常路
FindBugs告诉我,我有以下错误: A primitive is boxed, and then immediately unboxed. This probably is due to a manual boxing in a place where an unboxed value is required, thus forcing the compiler to immediately undo the work of the boxing. 这是相关的代码: ...
前段时间因为工作原因需要对java源代码进行扫描,现结合使用经验对静态代码扫描工具Fortify SCA与FindBugs进行一个简单的对比。 一、Fortify SCA Fortify SCA是由全球领先的软件安全产品解决方案供应商Fortify Software开发,致力于帮助客户在软件开发生命周期中建立安全机制,杜绝软件
我甚至提到过:Sonar Violation: Security – Array is stored directly 我的代码是—> public final void setSelectedObjectsList(final ScheduleDTO[] selectedObjectsList) // Security - Array is stored directly //The user-sup
以下代码被FindBugs标记为错误.FindBugs说“这种方法可能无法清理(关闭,处理)流,数据库对象或需要显式清理操作的其他资源.”错误标记在输出行= new FileOutputStream(localFile); 但是我们已经在块中添加了try / finally. inputStream input =null; OutputStream output =null;
我想通过查看字节码来了解正在分配的数组的大小,如果在编译时知道该信息,当然. 背景:我想编写一个FindBugs检测器(查看编译的字节码)并报告某些阵列分配的发生.为了滤除误报,我对“小”数组不感兴趣,只对编程时大小不可用或大于可配置阈值的数组感兴趣. 由于FindBugs的源代码没有太
我有一个显示部门文档的项目.我将所有文档(从数据库中获取)存储在静态arrayList中.每隔X小时,我就根据数据库中的新doc(如果有的话)重建了arrayList.还有一个静态变量来控制重建该数组,在执行重建任务的方法中设置和取消设置.每个访问服务器的Web浏览器都将创建此类的实例,但doc ar
前言 Findbugs是使用静态分析来检测java代码中的潜在错误,保证代码符合一定规则的辅助工具。 本文针对AndroidStudio如何使用findbugs插件的使用和findbugs过滤进行总结,主要包含: 如何安装和使用findbugs插件 如何屏蔽掉不能修改的findbugs 如何快速高效对findbugs进行修改 使用f
现在有很多库、实用工具和程序任Java开发人员选择。每个工具都有其优点,但其中有一些因它的知名度、多功能性和有效性从众多选项中脱颖而出。 以下这8个工具,从代码构建到错误挤压,覆盖Java开发的全域。学习这些工具可以帮助你改善代码质量,成为一个更高效的Java开发人员。 JAVA 的用途
在使用hive或者是kylin时,可以选择文件的压缩格式,但是这个需要有hadoop native库的支持,默认情况下,hadoop官方发布的二进制包中是不包含native库的,所以无法使用一些压缩相关的算法。本例中选择自己手动编译hadoop源码,并将native文件部署到hadoop安装目录/lib目录下。 1. 环境准备 a)