transient关键字_序列化理解

写在前

今天看HashMap源码,居然又发现一个平时不常用的关键字,word天!
transient 什么玩意,百度翻译:临时的,那大概就是说它修饰的是一个临时变量咯,有什么用呢?为什么要用到这个关键字呢?

我之前在想,是不是成了银行的工作人员后就知道用户的银行卡密码了?当然这只是以前一直困惑的问题,其实到现在也还没明白…支付宝里存钱了,马云他们家知道我支付宝密码不???这安全吗??

学习的越多,越接近真相,之前搞nacos发现nacos的密码会被什么MD5值弄一下,再存储到数据库中,明明就是nacos5个字母的密码,存储到数据库中就变成了一长串的乱七八糟的字符组合了。后来搞了http,啥中文乱码处理之类的,发现网络传输还可以加密,我又搞文件服务组件,发现还有二进制、八进制、十六进制编码、奇奇怪怪的编码一混合,哈哈哈,自己都不知道密码长啥样了,又放心多了。
从接触到这个关键字,我又联想到网络传输时输入的密码…有了这个关键字,又放心了一些.当然,刚刚那些话都是我在瞎掰…

序列化,我理解就是实现Serializable 接口的类就是可以序列化的,起初也不知道有什么不一样,但是到了网络传输上,比如写了个接口,通过Vo Dto传递一些值得时候,不实现序列化好像就不好使. 所以实体类一般要实现序列化。

好了,记笔记就记关键点吧:

transient 关键字
1)transient修饰的变量不能被序列化;

2)transient只作用于实现 Serializable 接口;

3)transient只能用来修饰普通成员变量字段;

4)不管有没有 transient 修饰,静态变量都不能被序列化;

更多内容可参考以下资料,都分析验证的挺不错的。

java中的transient关键字详解

https://blog.youkuaiyun.com/qq_44543508/article/details/103232007

小伙子,你真的搞懂 transient 关键字了吗?

https://blog.youkuaiyun.com/youanyyou/article/details/88218413

TRANSIENT

https://www.cnblogs.com/tiantanglw/p/9142895.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值