gpt4 book ai didi

java - grep 用于特定的 jvm 字节码模式

转载 作者:行者123 更新时间:2023-12-01 19:12:46 26 4
gpt4 key购买 nike

我正在开发一个遗留的 java 项目,该项目存在许多设计问题。因此,代码的某些部分不会按预期运行。考虑以下代码:

public enum Parent{
PARENT1(CHILD1, CHILD2), PARENT2(CHILD3, CHILD1),
PARENT3(CHILD4, CHILD2)

private Child [] children;
Parent(Child ...children) { this.children = children; }

public Child [] getChildren() { return this.children; }
}

public enum Child{ CHILD1, CHILD2, CHILD3, CHILD4 }

现在从上面的代码中,您可以清楚地看到 getChildren() 返回对数组的引用。因此,可以像这样更改数组的元素:

   Child [] childrenOfParent3 = Parent3.getChildren();
childrenOfParent3[0] = null; //badcode

某段代码正在做类似上面提到的事情,我很难找到它(grep 没有帮助)。

有没有任何工具可以帮助我使用 jvm 字节码分析来定位这个模式(坏代码),或者你会如何做?

注意:由于某些限制,我无法更改父级实现。

谢谢!

最佳答案

Findbugs能够检测this .

关于java - grep 用于特定的 jvm 字节码模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7854837/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com