- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当然,我想通过查看字节码来了解正在分配的数组的大小,前提是该信息在编译时已知。
背景:我想编写一个 FindBugs 检测器(它查看编译后的字节码)并报告数组分配的某些情况。为了过滤掉误报,我对“小”数组不感兴趣,只对那些大小在编译时不可用或大于可配置阈值的数组感兴趣。
由于 FindBugs 源代码没有过多的文档记录,我正在寻找一些关于如何开始的指示 - 也许已经有一个检测器在做类似的事情,我可以看看。
最佳答案
好吧,如果它们是根据常量分配的,您可以检查在分配之前压入的常量。例如:
class ArraySize {
private static final int smallsize = 10;
private static final int largesize = 1000;
public static void main(String[] args) {
int[] small = new int[smallsize];
int[] big = new int[largesize];
}
}
给出字节码:
Compiled from "ArraySize.java"
class ArraySize extends java.lang.Object{
ArraySize();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: bipush 10
2: newarray int
4: astore_1
5: sipush 1000
8: newarray int
10: astore_2
11: return
}
关于java - 如何检测 Java 字节码中的数组大小 (FindBugs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/996094/
FindBugs 中有一个注释可以忽略一组错误, 例如: import edu.umd.cs.findbugs.annotations.SuppressWarnings; @SuppressWarni
当我使用 fingbugs-eclipse 插件或 findbugs-ant 插件时,需要设置一个置信选项。 但是根据 findbugs 文档,错误的等级为 1-20,并分为最可怕(等级 1-4)、可
我正在使用 FindBug,我想了解它为文档目的生成的 .XML 报告。 我得到的样本如下。 所以看起来类型RANGE_ARRAY_INDEX类别 CORRECTNESS有排名 7所以它是一个 sc
根据Ant任务,报告级别是低/中/高设置,将查找不同严重级别的错误。但是,我找不到任何内容可以解释哪些错误适用于这些不同的报告级别。 是否有地方可以提供此功能,即使这是我需要在源代码中查看的内容? 最
我计划逐步对我的项目运行检查样式。目前我的 CI 服务器正在进行增量构建,即只对修改后的文件和依赖项运行单元测试。但对于检查样式、PMD、Findbugs,我们在整个项目上运行,而不是仅在修改后的文件
我希望用 Findbugs 检测下面的空 catch block 有没有默认的 Findbugs 检查器? 我找不到...... } catch (RemoteException re) {
我正在使用 Sonar (通过和),当我使用“Sonar 方式”配置文件时,它运行得很好。 我想运行“Sonar way with Findbugz”配置文件,但出现异常并且不起作用。 是什么让这变得
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 9 年前。 Improve
Maven 版本:3.3.3。 Findbugs插件版本:3.0.1 我正在使用 findbugs-maven-plugin 并且我需要运行 findbugssrc 和测试类上的插件。目前仅适用于源类
我正在将 findbugs 集成到一个混合的 java/kotlin 项目中。但是,由于 findbugs 作用于生成的 jar,它会查找与通过 kotlin 文件生成的类相关的错误。 有什么办法可以
你能让我知道 Findbugs 可以检测到 Java 中的捕获 RuntimeException 吗? 有效的 java 建议我们不应该捕获 RuntimeException。 所以我想知道 Find
我正在使用 FindBugs(版本 1.3.9)Eclipse 插件。我运行 findbugs 并将结果保存在 XML 文件中。我需要生成 XML 报告的 HTML 报告。 我们有现有的工具吗? 我希
-我在可用的插件中找不到要安装的 findbugs 如果我尝试 source-->检查并选择从那里安装 findbugs netbeans 说无法下载 findbugs 有没有办法激活它? 最佳答案
我有用于 eclipse 的 findbugs 插件,当在我的项目上运行时,它会在 Bugs 资源管理器中显示按错误类型分类的结果。 我需要能够做两件事: 将所有这些导出到excel表格 找出一组文件
我们为 FindBugs 创建了一个自定义插件(为清楚起见:这是一个 findbugs 插件,而不是 Sonar 插件),我们想用我们的自定义 findbugs 插件扩展 FindBugs Sonar
在几个月来第一次从事我的一个项目之后,我想运行 Sonar 来检查我是否引入了任何新的违规行为。正如我之前做过很多次一样,我首先下载了最新的稳定版 Sonar (sonarqube-4.5.2) 然后
当我浏览 intellij 插件上的 repos 时,我看到 FindBugs - IDEA 插件 QAPlug - Findbugs 插件 现在我安装了 QPlug,因为它与 PMD、Checkst
我的以下代码低于 Findbugs 错误。请让我知道需要为此做什么? 代码: public void myMethod(Key key, long timestampMillis) {
我从 FindBugs 收到以下错误, 在 MyClass.print(String): String.getBytes() 中发现对默认编码的依赖 方法 protected void print (
使用 findbugs 扫描以下代码后,它会报告 Dodgy code:NP: Load of known null value in new ....(at line where new Excep
我是一名优秀的程序员,十分优秀!