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工程师的你理解了吗?理解的话以后就一定不要再犯了哦!
海岛奇兵九游账号登录版下载v57.1.1 安卓9游版
策略塔防 456.1M
下载奇迹觉醒手游官方版下载v16.3.0 安卓正版
其它手游 1.38G
下载全民奇迹2官方版下载v14.0.0 安卓最新版
其它手游 1.96G
下载光遇虫虫助手版下载v0.13.9 安卓版
休闲益智 1.77G
下载剑侠世界3手游官方正版下载v1.6.24425 安卓版
角色扮演 1.84G
下载汽车城宝宝巴士游戏(改名为宝宝汽车城市)下载v9.86.00.01 安卓版
其它手游 169.3M
下载宝宝汽车城市游戏下载v9.86.00.01 安卓最新版
其它手游 169.3M
下载fifaonline4官方移动端最新版本(足球在线4移动版)下载v1.2503.0005 安卓版
体育运动 160.0M
下载腾讯欢乐麻将全集ios版下载v1.0.4 iphone官方版
下载
龙之谷2手游官方版下载v1.53.2 安卓最新版
下载
宝宝英语冒险最新版(更名宝宝字母小镇)下载v9.86.00.00 安卓版
下载
宝宝巴士奇妙恐龙世界游戏下载v9.86.00.00 安卓最新版
下载
派对主题乐园游戏下载v9.86.00.00 安卓版
下载
节奏大师游戏下载v2.9.13.29145 手机安卓最新版本
下载
神奇数字宝宝app下载v9.86.00.00 安卓版
下载
奇妙玩具修理店无限金币版下载v9.83.00.00 安卓最新版
下载