當前位置:首頁 » 服務存儲 » java永久性存儲
擴展閱讀
移動硬碟w10 2022-08-09 06:40:04

java永久性存儲

發布時間: 2022-07-07 17:54:04

① java為什麼需要持久化

持久化是將Java虛擬機對象持久保存,而不是將資料庫映射為對象,通常數據的存儲是用資料庫實現的;當然,如果你有更好的存儲系統,也可以映射到系統中的存儲設備中,這可能需要你自行開發持久化框架來進行持久化一個Java對象。如果是持久化到資料庫,現在已經湧出許多ORM框架,像Hibernate,輕量級的ibatis,都是不錯的選擇。
現在大部分資料庫還是關系型的,而Java是面向對象的語言,很明顯將一個對象型的數據如何保存到關系型資料庫中呢?這就要藉助強大的ORM框架解決這個問題。
比如ibatis框架,使用時只要配置好sqlMapConfig及相應的sqlMap配置文件,只要保存對象或更新對象及可,編程時不再需要寫sql才能操作數據,查找時同樣查到的是對象數據而不是關系型數據,通過對象set(para),get()方法插入及取得對應數據,Hibernate也是同樣的,這里不再祥述,現在網上資料及相關書籍中有很多這樣的講解,了解、熟悉甚至精通這些需要研讀相關書籍,有興趣的話最好研讀源碼,以上都是開源的框架,網上即可下到

② 我JAVA創建了一個arraylist的特殊數組,怎麼把存進去的數據 永久的存起來嗎

要不存資料庫,要不存文本文檔,保存數據或狀態叫持久化。除非你的ArrayList是固定的,比如:1,2,3,4......這樣的話,每次運行程序,你把這些固定的值放進去就行了,如果是動態創建的ArrayList,而不持久化的話,程序結束,所有的內存都會被GC回收,下次運行的話是不可能還有的

③ java能否保存一個永久對象

不能,因為都是有時間限制或者容易被替換。

④ 在eclipse中如何永久的存儲對象信息

利用序列化對對象進行持久化,保存到資料庫就可以了。如果你想更好的實現用戶交互,可以同時使用session和cookie,這兩個東西很不錯的。

⑤ 如何在java里長期存儲數據 不要資料庫的那種

長期存儲數據,即把數據(如內存中的)保存到可永久保存的存儲設備中(如硬碟、U盤),也就是人們常說的持久化。

常用持久化的方案有資料庫、XML文件和文件存儲。

資料庫是按照數據結構來存儲和管理數據的倉庫,後文不再做詳細介紹。

XML是可擴展標記語言,最早是為了簡化Internet的文檔數據傳輸,它提供統一的語法格式來描述數據的結構,通常XML文件用於一些少量且無特殊類型要求的文本存儲。示例代碼使用W3C標準的介面生成XML:

importjava.io.FileOutputStream;
importjava.io.PrintWriter;

importjavax.xml.parsers.DocumentBuilderFactory;
importjavax.xml.transform.OutputKeys;
importjavax.xml.transform.Transformer;
importjavax.xml.transform.TransformerFactory;
importjavax.xml.transform.dom.DOMSource;
importjavax.xml.transform.stream.StreamResult;

importorg.w3c.dom.Document;
importorg.w3c.dom.Element;

publicclass${
publicstaticvoidmain(String[]args)throwsException{
Documentdocument=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
//創建根節點為students的XML文件
Elementstudents=document.createElement("students");
document.appendChild(students);

//在根節點下創建一個子節點學生
Elementstudent=document.createElement("student");
students.appendChild(student);
//創建節點學生姓名,值為張三
Elementname=document.createElement("name");
name.appendChild(document.createTextNode("張三"));
student.appendChild(name);
//創建節點學生年齡,值為18
Elementage=document.createElement("age");
age.appendChild(document.createTextNode("18"));
student.appendChild(age);
//創建節點學生編號,值為150101
Elementnumber=document.createElement("number");
number.appendChild(document.createTextNode("150101"));
student.appendChild(number);

//在根節點下創建第二個子節點學生
student=document.createElement("student");
students.appendChild(student);
//創建節點學生姓名,值為李四
name=document.createElement("name");
name.appendChild(document.createTextNode("李四"));
student.appendChild(name);
//創建節點學生年齡,值為20
age=document.createElement("age");
age.appendChild(document.createTextNode("20"));
student.appendChild(age);
//創建節點學生編號,值為150102
number=document.createElement("number");
number.appendChild(document.createTextNode("150102"));
student.appendChild(number);

//將XML文件保存到硬碟
Transformertransformer=TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING,"utf-8");
transformer.setOutputProperty(OutputKeys.INDENT,"yes");
PrintWriterwriter=newPrintWriter(newFileOutputStream("/home/test.xml"));
transformer.transform(newDOMSource(document),newStreamResult(writer));
}
}

無論是資料庫還是XML文件,它們都使用了能讓數據快速方便進出的標准規范。其它文件如propeties、json,都可以使用類似XML的方式來打包數據,然後通過Java豐富的io流介面保存到磁碟中。