zoukankan      html  css  js  c++  java
  • h2database源码浅析:TransactionMap、MVMap、MVStore

    • TransactionStore:A store that supports concurrent MVCC read-committed transactions.
    • TransactionStore.Transaction:A transaction.
    • TransactionStore.TransactionMap<K,V>:A map that supports transactions.
    TransactionStore通过openMap获取到Map:


    <K,V> TransactionStore.TransactionMap<K,V>
    openMap(java.lang.String name, DataType keyType, DataType valueType) 
              Open the map to store the data.

    TransactionStore通过open创建一个Transaction:
    TransactionStore.Transaction begin() 
    Begin a new transaction.


    MVMap<K,V>

    多版本Map
    读操作:Read operations can happen concurrently with all other operations, without risk of corruption.
    写操作:Write operations first read the relevant area from disk to memory concurrently, and only then modify the data. The in-memory part of write operations is synchronized. For scalable concurrent in-memory write operations, the map should be split into multiple smaller sub-maps that are then synchronized independently.

    所有已实现的接口:
    java.util.concurrent.ConcurrentMap<K,V>, java.util.Map<K,V>

    直接已知子类:
    MVMapConcurrent, MVRTreeMap

    MVTableEngine.Store

    public MVStore getStore() 获取MVStore

    MVStore

    A persistent storage for maps.
    openMap()方法用以创建一个MVMap:

    public <K,V> MVMap<K,V> openMap(java.lang.String name)


  • 相关阅读:
    Android App常规测试内容
    腾讯的专项测试之道
    PyCharm Python迁移项目
    互联网架构的演变
    unittest最详细的解说
    (转)Python开发规范
    Python3.0+Selenium3进行Web自动化遇到的坑
    测试开发之路--英雄迟暮,我心未老
    团队作业9——事后分析(Beta版本)
    团队作业8--测试与发布(Beta阶段)
  • 原文地址:https://www.cnblogs.com/bluejoe/p/5115884.html
Copyright © 2011-2022 走看看