<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 引子 我們知道Java程序中有一些比較隱蔽的問題,程序運行時是不會報錯的,但是結果就是不對。 比如精度丟失問題,需要注意類型的范圍。 ![](https://img.kancloud.cn/24/92/2492c84ecea82213d038686869fc8e04_570x278.png) 還有一些是在多線程環境下會出現的問題,我們來看多線程并發下的ArrayList和HashMap容器的表現。 ArrayList: ![](https://img.kancloud.cn/03/51/035174b7ec43ac2ad710b236efab1c25_1520x1164.png) HashMap: ![](https://img.kancloud.cn/cc/94/cc94104f7377f387b514003f851b5911_1414x1270.png) 既然普通的容器在多線程并發環境下會出現問題,那么還有哪些并發容器可供我們使用呢? ## 并發容器包裝工具類 可以使用線程安全工具類包裝后得到線程安全的容器,如: ~~~ Map<String, String> map = Collections.synchronizedMap(new HashMap<>()); ~~~ 工具類支持的包裝方法如下圖: ![](https://img.kancloud.cn/6a/49/6a49a6764d0d122969b435a12ea1325b_1200x426.png) 該方式是通過`SynchronizedMap`使用`synchronized`實現線程安全的,并發級別高的場景下,請使用其他的解決方案。 ## 專用并發容器 * ConcurrentHashMap * CopyOnWriteArrayList * ConcurrentLinkedQueue * BlockingQueue * ConcurrentSkipListMap
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看