可能的重复:
为什么Java有瞬态变量?
瞬态关键字将用于防止特定变量的序列化。但为什么我们不应该序列化数据呢?内心有安全感吗?
有些类本质上是不可序列化的,因为它们代表管理 Java 环境之外的资源。例如一个FileOutputStream
不能真正被序列化,因为它代表一个打开的文件句柄。对于一个来说也是如此Socket
:您无法保存和恢复“打开的套接字”。
如果要序列化某个具有该类型字段的对象,则必须将这些字段标记为瞬态。
使用的另一个原因transient
是当你的类进行某种内部缓存时。例如,如果您的类可以进行计算,并且出于性能原因,它会缓存每个计算的结果,那么保存该缓存可能并不理想(因为重新计算它可能比恢复它更快,或者因为旧的缓存值不太可能被删除)任何用途)。在这种情况下,您可以将缓存字段标记为瞬态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)