今天看到HashMap源码中有个transient Entry[] table;
有点蒙,没见过这个什么"transient"关键字。网上查阅了一些资料后总结一下。
首先,大家知道,java对象是可以进行序列化和反序列化的。
序列化就是将java对象转化成一串二进制流,从而可以在网络上传输,或者传输到硬盘之中(服务器中session过多导致负载过大时可已将session通过序列化存到硬盘中)。
反序列化就是将序列化的二进制流还原成java对象。
但是,在序列化中,可以指定某些属性不会被序列化。就是通过transient属性,个人感觉就像用private属性将不必对外暴露的属性封装起来一样。