java對象持久化保存的方法詳解
java對象持久化
通常有三種可選擇的方法,如下:
- 使用文件
- 使用序列化與反序列化
- 使用數(shù)據(jù)庫
使用文件
將所需保存的對象內容或數(shù)據(jù)內容以文件的形式進行存儲,在使用時直接讀取文件并且解析。
優(yōu)點 | ①幾乎能保存任何形式數(shù)據(jù); ②實現(xiàn)簡單。 |
缺點 | 讀寫文件的效率較低,不適用于數(shù)據(jù)量比較大的情況。 |
應用場景 | ①讀寫速率要求不高、數(shù)據(jù)量不大 ②數(shù)據(jù)格式?jīng)]有嚴格限定。 |
推薦使用形式 | 將對象轉換為json字符串進行存取,java有json格式數(shù)據(jù)的解析函數(shù),十分方便。 |
使用序列化與反序列化
在不使用數(shù)據(jù)庫的情況下,比較方便的保存和加載少量的數(shù)據(jù)。數(shù)據(jù)以XXX.ser文件保存。注意:XXX.ser 文件所在的路徑必須已經(jīng)存在,否則會出現(xiàn)“找不到”或“不存在”問題。XXX.ser 文件能夠自動生成。
優(yōu)點 | ①能夠保存所有對象數(shù)據(jù),且對私有數(shù)據(jù)可控;②實現(xiàn)簡單;③讀寫數(shù)據(jù)結構嚴謹,解析方便。 |
缺點 | 不適用數(shù)據(jù)量比較大的情況。 |
應用場景 | 讀寫速率要求不高、數(shù)據(jù)量不大的情況。 |
使用數(shù)據(jù)庫
根據(jù)數(shù)據(jù)具體類型,選擇合適的關系型或者非關系型數(shù)據(jù)庫。
優(yōu)點 | ①適用于數(shù)據(jù)量比較大的情況 ②讀寫速度快;數(shù)據(jù)結構嚴謹。 |
缺點 | ①只能保存數(shù)據(jù)庫接受的數(shù)據(jù) ②比前兩者實現(xiàn)稍顯復雜。 |
應用場景 | 讀寫速率要求高、數(shù)據(jù)量大且數(shù)據(jù)結構嚴謹?shù)那闆r。 |
推薦數(shù)據(jù)庫 | 如果選用關系型數(shù)據(jù)庫,數(shù)據(jù)量低于50GB的小型數(shù)據(jù)庫應用, 推薦使用JDK自帶的Apache Derby的內嵌開發(fā)模式。Derby非常小巧,核心部分derby.jar只有2M,相比于其他數(shù)據(jù)庫用起來簡便。 |
到此這篇關于java對象持久化保存的方法詳解的文章就介紹到這了,更多相關java對象持久化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mybatis返回list<Integer>時resultType寫Integer問題
這篇文章主要介紹了mybatis返回list<Integer>時resultType寫Integer問題,具有很好的參考價值,希望對大家有所幫助,2023-12-12基于java springboot + mybatis實現(xiàn)電影售票管理系統(tǒng)
這篇文章主要介紹了基于java springboot + mybatis實現(xiàn)的完整電影售票管理系統(tǒng)基于java springboot + mybatis,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08