空串或空对象判断
- 空字符串的判断一般都用StringUtils.isEmpty()方法,判断集合是否为空用CollectionUtills
- 比较对象或字符串,已知对象.equals(传入对象)
- 随机数,计算机中没有现实意义上的随机数,在入门时常用为Math.random(int seed)方法,他会返回一个0~1之间的double型数字。然而当seed的数量一致时,每次生成的随机数都是一样的,即
for (int i = 0;i<10;i++){
System.out.print(Math.random(2));
}
for (int i = 0;i<10;i++){
System.out.print(Math.random(2));
}
这两个循环生成同样的随机数,故称伪随机数。开发中用java.security.secureRandom类来生成强随机数。 4. 有关金额这种精度要求很高的四则运算需要用BigDecimal类,提供了加减乘除,四舍五入等多种运算,防止基本数据类型造成的精度丢失。
敏感数据加密
- 网络协议上,https比http好:具体好在哪。。嗯 多了s,加密协议
- 公钥和私钥~
- java程序报错时,不能在网页上输出Exception信息,拦截所有异常跳统一界面,防止暴露系统信息。
- 线程同步对象构造私有并final,sychonized或lock,防止用实例锁控制静态变量
- 信息传输 加salt盐,MD5,非对称加密等。
- 用SSLSOCKET (有SSL安全协议)代替SOCKET,
- 关键字段可以加上@Transient修饰,编译时跳过该属性
信息安全攻防
- sql注入、OS命令写入、java执行命令行
- xxs跨域攻击
- xml注入
- json注入
java线程安全规范
- 一般用同步方法、同步代码块来锁定对象
- private Lock lock = new ReentrantLock(); 先用lock.lock()方法锁,在finally代码块中调unlock方法进行解锁 ====以上都为即兴发挥,不对之处感谢指出====