freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)專業(yè)外文資料翻譯--對(duì)象持久化和java-深入的了解面向?qū)ο笳Z(yǔ)言中的對(duì)象持久的討論-資料下載頁(yè)

2025-05-11 17:48本頁(yè)面

【導(dǎo)讀】vendors.setOfGoodCustomers=(());

  

【正文】 上是否能成功仍有待觀察。 但是問(wèn)題依然存在:對(duì)象持久化是對(duì)象特征的一部分或者是外部服務(wù)通過(guò)提供分離的接口給對(duì)象?通過(guò)什么樣的對(duì)象集合和方法查詢它們?在對(duì)象數(shù)據(jù)庫(kù)和 java 語(yǔ)言本身視持久化為語(yǔ)言的內(nèi)在時(shí),關(guān)系,擴(kuò)展關(guān)系,對(duì)象 /關(guān)系往往在語(yǔ)言之間主張分裂的做法。 串行化實(shí)現(xiàn) java 持久化 對(duì)象串行化是 java 語(yǔ)言中對(duì)象和元素的流的存儲(chǔ)和讀取的特殊策略 。值得提醒的是,雖然有商用的第三方庫(kù)對(duì)串行化 C++對(duì)象的支持,但是 C++本身并沒(méi)有提供對(duì)象串行化的策略。下面是如何使用 java 的串行化: // Writing foo to a stream (for example, a file) // Step 1. Create an output stream // that is, create bucket to receive the bytes FileOutputStream out = new FileOutputStream(fooFile)。 // Step 2. Create ObjectOutputStream // that is, create a hose and put its head in the bucket ObjectOutputStream os = new ObjectOutputStream(out) // Step 3. Write a string and an object to the stream 3 // that is, let the stream flow into the bucket (foo)。 (new Foo())。 // Step 4. Flush the data to its destination ()。 writeObject 方法串行化了 foo 對(duì)象和它的傳遞閉包 ―― 指的就是圖中所有引用 foo的對(duì)象。流內(nèi)部只有串行化對(duì)象的一個(gè)副本存在。其它引用對(duì)象以對(duì)象句柄的形式存在來(lái)保存空格和防止循環(huán)引用。串行化對(duì)象以繼承結(jié)構(gòu)的每個(gè)類的屬性開(kāi)始,如下類的實(shí)現(xiàn): // Reading an object from a stream // Step 1. Create an input stream FileInputStream in = new FileInputStream(fooFile)。 // Step 2. Create an object input stream ObjectInputStream ins = new ObjectInputStream(in)。 // Step 3. Got to know what you are reading String fooString = (String)()。 Foo foo = (Foo)()。 對(duì)象串行化和安全 默認(rèn)情況下,串行化寫(xiě)入流中和從流中讀取的都是非靜態(tài)和非臨時(shí)的屬性。這種特性能夠被用作一個(gè)安全策略, 通過(guò)定義無(wú)需串行化的屬性為私有臨時(shí)類型的變量。如果一個(gè)類不被串行化,那么 writeObject 和 readObject 方法將拋出 NoAccessException 異常。 使用事務(wù)完整性的持久化:介紹 JDBC 與 X/Open 的 SQL CLI(客戶端接口 )和微軟抽象的 ODBC 類型, JDBC 的目的也是提供一個(gè)與數(shù)據(jù)庫(kù)管理系統(tǒng)( DBMS)無(wú)關(guān)的數(shù)據(jù)庫(kù)連接策略。要成為適用的 JDBC,驅(qū)動(dòng)至少要支持 ANSI SQL- 2 entry- level API,它是提供第三方工具和靈活數(shù)據(jù)庫(kù)訪問(wèn)應(yīng)用的廠商。 JDBC 被設(shè)計(jì)為能與 java 系統(tǒng)相互兼容。開(kāi)發(fā)者們要求廠商們提供比 ODBC 更加完善的 API,能夠在編譯時(shí)提供靜態(tài)類型的檢查。下面是關(guān)于幾個(gè)主要 JDBC 接口的描述: ? 手動(dòng)加載驅(qū)動(dòng)和為新的數(shù)據(jù)庫(kù)連接提供支持 ? 表示一個(gè)特殊數(shù)據(jù)庫(kù)的連接 ? 在執(zhí)行給定連接的 SQL 語(yǔ)句時(shí)擔(dān)當(dāng)容器 ? 控制訪問(wèn)的結(jié)果集 你可以多種方式來(lái)實(shí)現(xiàn) JDBC 驅(qū)動(dòng)。最簡(jiǎn)單的是構(gòu)建 ODBC 橋,這種方法最適合工具和應(yīng)用 不需要很高的性能。一個(gè)更容易擴(kuò)展的設(shè)計(jì)是引進(jìn)一個(gè)中間層來(lái)連接 DBMS服務(wù)器,該層提供一個(gè) JDBC 網(wǎng)絡(luò)驅(qū)動(dòng)器,它通過(guò)公共的協(xié)議來(lái)訪問(wèn) DBMS 服務(wù)器。但4 是最有效率的驅(qū)動(dòng)器就是直接使用 DBMS 本身的 API。 對(duì)象數(shù)據(jù)庫(kù)和 java 持久化 在行業(yè)中許多正在進(jìn)行的項(xiàng)目都在對(duì)象層面提供了 java 持久化。對(duì)象設(shè)計(jì)的 PSE(持久性存儲(chǔ)引擎)和 PSE Pro 是唯一完全基于 java 的,可用的面向?qū)ο髷?shù)據(jù)庫(kù)軟件包(至少,這是我所知道的)。關(guān)于 PSE 和專業(yè) PSE 的更多信息請(qǐng)參看文獻(xiàn)部分。 對(duì)軟件廠家來(lái)說(shuō), java 開(kāi)發(fā)引領(lǐng)顛覆了傳統(tǒng)的 開(kāi)發(fā)形式,在開(kāi)發(fā)過(guò)程中是顯而易見(jiàn)的。例如, PSE 和 PSE Pro 是在不同的環(huán)境下開(kāi)發(fā)的。因?yàn)樵陂_(kāi)發(fā)過(guò)程中這個(gè)不是在連接這步上,開(kāi)發(fā)者們不得不創(chuàng)建相互獨(dú)立的多個(gè)功能模塊,這樣就形成了更好,更可靠的面向?qū)ο缶幋a。 PSE Pro 能夠恢復(fù)由于系統(tǒng)故障導(dǎo)致失敗的事務(wù)引起的數(shù)據(jù)庫(kù)的破壞。負(fù)責(zé)額外功能的類沒(méi)有在發(fā)布的 PSE 版本中體現(xiàn)出來(lái)。除了這個(gè)區(qū)別,兩個(gè)產(chǎn)品就沒(méi)有其它的區(qū)別了。這些產(chǎn)品是我們所稱的 dribbleware ―― 通過(guò)插入新的組件來(lái)增強(qiáng)軟件發(fā)布版本的功能。不遠(yuǎn)的將來(lái),購(gòu)買(mǎi)大型的單個(gè)軟件的概念將成為過(guò)去 的事。這種在網(wǎng)絡(luò)空間中的新的商業(yè)環(huán)境,加上 java 的處理技術(shù),使用戶只需要購(gòu)買(mǎi)他們需要的對(duì)象模型,這樣就導(dǎo)致更緊湊的最終產(chǎn)品。 PSE 的工作是通過(guò)后處理技術(shù)和在開(kāi)發(fā)人員創(chuàng)建的類文件中添加注解。從 PSE 的視圖可以看出,在對(duì)象圖中的類不是有可能持久化的就是已知要持久化的。有可能持久化的類只能持久它們本身,而已知要持久化的類能夠操作他們的持久化對(duì)象。這樣的不同是必須的,因?yàn)閷?duì)某些類來(lái)說(shuō)持久化不是必須的操作。類文件的后處理技術(shù)添加了以下的修改到類中: ? 使類從 或者 繼承 定義 initializeContents() 方法來(lái)加載實(shí)參到你的 Persistent 子類的空實(shí)例中,GenericObject 類中提供的 ObjectsStore 方法,用來(lái)獲取每個(gè)屬性的類型。為了能調(diào)用正確的方法,應(yīng)該需要一個(gè)獨(dú)立的方法。 ObjectStore 需要調(diào)用 initializeContents()方法。方法如下: ? Public void initilazeContects(GenericObject genObj)。 ? 定義一個(gè) flushContects()方法,用來(lái)將修改 的實(shí)例(當(dāng)前的持久化對(duì)象)拷貝回?cái)?shù)據(jù)庫(kù)中。 ObjectStore 在 GenericObject 中提供方法,確保你的持久化對(duì)象屬性能調(diào)用正確的方法。這樣就需要一個(gè)獨(dú)立的方法來(lái)設(shè)置 Field 對(duì)象的類型, ObjectStore 需要調(diào)用 flushContents()方法。方法如下: ? Public void flushContents(GenericObject genObj)。 ? 定義一個(gè) clearContents()方法,用來(lái)重新設(shè)置實(shí)例的值為默認(rèn)值。該方法必須將所有引用持久化對(duì)象的引用屬性設(shè)置為 null。 ObjectStore 需要調(diào)用該方法。方法如下: ? Public void clearContents()。 ? 修改引用非靜態(tài)屬性的方法來(lái)調(diào)用 ()和 ()方法。這些方5 法必須在持久化對(duì)象的內(nèi)容能夠分別的被訪問(wèn)和修改之前被調(diào)用。這個(gè)步驟是非強(qiáng)制性的,它能提供一個(gè)系統(tǒng)的方式來(lái)確保 fetch()或者 dirty()在對(duì)象內(nèi)容被訪問(wèn)或者修改之前被調(diào)用。 ? 定義一個(gè)類來(lái)提供可持久化類的概要信息 以上所有的步驟都可以手工或者自動(dòng)完成。 PSE 的事務(wù)語(yǔ)意 以前的 ObjectStore 使用者或許會(huì)發(fā)現(xiàn),數(shù)據(jù)庫(kù)和事務(wù)總是關(guān)聯(lián)在一起。有一個(gè)廣泛的系統(tǒng) ObjectStore 對(duì)象來(lái)初始化環(huán)境和參數(shù)。數(shù)據(jù)庫(kù)類提供 create, open, close 方法,事務(wù)類有開(kāi)始事務(wù) (begin),停止事務(wù) (abort),結(jié)束事務(wù) (mit)等方法。以序列化來(lái)看,你應(yīng)該找到一個(gè)入口點(diǎn)。 Database 類的 getRoot 和 setRoot 方法具有這個(gè)功能,我想看例子才是最有幫助的。第一段代碼顯展現(xiàn)了如何初始化 ObjectStore: (serverName, null)。 try { db = (dbName, )。 } catch(DatabaseNotFoundException exception) { db = (dbName, 0664)。 } 下面的代碼片段展視了如何開(kāi)始和提交事務(wù): Transaction transaction = ()。 try { foo = (Foo)(fooHead)。 } catch(DatabaseRootNotFoundException exception) { (fooHead, new Foo())。 } ()。 上面提到的三個(gè)類, Transaction, Database 和 ObjectStore 是 ObjectStore 主要的類。 不支持傳播事務(wù),備份和恢復(fù),群集,大型數(shù)據(jù)庫(kù),對(duì)象安全等在語(yǔ)言中有用的和任何分配方式。激動(dòng)人心的是隨著基礎(chǔ)產(chǎn)品的日趨成熟,所有的這些功能也都在逐步的增加。 作者簡(jiǎn)介 Arsalan Saljoughy 是一名系統(tǒng)工程師,是 Sun 公司在對(duì)象技術(shù)方面的專家。他獲得紐約州立大學(xué)的數(shù)學(xué) .,后來(lái)在柏林的一所大學(xué)擔(dān)任研究源。在加入 Sun 之前,他是一名開(kāi)發(fā)人員和一所財(cái)經(jīng)服務(wù)公司的 IT 顧問(wèn)。 結(jié)束語(yǔ) 6 雖然現(xiàn)在來(lái)確定對(duì)象持久化的方法特別是 java 持久化是否將來(lái)會(huì)成為主流還為之尚早,但是可以確定的是多種多樣的方法會(huì)同時(shí)存在。雖然已對(duì)象的方式來(lái)存儲(chǔ)對(duì)象,而不是把對(duì)象映射到行和屬性列的方式要慢很多,但是這種方式有可能會(huì)發(fā)生。同時(shí)我們更希望看到對(duì)象數(shù)據(jù)庫(kù)將在工程技術(shù)和遠(yuǎn)程通信技術(shù)應(yīng)用的優(yōu)勢(shì),而不是銀行業(yè)務(wù)和辦公財(cái)政業(yè)務(wù)的應(yīng)用。
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1