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工程师的你理解了吗?理解的话以后就一定不要再犯了哦!
永夜降临复苏游戏下载v3.5.7 安卓最新版
卡牌对战 537.6M
下载创世战车手游下载v1.45.1.98037 安卓版
射击枪战 2.36G
下载dokkan七龙珠爆裂激战国际版手游下载v5.28.6 安卓版
动作闯关 97.6M
下载这就是江湖官方版下载v12.6.6 安卓最新版本
卡牌对战 211.6M
下载热血美职篮手游下载v1.19020.1722.0 安卓版
体育运动 1.62G
下载斗罗大陆魂师对决手游官方版下载v2.31.1 安卓版
卡牌对战 1.55G
下载坦克大决战游戏下载v1.9462 安卓官方正版
射击枪战 388.5M
下载孤胆车神维加斯官方正版(Gangstar Vegas)下载v8.5.1c 安卓手机版
射击枪战 2.44G
下载孤胆车神维加斯僵尸城版本下载v8.5.1c 安卓版
下载
英雄联盟云顶之弈手机版本下载v14.8.5768838 安卓最新版本
下载
苍蓝前线手游下载v1.1.0 安卓版
下载
崩坏学园2手游下载v12.2.8 安卓最新版本
下载
彩虹联萌手游下载v7.3.23015 安卓官方版
下载
花花填色苹果版下载v2.2.5 iPhone版
下载
奥特曼超时空英雄官方正版下载v1.0.2 安卓版
下载
全民奇迹2ios版下载v15.0.0 iphone版
下载