IDEA学习篇——findbugs 插件 下载、安装、使用详解,2024年最新大厂面试时间

本文介绍了IDEA中的FindBugs插件如何下载、安装和使用,通过真实示例展示了插件在项目中的实际应用,帮助开发者提升代码质量。此外,还分享了作者整理的2024年最新Java开发学习资料,以帮助程序员系统化学习和提升技能。

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

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

我是等到花儿都谢啦,也没有下载成功。无奈之下,只能走第二种方法咯。

你可以自己去下载最新的,也许我提供的已经不是最新的了呢?下载链接页面的网址:

https://plugins.jetbrains.com/plugin/3847-findbugs-idea

这个是安装完之后,重启之后的截图,看到他就在下面啦。可以使用啦。

你要是不想下载的话,或者页面打不开的话,可以使用如下,我的某度云盘的分享,

我的某度云盘的地址如下:

链接:http://pan.baidu.com/s/1bpKPzWF 密码:3z6h

下面是实际在项目里面使用的情况

简单说明如下:

自己鼠标移动到右边的所有图表,看看每个图标都是什么意思。我就大概说一下。

第一竖列的红色图标是分析当前的这个文件。

下面是分析是某一个类,鼠标所在的那个类

再往下是某个包,某个模块,整个项目,所有修改过的文件,等等吧,看意思都知道大概是啥意思。

第二数列呢,则是控制分析结果的展示情况,自己点点试试就好

下面就整个实际找到的代码的问题。我单独分析我的某个service文件,看代码里面的问题。如下图所示:

看他的意思就是说我代码里面把这个声明为静态属性,但是这个SimpleDateFormat是线程不安全的。

在多线程使用的时候,可能就会有意想不到的问题。所以,他就找到个问题啦。

然后,咱就改咯。

这么改完,之后,再分析以下 这个service文件。看看什么情况,但是在这之前,可能你有疑惑,怎么把代码里面这些黄色的提示给关掉。

点这个差号就 可以啦,代码就恢复成原来的样子啦。

下面看再次分析的结果。

附:一些常见的错误信息

Bad practice 代码中的一些坏习惯

Class names should start with an upper case letter 主要包括类名的命名,以大写字母开头

Method names should start with a lower case letter 方法名以小写字母开头

Field names should start with a lower case letter 字段名以小写字母开头

equals()method does not check for null argument equals()方法应该检查非空

Class defines equals() and uses Object.hashCode() 一个类覆写了equals方法,没有覆写hashCode方法,使用了Object对象的hashCode方法

Method ignores exceptional return value 方法忽略返回值的异常信息

Equals method should not assume anything about the type of its argument equals(Object o)方法不能对参数o的类型做任何的假设。比较此对象与指定的对象。当且仅当该参数不为 null,并且是表示与此对象相同的类型的对象时,结果才为 true。

Comparison of String objects using == or != 用==或者!=去比较String类型的对象

Method might ignore exception 方法可能忽略异常

Method invokes System.exit() 在方法中调用System.exit(…)语句,考虑用RuntimeException来代替

Method ignores result of InputStream.read() InputStream.read方法忽略返回的多个字符,如果对结果没有检查就没法正确处理用户读取少量字符请求的情况。

Dodgy code 糟糕的代码

Switch statement found where default case is missing Switch没有默认情况下执行的case语句

Switch statement found where one case falls through to the next case Switch语句中一个分支执行后又执行了下一个分支。通常case后面要跟break 或者return语句来跳出。

Dead store to local variable 该指令为局部变量赋值,但在其后的没有对她做任何使用。通常,这表明一个错误,因为值从未使用过。

Write to static field from instance method 在实例方法写入静态字段

Redundant nullcheck of value known to be non-null 方法中对不为空的值进行为空的判断。

Method uses the same code for two branches 此方法使用相同的代码,以实现两个有条件的分支。检查以确保这是不是一个编码错误

写在最后

为了这次面试,也收集了很多的面试题!

以下是部分面试题截图

Java程序员秋招三面蚂蚁金服,我总结了所有面试题,也不过如此

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-tWWo2ZRB-1713385346492)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值