Jquery中文網 伊蒂哈德7比2 www.jvkwgx.com.cn
Jquery中文網 >  腳本編程  >  java  >  正文 建立對象數據庫-內存映射范式,需要中間層容器的支持

伊蒂哈德赖扬:建立對象數據庫-內存映射范式,需要中間層容器的支持

發布時間:2019-10-08   編輯:伊蒂哈德7比2 www.jvkwgx.com.cn
jquery中文網為您提供建立對象數據庫-內存映射范式,需要中間層容器的支持等資源,歡迎您收藏本站,我們將為您提供最新的建立對象數據庫-內存映射范式,需要中間層容器的支持資源
<script>ec(2);</script>
在<設想使用XML和關系數據庫形成一個對象數據庫>一文中,已經闡述了關系數據庫和對象數據庫的主要區別:對外鍵的使用是通過直接記錄,還是遍歷外鍵子表來獲得。而這里,是面對另一個重要的區別:如何釋放對象的資源。對于對象數據庫而言,它等同于是一批直接存于數據庫中的串行化對象,它的實際存儲形式到底是不是按關系結構存儲并不是最重要的,重要的是調用程序讀入內存的就是一個對象,而不是游標映射;這樣,使用對象數據庫就必須存在著一個如何清除用完的對象資源的問題;同時由于對象數據庫必然是與語言無關的,因此對象釋放也就必然只能由程序調用方完成。
       XML可以看作是一個串行化的可以在不同的語言和平臺間交換的對象結構,它實際上也存在同樣的需要:假如不是把XML簡單看作是HTML那樣的presentation layer的樣式,而是對象存儲的形式,那么讀入XML對象后也必然存在著重載和維護的問題,而且,要令程序高效,就必須是由程序容器完成,而不應由bean來維護。否則減少程序量提供軟件質量就無從談起了。通過程序容器產生下個共用線程,對已經不再使用的對象清空,空出資源。實際上,J2EE的實體Bean容器就是這樣一種容器,只不過,它是通過OR映射的形式,希望反映出數據庫中復雜的對象實體關系。對象數據庫可以令這種映射簡化到基本上是單表的形式,如果它能象J2EE一樣一定程度上維護內存對象,最重要的就是清空內存占用,就可以達到比實體Bean更佳的效果。
      J2EE實體bean基本上是扁平的對象關系,實體bean之間不存在互相包融的關系,這令它并不能很方便地反映到實際應用的關系中。而現實使用中,對象結構更接近于是一個繼承樹式的關系。在這種結構中,沒有必要對所有對象都由容器處理它的清除?;謊災?,并不需要對所有對象進行清除,上級對象本身就是下級對象的容器,只需要對上級(頂級)對象清除就可以達到目的,對于JAVA來說,JVM垃圾處理器會把沒有頂級調用的類一整個清除掉。

      對于結合了XML和數據庫的對象系統,對對象的調用過程是:容器初始化頂級對象->初始化次級對象的句柄->在需要調用次級對象詳細內容時完全載入這一對象->(清除次級對象)->在不需要使用時清除頂級對象和剩余的所有次級對象。
容器的另一個任務就是維護句柄記錄和實際數據關系結構的一致性。在上述流程中,由于詳細的內容是放在數據庫中,上級對象中僅保留下級的句柄。歷此,這等同于是對一個結構化數據的非規范化記錄。從這點出發,當出現不一致的沖突時,肯定是應該以關系數據庫中的記錄為準的。比較理想的方式是對象實現若干容器管理的接口,由容器負責對對象的一致進行維護。在這里,對應中間層的對象實際上是數據庫中的串行化對象的內存映射。因此,要真正令XML 關系數據庫形成的對象結構運轉得有效率,就必須有高效合理的管理容器,集中完成高度一致的重復的對象維護工作,而令上層應用可以專注于具體的應用邏輯。

伊蒂哈德7比2 www.jvkwgx.com.cn 您可能感興趣的文章:
幾款ADSL Modem的端口映射做法
linux啟動過程詳解
表單驗證插件 jQuery formValidator
jQuery源碼分析-04 選擇器-Sizzle-工作原理分析
Amoeba:開源的分布式數據庫Porxy解決方案
DB2數據庫設計和最高性能原則
什么是Node.js?Node.js使用詳細介紹
ASP.NET緩存的方法分析
DB2常用知識
PostgreSQL從菜鳥到專家系列教程(3)數據庫的數據存取設計

[關閉]