av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

java事務的概念淺析

瀏覽:4日期:2022-08-20 10:04:12

事務,一般是指要做的或所做的事情。在計算機術語中是指訪問并可能更新數據庫中各種數據項的一個程序執行單元(unit)。事務(Transaction)是訪問并可能更新數據庫中各種數據項的一個程序執行單元(unit)。事務通常由高級數據庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,并用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。

一個Java應用系統,如果要操作數據庫,則通過JDBC來實現的。增加、修改、刪除都是通過相應方法間接來實現的,事務的控制也相應轉移到Java程序代碼中。因此,數據庫操作的事務習慣上就稱為Java事務。

1、事務的特性

事務必須服從ISO/IEC所制定的ACID原則。ACID是原子性(atomicity)、一致性(consistency)、隔離性 (isolation)和持久性(durability)的縮寫。

原子性(atomicity):事務是數據庫的邏輯工作單位,而且是必須是原子工作單位,對于其數據修改,要么全部執行,要么全部不執行。比如A向B轉賬1000元,那么這就一定要保證原子性(要么同時成功,要么同時失敗)。一致性(consistency):事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態,一致性與原子性是密切相關的。比如A向B轉賬,不可能A扣了錢,B卻沒收到(這就是非一致性)。

隔離性(isolation):一個事務的執行不能被其他事務所影響。比如A和C同時向B轉賬,那B同一時間只能和一個人交易(同時只能有一個交易在執行)。

持久性(durability):一個事務一旦提交,事物的操作便永久性的保存在DB中。即使此時再執行回滾操作也不能撤消所做的更改。A向B轉賬,成功以后B的賬戶就存入了轉賬數額,在不做其他的操作前提下數據是永久性的。

2、事務的隔離級別

串行化,Serializable,一個事務在執行過程中完全看不到其他事務對數據庫所做的更新。

可重復讀,Repeatable Read,一個事務在執行過程中可以看到其他事務已經提交的記錄,但是不能看到其他事務對已有記錄的更新。

讀已提交數據,Read Commited,一個事務在執行過程中可以看到其他事務已經提交的記錄,而且能看到其他事務對已有記錄的更新。

讀未提交數據,Read UnCommited,一個事務在執行過程中可以看到其他事務沒有提交的記錄,而且能看到其他事務沒有提交的記錄的更新。

隔離級別越高,越能保證數據的完整性和一致性,但對高并發性能影響也越大,故需要合理選擇。

3、Java中的事務處理

一般情況下,J2EE應用服務器支持JDBC事務、JTA(Java Transaction API)事務、容器管理事務。一般情況下,最好不要在程序中同時使用上述三種事務類型,比如在JTA事務中嵌套JDBC事務。第二方面,事務要在盡可能短的時間內完成,不要在不同方法中實現事務的使用。

到此這篇關于java事務的概念淺析的文章就介紹到這了,更多相關java里面有事務的概念嗎內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 亚洲在线免费观看 | 国产精品亚洲一区二区三区在线 | 在线日韩欧美 | 欧美a√ | 久久精品这里精品 | 国产精品视频在线播放 | 久久99精品久久久久久秒播九色 | 午夜欧美一区二区三区在线播放 | 国产精品久久国产精品 | 欧美精品在线观看 | 丁香综合 | 中文字幕1区 | 久久精片 | 一区在线视频 | 黄网站涩免费蜜桃网站 | 一区二区三区国产 | 欧美激情一区 | 日日日操| 在线免费观看a级片 | 综合精品 | 高清人人天天夜夜曰狠狠狠狠 | 欧美日韩一区精品 | 色婷婷亚洲 | 国产精品久久午夜夜伦鲁鲁 | 91资源在线 | 久久久久久黄 | 中文字幕精品一区二区三区精品 | 成人av一区| 亚洲免费一 | 精品国产一区二区三区久久影院 | 欧美一区二区三区精品 | 伊人性伊人情综合网 | 亚洲精品一区二区三区中文字幕 | 九九热精品在线 | 91精品国产综合久久久久久首页 | 国产高清美女一级a毛片久久w | 久久99国产精品久久99果冻传媒 | 久久av一区 | 一级片片 | 99精品久久久国产一区二区三 | 国产农村妇女精品一二区 |