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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java多線程編程之使用Exchanger數(shù)據(jù)交換實例
這篇文章主要介紹了Java多線程編程之使用Exchanger數(shù)據(jù)交換實例,本文直接給出實例代碼,需要的朋友可以參考下2015-05-05
MyBatis動態(tài)SQL之<choose><when><otherwise>標簽的使用
MyBatis中動態(tài)語句choose-when-otherwise 類似于Java中的switch-case-default語句,本文就來介紹一下MyBatis動態(tài)SQL之<choose><when><otherwise>標簽的使用,感興趣的可以了解一下2023-09-09

