发表于: 2016-11-14 23:11:41
2 2398
今天完成的事情:修改bug,因为catalina.out和log4j产生的info.log内容不一样,因此可以利用这个特性排查单个功能bug,因为system.print.out会出现在catalina.out中,这样不用关掉log4j还可以屏蔽掉日志的影响,在catalina.out中看到我们特别使用system.out.print()输出的内容
收获:
1.今天我们在排查bug的时候,别人建议我将如下代码改成 这样
if(a != null){ if(a == null){ return
if(b != null){ }
if(c != null){ if(b == null){ return
业务逻辑 }
} if(c == null){ return
} }
} 业务逻辑
右边的代码明显看起来思路更清晰,不会出现因为代码写很多导致找不到大括号的结束范围,导致if else嵌套多层
2.list的深度复制方法:
http://blog.csdn.net/lian_1988/article/details/45970927
这篇blog举例说明了几种常见的错误方法,并提出了使用序列化实现list的深度复制
http://blog.csdn.net/yizhicxy/article/details/51398857
这篇blog提到了object对象的clone方法,还有cloneable接口,但是最终还是要使用serializable接口
3.token
因为安全需要,客户要求我们对于所有app接口都要加上token验证
百度百科中token作为计算机术语,指的是身份验证的令牌
但是http是一种无状态协议,我自己想到的是使用缓存池存储登录用户信息,然后定时清理过期信息,在访问任意接口的时候先去缓存池里面找一找有没有这个token,然后才能调用接口,这个需要再查查资料。
评论