<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • J2EE當前持久層設計常見問題

    時間:2024-07-31 12:17:13 J2EE培訓 我要投稿
    • 相關推薦

    J2EE當前持久層設計常見問題

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

      事務并發(fā)訪問控制策略

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

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

      讀取未提交(Read Uncommitted)

      這是最低的事務隔離級別,讀事務不會阻塞讀事務和寫事務,寫事務也不會阻塞讀事務,但是會阻塞寫事務。這樣造成的一個結(jié)果就是當一個寫事務沒有提交的時候,讀事務照樣可以讀取,那么造成了臟讀的現(xiàn)象。

      讀取已提交(Read Committed)

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

      可重復讀(Repeatable Read)

      采用此種隔離級別,讀事務會阻塞寫事務,但是讀事務不會阻塞讀事務,但是寫事務會阻塞寫事務和讀事務。因為讀事務阻塞了寫事務,這樣以來就不會造成不可重復讀的問題,但是這樣還是不能避免幻影讀問題。

      序列化(serializable)

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

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

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

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

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

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

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

      1. Tomcat

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

      2. Jboss

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

      3. Resin

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

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

      4.glassfish

      glassfish是Sun公司推出的Java EE服務器(Java EE容器),一個比較活躍的開源社區(qū),不斷的通過社區(qū)的反饋來提高其的可用性,經(jīng)過glassfish v1 glassfish v2 到今天的glassfish v3 ,它已經(jīng)走向成熟。Glassfish是一個免費、開放源代碼的應用服務,它實現(xiàn)了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等。

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

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

    【J2EE當前持久層設計常見問題】相關文章:

    J2EE表現(xiàn)層設計思考核心08-31

    J2EE架構(gòu)與設計培訓08-30

    淺析躍層設計要點09-12

    J2EE架構(gòu)環(huán)境監(jiān)控系統(tǒng)設計09-04

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

    J2EE設計模式圖書目錄06-17

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

    當前如何培養(yǎng)動畫設計人才08-06

    美甲持久的方法06-06

    什么是J2EE07-05

    主站蜘蛛池模板: 在线精品无码字幕无码AV| 人人妻人人澡人人爽欧美精品| 日批日出水久久亚洲精品tv| 久久成人影院精品777| 最新国产精品拍自在线播放| 国产精品毛片无码| 91亚洲国产成人久久精品| 97视频在线观看这里只有精品| 亚洲中文字幕无码久久精品1 | 亚洲精品无码日韩国产不卡?V| 四虎国产精品免费观看| 国产精品日韩AV在线播放| 无码精品人妻一区二区三区免费看 | 亚洲精品国产精品国自产观看| 国产精品国产三级国产a| 欧洲精品视频在线观看| 91麻豆精品国产自产在线观看一区| 人妻少妇精品视频一区二区三区| 亚洲无码日韩精品第一页| 欧美成人精品第一区二区三区| 国内精品久久久久久久久电影网| 午夜精品美女写真福利| 久久精品国产亚洲综合色| 九九热在线精品视频| 精品国产自在在线在线观看| 国产国拍亚洲精品mv在线观看| 久久精品国产网红主播| 久久精品国产精品亚洲毛片| 精品无码人妻夜人多侵犯18 | 国产精品成人观看视频国产奇米| 精品国产sm捆绑最大网免费站| 久久丫精品国产亚洲av不卡| 久久99国产精品尤物| 无码精品日韩中文字幕| 久久亚洲中文字幕精品有坂深雪 | 97精品一区二区视频在线观看 | 青青草原精品国产亚洲av| 婷婷精品国产亚洲AV麻豆不片| 亚洲2022国产成人精品无码区| 日韩精品无码中文字幕一区二区| 久久夜色精品国产噜噜亚洲AV|