Java序列化技術即將被廢除!!!

我們的對象並不只是存在內存中,還需要傳輸網絡,或者保存起來下次再加載出來用,所以需要Java序列化技術。Java序列化技術正是將對象轉變成一串由二進制字節組成的數組,可以通過將二進制數據保存到磁盤或者傳輸網絡,磁盤或者網絡接收者可以在對象的屬類的模板上來反序列化類的對象,達到對象持久化的目的。

如果你還不熟悉 Java 序列化技術,請詳細閱讀《關於Java序列化你應該知道的一切》這篇文章。

目前 Oracle 公司計劃廢除 Java 中的古董--序列化技術,因爲它帶來了許多嚴重的安全問題(如序列化存儲安全、反序列化安全、傳輸安全等),據統計,至少有3分之1的漏洞是序列化帶來的,這也是 1997 年誕生序列化技術的一個巨大錯誤。

image

如圖所示,序列化技術現在在 Java 應用中無處不在,特別是現在的持久化框架和分佈式技術中,都需要利用序列化來傳輸對象,如:Hibernate、Mybatis、Java RMI、Dubbo等,即對象要存儲或者傳輸都不可避免要用到序列化技術,所以刪除序列化技術將是一個長期的計劃。

據悉,在未來的 Java 版本中,將會有一個迷你序列化框架來替代現在的古董序列化技術。這個新框架將會支持開發者值入序列化引擎,並支持如 JSON、XML 格式,以一個更安全的方式來序列化對象。

序列化技術自 Java 誕生到現在已經發展了 20 來年了,但並未有什麼改進和突破。也因爲其簡單易用的方式,給 Java 應用程序帶來了許多安全漏洞。現在 Oracle 版本發佈越來越快,讓我們在新的版本中能看到更多序列化技術演進吧!

關注微信公衆號獲取更多JAVA動態。

image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章