java开发通用原则

1、命名:包名全小写,类名首字母全大写,常量全部大写并用下划线分割,变量采用驼峰命名法
2、三元操作符:
int i=80;
String s1= String.value(i<90?90:100);
String s2= String.value(i<90?90:100.0);
返回值不一样,s1返回90,s2返回90.0
3、反序列化时,构造函数不会执行,final变量会被重新赋值。 如果在升级的类中有一个final变量是构造函数赋值的,而且新旧版本还发生了变化,则在应用请求热切的过程中,很可能出现反序列化生成的final变量值与新产生的实例值不相同的情况,于是业务异常就产生了,严重的话,会影响交易数据。
因此,在序列化类中,不使用构造函数为final变量赋值。
4、工资分为绩效工资和基本工资,需要对绩效工资保密。
方法1:绩效工资前加transient。这样做标志着工资类市区了分布式部署的功能,一旦遇到性能瓶颈,再想实现分布式部署就不可能了,此方法不可行。

5、instanceof
'A' instanceof Character :编译不通过,因为instance只能用于对象的判断,不能用于基本类型的判断。
null instanceof String : 返回值为false,若左操作数是null,结果就直接返回false,不再运算右操作数是什么类。使用于 (String)null instanceof String
new Date() instanceof String 编译不通过,因为Date类合String没有继承和实现关系,所以编译时直接报错。

猜你喜欢

转载自www.cnblogs.com/yaohuiqin/p/9284612.html