FindBugs缺陷类型统计分析(部分)

本文主要分析了FindBugs工具检测出的部分代码缺陷,包括正确性警告(Correctness Warnings)如不可能的强制转换、总是返回false的instanceof等,多线程正确性警告(Multithreaded Correctness Warnings)如在持有锁的情况下调用Thread.sleep(),以及性能问题(Performance Warnings)等。通过对这些警告类型的列举和解释,帮助开发者提高代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FindBugs缺陷类型统计分析(部分)

 

目录

1 正确性警告(CORRECTNESS WARNINGS )    4
1.1 AM: CREATES AN EMPTY JAR FILE ENTRY    4
1.2 AM: CREATES AN EMPTY ZIP FILE ENTRY    4
1.3 BC: IMPOSSIBLE CAST    4
1.4 BC: INSTANCEOF WILL ALWAYS RETURN FALSE    5
1.5 BIT: INCOMPATIBLE BIT MASKS    5
1.6 BIT: INCOMPATIBLE BIT MASKS    6
1.7 BIT: INCOMPATIBLE BIT MASKS    6
1.8 BIT: BITWISE OR OF SIGNED BYTE VALUE    7
1.9 BOA: CLASS OVERRIDES A METHOD IMPLEMENTED IN SUPER CLASS ADAPTER WRONGLY    8
1.10 CN: CLASS IMPLEMENTS CLONEABLE BUT DOES NOT DEFINE OR USE CLONE METHOD    8
1.11 CN: CLONE METHOD DOES NOT CALL SUPER.CLONE()    8
1.12 CO: ABSTRACT CLASS DEFINES COVARIANT COMPARETO() METHOD    9
1.13 CO: COVARIANT COMPARETO() METHOD DEFINED    10
1.14 DE: METHOD MIGHT DROP EXCEPTION    10
1.15 DE: METHOD MIGHT IGNORE EXCEPTION    11
1.16 DLS: OVERWRITTEN INCREMENT    11
1.17 NP: POSSIBLE NULL POINTER DEREFERENCE DUE TO RETURN VALUE OF CALLED METHOD    12
1.18 NP: METHOD CALL PASSES NULL FOR UNCONDITIONALLY DEREFERENCED PARAMETER    12
1.19 NP: METHOD CALL PASSES NULL FOR UNCONDITIONALLY DEREFERENCED PARAMETER    13
1.20 NP: NON-VIRTUAL METHOD CALL PASSES NULL FOR UNCONDITIONALLY DEREFERENCED PARAMETER    13
1.21 NP: STORE OF NULL VALUE INTO FIELD ANNOTATED NONNULL    13
1.22 NP: READ OF UNWRITTEN FIELD    13
1.23 NS: QUESTIONABLE USE OF NON-SHORT-CIRCUIT LOGIC    14
1.24 NM: CLASS DEFINES EQUAL(); SHOULD IT BE EQUALS()?    14
1.25 NM: CONFUSING METHOD NAMES    14
1.26 NM: CLASS DEFINES HASHCODE(); SHOULD IT BE HASHCODE()?    15
1.27 NM: CLASS DEFINES TOSTRING(); SHOULD IT BE TOSTRING()?    15
1.28 NM: APPARENT METHOD/CONSTRUCTOR CONFUSION    15
1.29 NM: VERY CONFUSING METHOD NAMES    16
1.30 ODR: METHOD MAY FAIL TO CLOSE DATABASE RESOURCE    16
1.31 ODR: METHOD MAY FAIL TO CLOSE DATABASE RESOURCE ON EXCEPTION    17
1.32 OS: METHOD MAY FAIL TO CLOSE STREAM    18
1.33 OS: METHOD MAY FAIL TO CLOSE STREAM ON EXCEPTION    18
1.34 QBA: METHOD ASSIGNS BOOLEAN LITERAL IN BOOLEAN EXPRESSION    19
1.35 QF: COMPLICATED, SUBTLE OR WRONG INCREMENT IN FOR-LOOP    19
1.36 RC: SUSPICIOUS REFERENCE COMPARISON    20
1.37 RCN: REDUNDANT COMPARISON OF NON-NULL VALUE TO NULL    20
1.38 RCN: REDUNDANT COMPARISON OF TWO NULL VALUES    21
1.39 RCN: REDUNDANT NULLCHECK OF VALUE KNOWN TO BE NON-NULL    21
1.40 RCN: REDUNDANT NULLCHECK OF VALUE KNOWN TO BE NULL    21
1.41 RCN: NULLCHECK OF VALUE PREVIOUSLY DEREFERENCED    21
1.42 RE: INVALID SYNTAX FOR REGULAR EXPRESSION    22
1.43 RE: "." USED FOR REGULAR EXPRESSION    22
1.44 RR: METHOD IGNORES RESULTS OF INPUTSTREAM.READ()    22
1.45 RR: METHOD IGNORES RESULTS OF INPUTSTREAM.SKIP()    23
1.46 RV: RANDOM VALUE FROM 0 TO 1 IS COERCED TO THE INTEGER 0    23
1.47 RV: METHOD CHECKS TO SEE IF RESULT OF STRING.INDEXOF IS POSITIVE    23
1.48 RV: METHOD DISCARDS RESULT OF READLINE AFTER CHECKING IF IT IS NONNULL    23
1.49 RV: REMAINDER OF 32-BIT SIGNED RANDOM INTEGER    24
1.50 RV: METHOD IGNORES RETURN VALUE    24
1.51 SA: SELF ASSIGNMENT OF FIELD    24
2 国际化警告(INTERNATIONALIZATION WARNINGS )    24
2.1 DM: METHOD INVOKES DUBIOUS STRING.TOUPPERCASE() OR STRING.TOLOWERCASE; USE THE LOCALE PARAMETERIZED VERSION INSTEAD    25
3 多线程正确性警告(MULTITHREADED CORRECTNESS WARNINGS )    25
3.1 RU: INVOKES RUN ON A THREAD (DID YOU MEAN TO START IT INSTEAD?)    25
3.2 SC: CONSTRUCTOR INVOKES THREAD.START()    25
3.3 SP: METHOD SPINS ON FIELD    26
3.4 SWL: METHOD CALLS THREAD.SLEEP() WITH A LOCK HELD    26
3.5 TLW: WAIT WITH TWO LOCKS HELD    26
3.6 UG: UNSYNCHRONIZED GET METHOD, SYNCHRONIZED SET METHOD    27
3.7 UL: METHOD DOES NOT RELEASE LOCK ON ALL PATHS    27
3.8 UL: METHOD DOES NOT RELEASE LOCK ON ALL EXCEPTION PATHS    28
3.9 UW: UNCONDITIONAL WAIT IN METHOD    28
3.10 VO: A VOLATILE REFERENCE TO AN ARRAY DOESN'T TREAT THE ARRAY ELEMENTS AS VOLATILE    28
3.11 WS: CLASS'S WRITEOBJECT() METHOD IS SYNCHRONIZED BUT NOTHING ELSE IS    29
3.12 WA: CONDITION.AWAIT() NOT IN LOOP IN METHOD    29
3.13 WA: WAIT NOT IN LOOP IN METHOD    29
4 安全脆弱代码警告(MALICIOUS CODE VULNERABILITY WARNINGS )    30
4.1 EI: METHOD MAY EXPOSE INTERNAL REPRESENTATION BY RETURNING REFERENCE TO MUTABLE OBJECT    30
4.2 EI2: METHOD MAY EXPOSE INTERNAL REPRESENTATION BY INCORPORATING REFERENCE TO MUTABLE OBJECT    30
5 性能问题(PERFORMANCE WARNINGS)    30
5.1 DM: METHOD INVOKES DUBIOUS BOOLEAN CONSTRUCTOR; USE BOOLEAN.VALUEOF(...) INSTEAD    30
6 不提倡的风格(STYLE WARNINGS)    31
6.1 BC: QUESTIONABLE CAST TO ABSTRACT    31

 

1 正确性警告(Correctness Warnings )

1.1 AM: Creates an empty jar file entry

 

项目

内容

BugID

AM_CREATES_EMPTY_JAR_FILE_ENTRY

错误范式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值