一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

J2EE當前持久層設計常見(jiàn)問(wèn)題

時(shí)間:2024-07-31 12:17:13 J2EE培訓 我要投稿
  • 相關(guān)推薦

J2EE當前持久層設計常見(jiàn)問(wèn)題

  當前J2EE項目中,面臨的一個(gè)共同問(wèn)題就是如果控制事務(wù)的并發(fā)訪(fǎng)問(wèn),雖然有些持久層框架已經(jīng)為我們做了很多工作,但是理解原理,對于我們開(kāi)發(fā)來(lái)說(shuō)還是很有用處的。下面小編為大家整理了J2EE當前持久層設計的常見(jiàn)問(wèn)題,一起來(lái)看看吧:

  事務(wù)并發(fā)訪(fǎng)問(wèn)控制策略

  當前J2EE項目中,面臨的一個(gè)共同問(wèn)題就是如果控制事務(wù)的并發(fā)訪(fǎng)問(wèn),雖然有些持久層框架已經(jīng)為我們做了很多工作,但是理解原理,對于我們開(kāi)發(fā)來(lái)說(shuō)還是很有用處的。

  事務(wù)并發(fā)訪(fǎng)問(wèn)主要可以分為兩類(lèi),分別是同一個(gè)系統事務(wù)和跨事務(wù)訪(fǎng)問(wèn)的并發(fā)訪(fǎng)問(wèn)控制,其中同一個(gè)系統事務(wù)可以采取樂(lè )觀(guān)鎖以及悲觀(guān)鎖策略,而跨多個(gè)系統事務(wù)時(shí)則需要樂(lè )觀(guān)離線(xiàn)鎖和悲觀(guān)離線(xiàn)鎖。在討論這四種并發(fā)訪(fǎng)問(wèn)控制策略之前,先需要明確一下數據庫事務(wù)隔離級別的問(wèn)題,ANSI標準規定了四個(gè)數據庫事務(wù)隔離級別,它們分別是:

  讀取未提交(Read Uncommitted)

  這是最低的事務(wù)隔離級別,讀事務(wù)不會(huì )阻塞讀事務(wù)和寫(xiě)事務(wù),寫(xiě)事務(wù)也不會(huì )阻塞讀事務(wù),但是會(huì )阻塞寫(xiě)事務(wù)。這樣造成的一個(gè)結果就是當一個(gè)寫(xiě)事務(wù)沒(méi)有提交的時(shí)候,讀事務(wù)照樣可以讀取,那么造成了臟讀的現象。

  讀取已提交(Read Committed)

  采用此種隔離界別的時(shí)候,寫(xiě)事務(wù)就會(huì )阻塞讀事務(wù)和寫(xiě)事務(wù),但是讀事務(wù)不會(huì )阻塞讀事務(wù)和寫(xiě)事務(wù),這樣因為寫(xiě)事務(wù)會(huì )阻塞讀取事務(wù),那么從而讀取事務(wù)就不能讀到臟數據,但是因為讀事務(wù)不會(huì )阻塞其它的事務(wù),這樣還是會(huì )造成不可重復讀的問(wèn)題。

  可重復讀(Repeatable Read)

  采用此種隔離級別,讀事務(wù)會(huì )阻塞寫(xiě)事務(wù),但是讀事務(wù)不會(huì )阻塞讀事務(wù),但是寫(xiě)事務(wù)會(huì )阻塞寫(xiě)事務(wù)和讀事務(wù)。因為讀事務(wù)阻塞了寫(xiě)事務(wù),這樣以來(lái)就不會(huì )造成不可重復讀的問(wèn)題,但是這樣還是不能避免幻影讀問(wèn)題。

  序列化(serializable)

  此種隔離級別是最嚴格的隔離級別,如果設置成這個(gè)級別,那么就不會(huì )出現以上所有的問(wèn)題(臟讀,不可重復讀,幻影讀)。但是這樣以來(lái)會(huì )極大的影響到我們系統的性能,因此我們應該避免設置成為這種隔離級別,相反的,我們應該采用較低的隔離界別,然后再采用并發(fā)控制策略來(lái)進(jìn)行事務(wù)的并發(fā)訪(fǎng)問(wèn)控制)。

  延伸閱讀:Java EE容器組成:

  Web容器:包括Jsp與Servlet組件,可使用EJB中的組件完成復雜的商務(wù)邏輯;

  EJB容器:包含組件EJB, EJB規范定義了一個(gè)開(kāi)發(fā)和部署分布式商業(yè)邏輯的框架;

  Applet容器 包含組件Applet,即可使用J2SE開(kāi)發(fā)Applet;

  Application Client容器:包含組件Application Client。

  現在流行的Java EE容器有很多:Tomcat、JBoss、Resin、Glassfish等等。下面對這四種Java EE容器進(jìn)行了一番簡(jiǎn)單的比對。

  1. Tomcat

  Tomcat是Apache鼎力支持的Java Web應用服務(wù)器,由于它優(yōu)秀的穩定性以及豐富的文檔資料,廣泛的使用人群,從而在開(kāi)源領(lǐng)域受到最廣泛的青睞。

  2. Jboss

  Jboss作為Java EE應用服務(wù)器,它不但是Servlet容器,而且是EJB容器,從而受到企業(yè)級開(kāi)發(fā)人員的歡迎,從而彌補了Tomcat只是一個(gè)Servlet容器的缺憾。

  3. Resin

  Resin也僅僅是一個(gè)Servlet容器,然而由于它優(yōu)秀的運行速度,使得它在輕量級Java Web領(lǐng)域備受喜愛(ài),特別是在互聯(lián)網(wǎng)Web服務(wù)領(lǐng)域,眾多知名公司都采用其作為他們的Java Web應用服務(wù)器,譬如163、ku6等。

  在商用應用服務(wù)器里主要有:Weblogic、Websphere,其中Weblogic我也使用過(guò)很長(cháng)一段時(shí)間,當時(shí)也只用其當Servlet容器,然而就在同等條件下,在性能及易用性等方面,要比Tomcat優(yōu)秀很多。

  4.glassfish

  glassfish是Sun公司推出的Java EE服務(wù)器(Java EE容器),一個(gè)比較活躍的開(kāi)源社區,不斷的通過(guò)社區的反饋來(lái)提高其的可用性,經(jīng)過(guò)glassfish v1 glassfish v2 到今天的glassfish v3 ,它已經(jīng)走向成熟。Glassfish是一個(gè)免費、開(kāi)放源代碼的應用服務(wù),它實(shí)現了Java EE 5,Java EE 5 平臺包括了以下最新技術(shù):EJB 3.0、JSF 1.2、Servlet 2.5、

  JSP 2.1、JAX-WS 2.0、JAXB 2.0、 Java Persistence 1.0、Common Annonations 1.0、StAX 1.0等。

  支持集群,通過(guò)內存中會(huì )話(huà)狀態(tài)復制,增強了部署體系結構的可用性與可伸縮性,它對集群有著(zhù)很好的支持,可以簡(jiǎn)單到通過(guò)添加機器,就可輕松的提高網(wǎng)站的帶負載能力,在解析能力方面,它對html的吞吐能力與apache服務(wù)器不分上下,就是tomcat所不能比的,支持目錄部署,熱部署,解決了tomcat對熱部署能力的缺陷。

  在版本方面做的更加人性化,有開(kāi)發(fā)時(shí)用的簡(jiǎn)化版,專(zhuān)門(mén)用于部署web項目的版本,還要完全符合j2ee標準的版本。

【J2EE當前持久層設計常見(jiàn)問(wèn)題】相關(guān)文章:

J2EE表現層設計思考核心08-31

J2EE架構與設計培訓08-30

淺析躍層設計要點(diǎn)09-12

J2EE架構環(huán)境監控系統設計09-04

錯層餐廳如何裝修設計07-24

J2EE設計模式圖書(shū)目錄06-17

當前美工設計的就業(yè)情況如何09-14

當前如何培養動(dòng)畫(huà)設計人才08-06

美甲持久的方法06-06

什么是J2EE07-05

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看