序列化的高阶认识-绕开 transient 机制的办法
生活随笔
收集整理的這篇文章主要介紹了
序列化的高阶认识-绕开 transient 机制的办法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
雖然name被transient修飾,但是通過我們寫的這兩個(gè)方法依然能夠使得name字段正確被序列化和反序列化
writeObject和readObject原理
writeObject和readObject是兩個(gè)私有的方法,他們是什么時(shí)候被調(diào)用的呢?從運(yùn)行結(jié)果來看,它確實(shí)被調(diào)用。而且他們并不存在于Java.lang.Object,也沒有在Serializable中去聲明。
我們唯一的猜想應(yīng)該還是和ObjectInputStream和ObjectOutputStream有關(guān)系,所以基于這個(gè)入口去看看在哪個(gè)地方有調(diào)用
從源碼層面來分析可以看到,readObject是通過反射來調(diào)用的。
其實(shí)我們可以在很多地方看到readObject和writeObject的使用,比如HashMap。
?
總結(jié)
以上是生活随笔為你收集整理的序列化的高阶认识-绕开 transient 机制的办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 序列化的高阶认识-Transient 关
- 下一篇: 分布式架构下常见序列化技术-了解序列化的