编程安全是程序员在开发软件的时候都需要关注的一个问题,而今天我们就通过案例分析来了解一下,java编程安全性常见问题都有哪些。
1、初始化顺序
根据JLS(Java Language
Specification)中的定义,class在初始化过程中,需要同时初始化class中定义的静态初始化程序和在该类中声明的静态字段(类变量)的初始化程序。
而对于static变量来说,如果static变量被定义为final并且它值是编译时常量值,那么该static变量将会被优先初始化。
2、循环初始化
既然static变量可以调用构造函数,那么可不可以调用其他类的方法呢?
循环引用虽然不会报错,但是根据class的初始化顺序不同,会导致a和b生成两种不同的结果。
所以在我们编写代码的过程中,一定要避免这种循环初始化的情况。
3、不要使用java标准库中的类名作为自己的类名
java标准库中为我们定义了很多非常优秀的类,我们在搭建自己的java程序时候可以很方便的使用。
但是我们在写自定义类的情况下,一定要注意避免使用和java标准库中一样的名字。
这个应该很好理解,就是为了避免混淆。以免造成不必要的意外。
4、不要在增强的for语句中修改变量值
我们在遍历集合和数组的过程中,除了原始的for语句之外,java还为我们提供了下面的增强的for循环。在遍历的过程中,#i其实相当于一个本地变量,对这个本地变量的修改是不会影响到集合本身的。