看到一段不明白的代码,求讲解。
transient 是不能序列化,但为什么要加在log 上面,有何用意?
[code="java"]
public static transient final Log log = (Log) LogFactory.getLog(UserAction.class);
[/code]
看到一段不明白的代码,求讲解。
transient 是不能序列化,但为什么要加在log 上面,有何用意?
[code="java"]
public static transient final Log log = (Log) LogFactory.getLog(UserAction.class);
[/code]
更简单的理解:
1、加上transient 关键字之后,比如你在用对象流写文件的时候,讲该类作为vo的话,那么该类中的这个log对象就不会被序列化和存储,好处就是省去了序列化对象所使用的时间和序列化后存储的空间;
2、由于log没有进行序列化,那么在反序列化的时候也不需要去反序列化它,又省了时间;
3、综上所述,你可以发现这样做节省了运算时间和网络传输流量,从而减小了服务器和网络负载。