发表时间: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工程师的你理解了吗?理解的话以后就一定不要再犯了哦!
草莓涂涂软件下载v25.9.3.6 安卓最新版
73.92MB |社交娱乐
掌上衡水客户端下载v5.0.0 安卓最新版本
151.9MB |资讯阅读
画涯下载v2.0.5 安卓版
51.39MB |资讯阅读
爱科农官方版(改名爱耕耘)下载v4.2.5 安卓版
39.53MB |商务办公
阿姨直聘app下载v1.14.1 安卓版
35.83MB |生活服务
es文件安全管理器软件(es文件浏览器)下载v4.4.3.4 安卓版
95.56MB |系统工具
松果优惠券app(改名为赚钱联盟)下载v78.0.0 安卓版
98.51MB |生活服务
es文件浏览器最新版下载v4.4.3.4 手机版
95.56MB |系统工具
2022-06-23
2022-03-31
2022-06-23
2022-01-27
2022-01-20
2022-03-31
2022-03-31
2011-04-29
2022-07-08
2022-07-08