盡量不要實現序列化接口 為什么要實現序列化接口?
為什么要實現序列化接口?首先,您應該弄清楚可解析接口的用途!為什么Android提供這個接口!只有知道原因,才能知道是否合適!這個界面在Android中的一個非常常見的用法是Aidl!目的是將數據傳輸
為什么要實現序列化接口?
首先,您應該弄清楚可解析接口的用途!為什么Android提供這個接口!只有知道原因,才能知道是否合適!這個界面在Android中的一個非常常見的用法是Aidl!目的是將數據傳輸到進程!此外,內存共享!例如,在intent中傳遞自定義對象時,還有一些方法可以實現接口!當然,intent還提供了傳遞可序列化接口的方法!這是Java序列化接口!與可解析相比,性能不如可解析!而序列化接口更適合持久化序列化保存在本地!因此,建議使用serializable、interface objectinputstream和objectoutputstream進行持久化!手機上的碼字太累了
Java的“對象序列化”可以將實現可序列化接口的對象轉換成一組字節(jié),這樣當你以后想使用這個對象時,就可以恢復字節(jié)數據并相應地重建對象。即使在跨網絡環(huán)境中也是如此,這意味著序列化可以自動補償操作系統(tǒng)中的差異。換句話說,您可以在windows機器上創(chuàng)建一個對象,序列化它,然后通過網絡將它傳輸到UNIX機器,然后在那里重建它。您不必擔心數據在不同平臺上的表示方式、字節(jié)順序或任何其他細節(jié)。
javaBean為什么要實現序列化Serializable接口?
原因很簡單:
1、JSON是JavaScript本機支持,沒有外部依賴項
2、JSON具有人眼可讀性
3、開發(fā)人員懶惰
關于序列化協議和框架,估計可以創(chuàng)建一個百科全書,如:XML、JSON、bson、Hessian、,協議緩沖區(qū)…
有很多不受歡迎的,排名不分先后。
雖然有各種各樣的協議和框架,但序列化本質上可以分為兩種類型:
二進制協議的優(yōu)點是體積小、效率高。例如,協議緩沖區(qū)可以用來將數據壓縮成位,序列化和反序列化具有良好的性能,非常適合各種系統(tǒng)通信和接口調用。
但問題也在這里,二進制數據幾乎沒有可讀性,所以在程序的開發(fā)和調試中,更讓程序員痛苦,尤其是頻繁變化的數據結構。
文本協議恰恰相反,數據量大,性能差,但能滿足可讀性要求。例如,我們可以很容易地理解JSON或人肉結構數據的一部分。對于快速開發(fā)和web開發(fā)來說,它可以提高開發(fā)效率,開發(fā)人員不必過于關注協議或框架,只關注業(yè)務。
我的觀點如下:
1。對于業(yè)務穩(wěn)定、性能要求高的場景,應該優(yōu)先考慮協議緩沖區(qū)等二進制序列化協議
2。對于性能要求低、業(yè)務更改頻繁的場景,應該優(yōu)先考慮JSON和XML等文本協議