最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java事務的概念淺析

 更新時間:2020年12月01日 16:17:19   投稿:laozhang  
在本篇內容里小編給大家整理的是一篇關于java事務的概念淺析,有興趣的朋友們可以參考學習下。

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

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

1、事務的特性

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

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

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

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

2、事務的隔離級別

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

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

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

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

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

3、Java中的事務處理

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

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

相關文章

  • spring boot整合jsp及設置啟動頁面的方法

    spring boot整合jsp及設置啟動頁面的方法

    這篇文章主要給大家介紹了關于spring boot整合jsp及設置啟動頁面的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用spring boot具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • JAVA生成xml文件簡單示例

    JAVA生成xml文件簡單示例

    這篇文章主要介紹了JAVA生成xml文件的相關資料,在Java中可以使用DOM或者JDOM來生成XML文件,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • 使用Java實現獲取文件MD5值工具類

    使用Java實現獲取文件MD5值工具類

    我們在工作中通常使用MD5對文件進行校驗完整性,比較,提高安全性等,這篇文章主要為大家詳細介紹了Java如何編寫一個實現獲取文件MD5值的工具,需要的可以參考下
    2023-12-12
  • Java修改maven的默認jdk版本為1.7的方法

    Java修改maven的默認jdk版本為1.7的方法

    這篇文章主要介紹了Java修改maven的默認jdk版本為1.7的方法,需要的朋友可以參考下
    2018-02-02
  • 詳解Spring DeferredResult異步操作使用場景

    詳解Spring DeferredResult異步操作使用場景

    本文主要介紹了Spring DeferredResult異步操作使用場景,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • PL/SQL實現JAVA中的split()方法的例子

    PL/SQL實現JAVA中的split()方法的例子

    這篇文章主要介紹了PL/SQL實現JAVA中的split()方法的例子的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • Spring獲取當前類在容器中的beanname實現思路

    Spring獲取當前類在容器中的beanname實現思路

    這篇文章主要介紹了Spring獲取當前類在容器中的beanname,實現思路只需繼承BeanNameAware接口,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 如何使用IDEA 搭建 SpringCloud 項目

    如何使用IDEA 搭建 SpringCloud 項目

    所謂微服務,就是要把整個業(yè)務模塊拆分成多個各司其職的小模塊,做到單一職責原則,不會重復開發(fā)相同的業(yè)務代碼,實現真正意義上的高內聚、低耦合,這篇文章主要介紹了如何使用IDEA 搭建 SpringCloud 項目,需要的朋友可以參考下
    2023-11-11
  • Java使用SFTP上傳文件到服務器的簡單使用

    Java使用SFTP上傳文件到服務器的簡單使用

    這篇文章主要介紹了Java使用SFTP上傳文件到服務器的簡單使用,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02
  • MyBatis詳細講解DAO代理的使用

    MyBatis詳細講解DAO代理的使用

    MyBatis允許只聲明一個dao接口,而無需寫dao實現類的方式實現數據庫操作。前提是必須保證Mapper文件中的<mapper>標簽的namespace屬性值必須要和dao接口的類路徑一致,MyBatis容器會自動通過動態(tài)代理生成接口的實現類
    2022-04-04

最新評論

垣曲县| 当雄县| 元阳县| 三河市| 新泰市| 措勤县| 英山县| 绍兴市| 兴海县| 普兰店市| 伊通| 蛟河市| 湘潭市| 肇庆市| 伽师县| 辽中县| 杨浦区| 和林格尔县| 忻城县| 富阳市| 嫩江县| 岳阳县| 泗阳县| 英吉沙县| 当涂县| 大新县| 沛县| 杭锦后旗| 施秉县| 光泽县| 新郑市| 金乡县| 长垣县| 镇安县| 当涂县| 鹤庆县| 讷河市| 大宁县| 西峡县| 曲靖市| 西盟|