2022-03-23
常在河边走,哪有不湿鞋。Java工程师也是人,他们也会犯错误。但是千锋广州小编提醒大家有三个错误是万万不能犯的!工作中犯了这三个错误,今年的加薪就和你say goodbye了!快看看自己是不是中枪了。
忽略访问修饰符
虽然有点莫名其妙,但忘记Java中protected访问修饰符的作用域真的是许多人的家常便饭。那么protected访问修饰符的作用域有哪些呢?
· 可从子类访问protected字段、方法和构造函数。
· 能从同一包当中访问protected字段、方法和构造函数。
除此之外,包的作用域还可以帮助许多开发人员来编写自己的测试:可以从测试路径访问受保护的方法。所以忘记这个属性等同于在面试中表明自己从来没有编写过测试!
没有使用equals()
如果是Java工程师的你正在使用==(比较运算符)而不是调用equals()函数,这个习惯,必须要改!当想要比较两个String以及其他任何对象时,不要使用==。==只能解决两个操作数的对象引用(内存地址比较)的比较。
密码为字符串
作为一个安全问题,将用户提供的密码存储在字符串对象中是非常危险的,它使得字符串容易受到内存攻击。
使用char[]是最好的解决方法,就像JPasswordField和Password4j正在做的那样。但是假如是Web应用程序的话,那么大多数Web容器都将HttpServletRequest对象中的纯文本密码作为String传递。
字符串由Java虚拟机(JVM)(驻留)缓存并存储在PermGen空间(Java8之前)或堆空间中。出现这两种问题的话,那么在垃圾回收发生后才会删除掉缓存值:这就相当于无法得知特定值何时会从字符串池中删除,因为垃圾收集器的行为是不确定的。
而另一个存在的问题就是,String是无法更改的,所以不能清除它们。但实际上char[]是可更改的,同时可以在处理后删除(例如用0替换每个元素)。通过这个简单的技巧,攻击者只能在内存中找到全为零的数组而不是纯文本密码。
怎么样,这三个坑,作为Java工程师的你理解了吗?理解的话以后就一定不要再犯了哦!
奇妙梦幻城堡完整版下载v9.87.00.00 安卓版
其它手游 105.1M
下载labo积木汽车2儿童游戏下载v1.1.422 安卓版
其它手游 131.5M
下载奇妙环游世界宝宝巴士游戏下载v9.87.00.00 安卓版
其它手游 114.2M
下载全民农场游戏下载v1.26.30 安卓正版
经营养成 887.0M
下载哈利波特魔法觉醒网易版下载v1.20.220280 安卓版
其它手游 1.89G
下载宝可梦大集结体验服免费下载v1.2.1.1 安卓手机内测服
其它手游 1.90G
下载宝可梦大集结国服下载v1.2.1.1 官方安卓手机版
动作闯关 1.90G
下载问道果盘版本渠道服下载v2.139.0506 安卓客户端
其它手游 1.88G
下载斗破苍穹异火重燃官方腾讯版下载v0.0.0.352 安卓最新版
下载
战舰帝国折扣平台下载v7.1.86 安卓版
下载
宝可梦大集结腾讯版国服下载v1.3.1.1 安卓官方正版
下载
大帝国征服者手游百度版下载v5.670 安卓版
下载
漫威对决最新版下载v1.0.125569 安卓版
下载
雪糕工厂宝宝巴士游戏下载v9.87.13.01 官方安卓版
下载
元梦之星官方正版下载v1.3.88.1 安卓最新版本
下载
三国杀手游正版下载v4.3.7 安卓客户端
下载