<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8"><meta name="generator" content="pdf2htmlEX"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/base.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css"><link rel="stylesheet" href="https://csdnimg.cn/release/download_crawler_static/10972048/raw.css"><script src="https://csdnimg.cn/release/download_crawler_static/js/compatibility.min.js"></script><script src="https://csdnimg.cn/release/download_crawler_static/js/pdf2htmlEX.min.js"></script><script>try{pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});}catch(e){}</script><title></title></head><body><div id="sidebar" style="display: none"><div id="outline"></div></div><div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/10972048/bg1.jpg"><div class="t m0 x1 h2 y1 ff1 fs0 fc0 sc0 ls0 ws0">1.<span class="ls1"> <span class="ff2 sc1 ls2">目录</span> </span></div><div class="t m0 x1 h3 y2 ff1 fs1 fc0 sc0 ls3 ws0">1.<span class="ff3 fs2 ls1"> <span class="_ _0"> </span></span><span class="ff2 sc1 ls2">目录</span><span class="ff4 ls1"> <span class="_ _1"></span><span class="ls4">.........................................................................................................................................................<span class="ls1"> <span class="_ _2"></span>1<span class="ff3 fs2"> </span></span></span></span></div><div class="t m0 x1 h3 y3 ff1 fs1 fc0 sc0 ls3 ws0">2.<span class="ff3 fs2 ls1"> <span class="_ _0"> </span></span><span class="ls1">JVM<span class="ff4"> <span class="_ _3"></span><span class="ls4">.......................................................................................................................................................<span class="ls1"> <span class="_ _2"></span><span class="ls5">19<span class="ff3 fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x2 h4 y4 ff5 fs1 fc0 sc0 ls3 ws0">2.1.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span><span class="ff2 fs1">线程<span class="ff3"> <span class="_ _5"></span><span class="ls6">......................................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">20<span class="fs2 ls1"> </span></span></span></span></span></span></span></div><div class="t m0 x2 h4 y5 ff5 fs1 fc0 sc0 ls3 ws0">2.2.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls1">JVM<span class="_ _6"> </span><span class="ff2">内存区域<span class="ff3"> <span class="_ _7"></span><span class="ls6">.....................................................................................................................................</span> <span class="_ _1"></span><span class="ls5">21<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y6 ff6 fs1 fc0 sc0 ls1 ws0">2.2.1.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y6 ff2 fs3 fc0 sc0 ls1 ws0">程序计数器</div><div class="t m0 x5 h5 y6 ff6 fs1 fc0 sc0 ls1 ws0">(</div><div class="t m1 x6 h6 y6 ff2 fs3 fc0 sc0 ls1 ws0">线程私有</div><div class="t m0 x7 h5 y6 ff6 fs1 fc0 sc0 ls1 ws0">)<span class="ff7"> <span class="_ _3"></span><span class="ls6">................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">22<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y7 ff6 fs1 fc0 sc0 ls1 ws0">2.2.2.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y7 ff2 fs3 fc0 sc0 ls1 ws0">虚拟机栈</div><div class="t m0 x8 h5 y7 ff6 fs1 fc0 sc0 ls1 ws0">(</div><div class="t m1 x9 h6 y7 ff2 fs3 fc0 sc0 ls1 ws0">线程私有</div><div class="t m0 xa h5 y7 ff6 fs1 fc0 sc0 ls1 ws0">)<span class="ff7"> <span class="_ _3"></span><span class="ls6">....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">22<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y8 ff6 fs1 fc0 sc0 ls1 ws0">2.2.3.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y8 ff2 fs3 fc0 sc0 ls1 ws0">本地方法区</div><div class="t m0 x5 h5 y8 ff6 fs1 fc0 sc0 ls1 ws0">(</div><div class="t m1 x6 h6 y8 ff2 fs3 fc0 sc0 ls1 ws0">线程私有</div><div class="t m0 x7 h5 y8 ff6 fs1 fc0 sc0 ls1 ws0">)<span class="ff7"> <span class="_ _3"></span><span class="ls6">................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">23<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y9 ff6 fs1 fc0 sc0 ls1 ws0">2.2.4.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y9 ff2 fs3 fc0 sc0 ls1 ws0">堆(</div><div class="t m0 xb h5 y9 ff6 fs1 fc0 sc0 ls1 ws0">Heap-</div><div class="t m1 xc h6 y9 ff2 fs3 fc0 sc0 ls1 ws0">线程共享)</div><div class="t m0 xd h5 y9 ff6 fs1 fc0 sc0 ls1 ws0">-</div><div class="t m1 xe h6 y9 ff2 fs3 fc0 sc0 ls1 ws0">运行时数据区</div><div class="t m0 xf h7 y9 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">......................................................................................</span> <span class="_ _1"></span><span class="ls5">23<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x3 h5 ya ff6 fs1 fc0 sc0 ls1 ws0">2.2.5.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 ya ff2 fs3 fc0 sc0 ls1 ws0">方法区</div><div class="t m0 x10 h5 ya ff6 fs1 fc0 sc0 ls1 ws0">/</div><div class="t m1 x11 h6 ya ff2 fs3 fc0 sc0 ls1 ws0">永久代(线程共享)</div><div class="t m0 x12 h7 ya ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">.....................................................................................................</span> <span class="_ _1"></span><span class="ls5">23<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x2 h4 yb ff5 fs1 fc0 sc0 ls3 ws0">2.3.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls1">JVM<span class="_ _6"> </span><span class="ff2">运行时内存<span class="_ _7"></span><span class="ff3"> <span class="ls6">................................................................................................................................</span>. <span class="_ _1"></span><span class="ls5">24<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 yc ff6 fs1 fc0 sc0 ls1 ws0">2.3.1.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 yc ff2 fs3 fc0 sc0 ls1 ws0">新生代</div><div class="t m0 x10 h7 yc ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">24<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 yd ff5 fs4 fc0 sc0 ls1 ws0">2.3.1.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span>Eden<span class="_ _6"> </span><span class="ff2">区<span class="ff3"> <span class="_ _5"></span><span class="ls7">....................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">24<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 ye ff5 fs4 fc0 sc0 ls1 ws0">2.3.1.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span>ServivorFrom<span class="ff3"> <span class="_ _2"></span><span class="ls7">...........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">24<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h9 yf ff5 fs4 fc0 sc0 ls1 ws0">2.3.1.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff8">ServivorTo<span class="ff3"> <span class="_ _5"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>..............<span class="ls1"> <span class="_ _3"></span><span class="ls8">24<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 y10 ff8 fs4 fc0 sc0 ls1 ws0">2.3.1.4.<span class="ff3 fs2"> <span class="_ _9"> </span></span>MinorGC<span class="_ _6"> </span><span class="ff9">的过程(复制</span>-><span class="ff9">清空</span>-><span class="ff9">互换)<span class="ff3"> <span class="_ _5"></span><span class="ls7">................................<span class="_ _7"></span>.......................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">24<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h9 y11 ff5 fs4 fc0 sc0 ls1 ws0">1<span class="ff2">:</span><span class="ls9">eden</span><span class="ff2">、</span>servicorFrom <span class="ff2">复制到<span class="_ _6"> </span><span class="ff8">ServicorTo<span class="ff9">,年龄</span><span class="lsa">+1</span><span class="ff3"> <span class="_ _2"></span><span class="ls7">...................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">25<span class="fs2 ls1"> </span></span></span></span></span></span></span></div><div class="t m0 x14 h8 y12 ff5 fs4 fc0 sc0 ls1 ws0">2<span class="ff2">:清空<span class="_ _6"> </span></span>eden<span class="ff2">、</span>se<span class="_ _7"></span>rvicorFrom<span class="ff3"> <span class="_ _2"></span><span class="ls7">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span>25<span class="fs2"> </span></span></span></span></div><div class="t m0 x14 h8 y13 ff5 fs4 fc0 sc0 ls1 ws0">3<span class="ff2">:</span>ServicorTo<span class="_ _6"> </span><span class="ff2">和<span class="_ _6"> </span></span>ServicorFrom<span class="_ _6"> </span><span class="ff2">互换<span class="ff3"> <span class="_ _3"></span><span class="ls7">................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">25<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y14 ff6 fs1 fc0 sc0 ls1 ws0">2.3.2.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y14 ff2 fs3 fc0 sc0 ls1 ws0">老年代</div><div class="t m0 x10 h7 y14 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">25<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y15 ff6 fs1 fc0 sc0 ls1 ws0">2.3.3.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y15 ff2 fs3 fc0 sc0 ls1 ws0">永久代</div><div class="t m0 x10 h7 y15 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">25<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y16 ff8 fs4 fc0 sc0 ls1 ws0">2.3.3.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span>JAVA8<span class="_ _6"> </span><span class="ff9">与元数据<span class="ff3"> <span class="_ _1"></span><span class="ls7">................................................................................................................................<span class="ls1">. <span class="_ _3"></span><span class="ls8">25<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x2 h4 y17 ff5 fs1 fc0 sc0 ls3 ws0">2.4.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span><span class="ff2 fs1">垃圾回收与算法<span class="ff3"> <span class="ls6">..................................................................................................................................</span> <span class="_ _1"></span><span class="ls5">26<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y18 ff6 fs1 fc0 sc0 ls1 ws0">2.4.1.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y18 ff2 fs3 fc0 sc0 ls1 ws0">如何确定垃圾</div><div class="t m0 x15 h7 y18 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls5">26<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h8 y19 ff5 fs4 fc0 sc0 ls1 ws0">2.4.1.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">引用计数法<span class="ff3 ls7">...............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">26<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h8 y1a ff5 fs4 fc0 sc0 ls1 ws0">2.4.1.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">可达性分析<span class="ff3 ls7">...............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">26<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y1b ff6 fs1 fc0 sc0 ls1 ws0">2.4.2.<span class="ff3 fs2"> </span></div><div class="t m1 x4 ha y1b ff2 fs3 fc0 sc0 ls1 ws0">标记清除算法(<span class="_ _7"></span><span class="ff8">Mark-Sweep</span>)</div><div class="t m0 x16 h7 y1b ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..............................................................................................</span> <span class="_ _1"></span><span class="ls5">27<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x3 h5 y1c ff6 fs1 fc0 sc0 ls1 ws0">2.4.3.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y1c ff2 fs3 fc0 sc0 ls1 ws0">复制算法(</div><div class="t m0 x5 h5 y1c ff6 fs1 fc0 sc0 ls1 ws0">copying</div><div class="t m1 x17 h6 y1c ff2 fs3 fc0 sc0 ls1 ws0">)</div><div class="t m0 x18 h7 y1c ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _2"></span><span class="ls6">.................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">27<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y1d ff6 fs1 fc0 sc0 ls1 ws0">2.4.4.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y1d ff2 fs3 fc0 sc0 ls1 ws0">标记整理算法</div><div class="t m0 x15 h5 y1d ff6 fs1 fc0 sc0 ls1 ws0">(Mark<span class="_ _7"></span>-Compact)<span class="ff7"> <span class="_ _2"></span><span class="ls6">..................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">28<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y1e ff6 fs1 fc0 sc0 ls1 ws0">2.4.5.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y1e ff2 fs3 fc0 sc0 ls1 ws0">分代收集算法</div><div class="t m0 x15 h7 y1e ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls5">29<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h9 y1f ff8 fs4 fc0 sc0 ls1 ws0">2.4.5.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">新生代与复制算法<span class="ff3"> <span class="_ _5"></span><span class="ls7">................................................................<span class="_ _7"></span>..............................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">29<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 y20 ff8 fs4 fc0 sc0 ls1 ws0">2.4.5.2.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">老年代与标记复制算法<span class="ff3"> <span class="ls7">......................................................................................................................</span> <span class="_ _3"></span><span class="ls8">29<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x2 h4 y21 ff5 fs1 fc0 sc0 ls3 ws0">2.5.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls1">JAVA<span class="fs5"> </span><span class="ff2">四中引用类型<span class="_ _7"></span><span class="ff3"> <span class="ls6">................................................................<span class="_ _7"></span>...........................................................</span> <span class="_ _3"></span><span class="ls5">30<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y22 ff6 fs1 fc0 sc0 ls1 ws0">2.5.1.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y22 ff2 fs3 fc0 sc0 ls1 ws0">强引用</div><div class="t m0 x10 h7 y22 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">30<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y23 ff6 fs1 fc0 sc0 ls1 ws0">2.5.2.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y23 ff2 fs3 fc0 sc0 ls1 ws0">软引用</div><div class="t m0 x10 h7 y23 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">30<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y24 ff6 fs1 fc0 sc0 ls1 ws0">2.5.3.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y24 ff2 fs3 fc0 sc0 ls1 ws0">弱引用</div><div class="t m0 x10 h7 y24 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">30<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y25 ff6 fs1 fc0 sc0 ls1 ws0">2.5.4.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y25 ff2 fs3 fc0 sc0 ls1 ws0">虚引用</div><div class="t m0 x10 h7 y25 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">30<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x2 h4 y26 ff5 fs1 fc0 sc0 ls3 ws0">2.6.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="lsb">GC<span class="_ _6"> </span><span class="ff2 ls1">分代收集算法</span><span class="fs5 lsc"> </span><span class="lsd">VS<span class="fs5 ls1"> <span class="ff2 fs1">分区收集算法<span class="_ _7"></span><span class="ff3"> <span class="_ _2"></span><span class="ls6">................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">30<span class="fs2 ls1"> </span></span></span></span></span></span></span></span></span></div><div class="t m0 x3 h5 y27 ff6 fs1 fc0 sc0 ls1 ws0">2.6.1.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y27 ff2 fs3 fc0 sc0 ls1 ws0">分代收集算法</div><div class="t m0 x15 h7 y27 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls5">30<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h9 y28 ff8 fs4 fc0 sc0 ls1 ws0">2.6.1.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">在新生代</span>-<span class="ff9">复制算法<span class="ff3"> <span class="_ _2"></span><span class="ls7">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">30<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 y29 ff8 fs4 fc0 sc0 ls1 ws0">2.6.1.2.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">在老年代</span>-<span class="ff9">标记整理算法<span class="ff3"> <span class="_ _2"></span><span class="ls7">.....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">30<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y2a ff6 fs1 fc0 sc0 ls1 ws0">2.6.2.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y2a ff2 fs3 fc0 sc0 ls1 ws0">分区收集算法</div><div class="t m0 x15 h7 y2a ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls5">31<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x2 h4 y2b ff5 fs1 fc0 sc0 ls3 ws0">2.7.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="lsb">GC<span class="_ _6"> </span><span class="ff2 ls1">垃圾收集器<span class="ff3"> <span class="ls6">................................<span class="_ _7"></span>...................................................................................................</span> <span class="_ _3"></span><span class="ls5">31<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y2c ff6 fs1 fc0 sc0 ls1 ws0">2.7.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Serial</div><div class="t m1 x19 h6 y2c ff2 fs3 fc0 sc0 ls1 ws0">垃圾收集器(单线<span class="_ _7"></span>程、复制算<span class="_ _7"></span>法)</div><div class="t m0 x1a h7 y2c ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _b"></span><span class="ls6">................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">31<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y2d ff6 fs1 fc0 sc0 ls1 ws0">2.7.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span>ParNew</div><div class="t m1 x1b h6 y2d ff2 fs3 fc0 sc0 ls1 ws0">垃圾收集器(</div><div class="t m0 xd h5 y2d ff6 fs1 fc0 sc0 ls1 ws0">Serial+</div><div class="t m1 x1c h6 y2d ff2 fs3 fc0 sc0 ls1 ws0">多线程)</div><div class="t m0 x1d h7 y2d ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _3"></span><span class="ls6">................................................................<span class="_ _7"></span>...................<span class="ls1"> <span class="_ _3"></span><span class="ls5">31<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y2e ff6 fs1 fc0 sc0 ls1 ws0">2.7.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Parallel Scavenge</div><div class="t m1 xa h6 y2e ff2 fs3 fc0 sc0 ls1 ws0">收集器(多线程<span class="_ _7"></span>复制算法、高<span class="_ _7"></span>效)</div><div class="t m0 x1e h7 y2e ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _2"></span><span class="ls6">..........................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">32<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y2f ff6 fs1 fc0 sc0 ls1 ws0">2.7.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Serial Old</div><div class="t m1 x1f h6 y2f ff2 fs3 fc0 sc0 ls1 ws0">收集器(单线程<span class="_ _7"></span>标记整理算法</div><div class="t m0 x20 h5 y2f ff6 fs1 fc0 sc0 ls1 ws0"> </div><div class="t m1 x21 h6 y2f ff2 fs3 fc0 sc0 ls1 ws0">)</div><div class="t m0 x22 h7 y2f ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">................................<span class="_ _7"></span>...........................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">32<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y30 ff6 fs1 fc0 sc0 ls1 ws0">2.7.5.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Parallel Old</div><div class="t m1 x6 h6 y30 ff2 fs3 fc0 sc0 ls1 ws0">收集器(多线程标记整<span class="_ _7"></span>理算法)</div><div class="t m0 x23 h7 y30 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">.........................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">33<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y31 ff6 fs1 fc0 sc0 ls1 ws0">2.7.6.<span class="ff3 fs2"> <span class="_ _a"> </span></span>CMS</div><div class="t m1 x24 h6 y31 ff2 fs3 fc0 sc0 ls1 ws0">收集器(多线程标<span class="_ _7"></span>记清除算法<span class="_ _7"></span>)</div><div class="t m0 x25 h7 y31 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _3"></span><span class="ls6">.....................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">33<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y32 ff8 fs4 fc0 sc0 ls1 ws0">2.7.6.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">初始标记<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">33<span class="fs2 ls1"> </span></span></span></span></span></span></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a></div><div class="pi" data-data='{"ctm":[1.611792,0.000000,0.000000,1.611792,0.000000,0.000000]}'></div></div></body></html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/10972048/bg2.jpg"><div class="c x1 y33 w2 hb"><div class="t m0 x26 h8 y34 ff5 fs4 fc0 sc0 ls1 ws0">13/04/2018 </div></div><div class="c x7 y33 w3 hb"><div class="t m0 x27 hc y35 ff6 fs4 fc0 sc0 ls1 ws0"> </div></div><div class="c x28 y33 w4 hb"><div class="t m0 x29 h8 y34 ff5 fs4 fc0 sc0 ls1 ws0">Page 2 of 283 </div></div><div class="t m0 x1 h8 y36 ff5 fs4 fc0 sc0 ls1 ws0"> </div><div class="t m0 x13 h9 y37 ff8 fs4 fc0 sc0 ls1 ws0">2.7.6.2.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">并发标记<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">34<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 y38 ff8 fs4 fc0 sc0 ls1 ws0">2.7.6.3.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">重新标记<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">34<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 y39 ff8 fs4 fc0 sc0 ls1 ws0">2.7.6.4.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">并发清除<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">34<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y3a ff6 fs1 fc0 sc0 ls1 ws0">2.7.7.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="lsb">G1</span></div><div class="t m1 x2a h6 y3a ff2 fs3 fc0 sc0 ls1 ws0">收集器</div><div class="t m0 x1f h7 y3a ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">....................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">34<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x2 h4 y3b ff5 fs1 fc0 sc0 ls3 ws0">2.8.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls1">JAVA<span class="fs5"> </span>IO/NIO<span class="ff3"> <span class="_ _1"></span><span class="ls6">.......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">34<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y3c ff6 fs1 fc0 sc0 ls1 ws0">2.8.1.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y3c ff2 fs3 fc0 sc0 ls1 ws0">阻塞</div><div class="t m0 x2b h5 y3c ff6 fs1 fc0 sc0 lse ws0">IO</div><div class="t m1 x2c h6 y3c ff2 fs3 fc0 sc0 lsf ws0">模型</div><div class="t m0 x2d h7 y3c ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">34<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y3d ff6 fs1 fc0 sc0 ls1 ws0">2.8.2.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y3d ff2 fs3 fc0 sc0 ls1 ws0">非阻塞</div><div class="t m0 x11 h5 y3d ff6 fs1 fc0 sc0 lse ws0">IO</div><div class="t m1 x2e h6 y3d ff2 fs3 fc0 sc0 ls1 ws0">模型</div><div class="t m0 x2f h7 y3d ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">............................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">35<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y3e ff6 fs1 fc0 sc0 ls1 ws0">2.8.3.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y3e ff2 fs3 fc0 sc0 ls1 ws0">多路复用</div><div class="t m0 x30 h5 y3e ff6 fs1 fc0 sc0 ls10 ws0">IO</div><div class="t m1 x2d h6 y3e ff2 fs3 fc0 sc0 ls1 ws0">模型</div><div class="t m0 x31 h7 y3e ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">................................................................<span class="_ _7"></span>........................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">35<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y3f ff6 fs1 fc0 sc0 ls1 ws0">2.8.4.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y3f ff2 fs3 fc0 sc0 ls1 ws0">信号驱动</div><div class="t m0 x30 h5 y3f ff6 fs1 fc0 sc0 ls10 ws0">IO</div><div class="t m1 x2d h6 y3f ff2 fs3 fc0 sc0 ls1 ws0">模型</div><div class="t m0 x31 h7 y3f ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">................................................................<span class="_ _7"></span>........................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">36<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y40 ff6 fs1 fc0 sc0 ls1 ws0">2.8.5.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y40 ff2 fs3 fc0 sc0 ls1 ws0">异步</div><div class="t m0 x2b h5 y40 ff6 fs1 fc0 sc0 lse ws0">IO</div><div class="t m1 x2c h6 y40 ff2 fs3 fc0 sc0 lsf ws0">模型</div><div class="t m0 x2d h7 y40 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">36<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y41 ff6 fs1 fc0 sc0 ls1 ws0">2.8.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span>JAVA IO</div><div class="t m1 x8 h6 y41 ff2 fs3 fc0 sc0 ls1 ws0">包</div><div class="t m0 x5 h7 y41 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">..................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">36<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y42 ff6 fs1 fc0 sc0 ls1 ws0">2.8.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span>JAVA NIO<span class="ff7"> <span class="_ _1"></span><span class="ls6">................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">37<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h9 y43 ff8 fs4 fc0 sc0 ls1 ws0">2.8.2.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ls11">NIO<span class="_ _6"> </span></span><span class="ff9">的缓冲区<span class="ff3"> <span class="ls7">................................................................<span class="_ _7"></span>.....................................................................</span> <span class="_ _3"></span><span class="ls8">38<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y44 ff8 fs4 fc0 sc0 ls1 ws0">2.8.2.2.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ls11">NIO<span class="_ _6"> </span></span><span class="ff9">的非阻塞<span class="ff3"> <span class="ls7">................................................................<span class="_ _7"></span>.....................................................................</span> <span class="_ _3"></span><span class="ls8">38<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y45 ff6 fs1 fc0 sc0 ls1 ws0">2.8.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Channel<span class="ff7"> <span class="ls6">.......................................................................................................................................</span> <span class="_ _1"></span><span class="ls5">40<span class="ff3 fs2 ls1"> </span></span></span></div><div class="t m0 x3 h5 y46 ff6 fs1 fc0 sc0 ls1 ws0">2.8.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Buffer<span class="ff7"> <span class="_ _b"></span><span class="ls6">............................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">40<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y47 ff6 fs1 fc0 sc0 ls1 ws0">2.8.5.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Selector<span class="ff7"> <span class="_ _b"></span><span class="ls6">................................................................................................................................<span class="_ _7"></span>........<span class="ls1"> <span class="_ _3"></span><span class="ls5">40<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x2 h4 y48 ff5 fs1 fc0 sc0 ls3 ws0">2.9.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls1">JVM<span class="fs5"> </span><span class="ff2">类加载机制<span class="_ _7"></span><span class="ff3"> <span class="ls6">................................................................................................................................</span>. <span class="_ _1"></span><span class="ls5">41<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h8 y49 ff5 fs4 fc0 sc0 ls1 ws0">2.9.1.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">加载<span class="ff3"> <span class="ls7">..........................................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">41<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y4a ff5 fs4 fc0 sc0 ls1 ws0">2.9.1.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">验证<span class="ff3"> <span class="ls7">..........................................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">41<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y4b ff5 fs4 fc0 sc0 ls1 ws0">2.9.1.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">准备<span class="ff3"> <span class="ls7">..........................................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">41<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y4c ff5 fs4 fc0 sc0 ls1 ws0">2.9.1.4.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">解析<span class="ff3"> <span class="ls7">..........................................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">41<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y4d ff8 fs4 fc0 sc0 ls1 ws0">2.9.1.5.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">符号引用<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">42<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 y4e ff8 fs4 fc0 sc0 ls1 ws0">2.9.1.6.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">直接引用<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">42<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y4f ff5 fs4 fc0 sc0 ls1 ws0">2.9.1.7.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">初始化<span class="ff3"> <span class="ls7">......................................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">42<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y50 ff8 fs4 fc0 sc0 ls1 ws0">2.9.1.8.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">类构造器</span><client><span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">42<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 y51 ff6 fs1 fc0 sc0 ls1 ws0">2.9.2.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y51 ff2 fs3 fc0 sc0 ls1 ws0">类加载器</div><div class="t m0 x8 h7 y51 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">................................<span class="_ _7"></span>......................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">42<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y52 ff8 fs4 fc0 sc0 ls1 ws0">2.9.2.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">启动类加载器</span>(Bootstrap ClassLoader)<span class="ff3"> <span class="ls7">.........................................................................................</span> <span class="_ _3"></span><span class="ls8">43<span class="fs2 ls1"> </span></span></span></div><div class="t m0 x13 h9 y53 ff8 fs4 fc0 sc0 ls1 ws0">2.9.2.2.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">扩展类加载器</span>(Extension ClassLoader)<span class="ff3"> <span class="_ _2"></span><span class="ls7">..........................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="ls8">43<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h9 y54 ff8 fs4 fc0 sc0 ls1 ws0">2.9.2.3.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">应用程序类加载器</span>(Application ClassLoader)<span class="ff9">:<span class="ff3"> <span class="ls7">..........................................................................</span> <span class="_ _3"></span><span class="ls8">43<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y55 ff6 fs1 fc0 sc0 ls1 ws0">2.9.3.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y55 ff2 fs3 fc0 sc0 ls1 ws0">双亲委派</div><div class="t m0 x8 h7 y55 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">................................<span class="_ _7"></span>......................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">43<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y56 ff6 fs1 fc0 sc0 ls1 ws0">2.9.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span>OSGI</div><div class="t m1 x24 ha y56 ff2 fs3 fc0 sc0 ls1 ws0">(<span class="ff9">动态模型系统<span class="_ _7"></span></span>)</div><div class="t m0 x32 h7 y56 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">............................................................................................................</span> <span class="_ _1"></span><span class="ls5">44<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h9 y57 ff8 fs4 fc0 sc0 ls1 ws0">2.9.4.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">动态改变构造<span class="ff3"> <span class="_ _5"></span><span class="ls7">......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">44<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 y58 ff8 fs4 fc0 sc0 ls1 ws0">2.9.4.2.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">模块化编程与热插拔<span class="ff3"> <span class="ls7">..........................................................................................................................</span> <span class="_ _3"></span><span class="ls8">44<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x1 h3 y59 ff1 fs1 fc0 sc0 ls3 ws0">3.<span class="ff3 fs2 ls1"> <span class="_ _0"> </span></span><span class="ls1">JAVA<span class="_ _6"> </span><span class="ff2 sc1 ls2">集合<span class="_ _7"></span></span><span class="ff4"> <span class="_ _1"></span><span class="ls4">............................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls5">45<span class="ff3 fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x2 h4 y5a ff5 fs1 fc0 sc0 ls3 ws0">3.1.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span><span class="ff2 fs1">接口继承关系和实现<span class="_ _7"></span><span class="ff3"> <span class="ls6">..........................................................................................................................</span> <span class="_ _1"></span><span class="ls5">45<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x2 h4 y5b ff5 fs1 fc0 sc0 ls3 ws0">3.2.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls1">L<span class="fs5 lsc">IST</span><span class="ff3"> <span class="_ _c"></span><span class="ls6">.......................................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">47<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y5c ff6 fs1 fc0 sc0 ls1 ws0">3.2.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span>ArrayList</div><div class="t m1 x8 h6 y5c ff2 fs3 fc0 sc0 ls1 ws0">(数组)</div><div class="t m0 x33 h7 y5c ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _b"></span><span class="ls6">.......................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">47<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y5d ff6 fs1 fc0 sc0 ls1 ws0">3.2.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Vector</div><div class="t m1 x34 h6 y5d ff2 fs3 fc0 sc0 ls1 ws0">(数组实现、线<span class="_ _7"></span>程同步)</div><div class="t m0 x35 h7 y5d ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _3"></span><span class="ls6">...............................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">47<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y5e ff6 fs1 fc0 sc0 ls1 ws0">3.2.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span>LinkList</div><div class="t m1 x36 h6 y5e ff2 fs3 fc0 sc0 ls1 ws0">(链表)</div><div class="t m0 x37 h7 y5e ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _c"></span><span class="ls6">.........................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">47<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x2 h4 y5f ff5 fs1 fc0 sc0 ls3 ws0">3.3.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls1">S<span class="fs5 ls12">ET</span><span class="ff3"> <span class="ls6">.......................................................................................................................................................</span> <span class="_ _3"></span><span class="ls5">48<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y60 ff5 fs4 fc0 sc0 ls1 ws0">3.3.1.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span>HashSet<span class="ff2">(</span>Hash<span class="_ _6"> </span><span class="ff2">表)<span class="ff3"> <span class="_ _5"></span><span class="ls7">.............................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">48<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y61 ff5 fs4 fc0 sc0 ls1 ws0">3.3.1.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span>TreeSet<span class="ff2">(二叉树)<span class="ff3"> <span class="ls7">................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">49<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y62 ff5 fs4 fc0 sc0 ls1 ws0">3.3.1.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span>LinkHashSet<span class="ff2">(<span class="ff8">HashSet+LinkedHashMap</span>)<span class="ff3"> <span class="_ _5"></span><span class="ls7">...................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">49<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x2 h4 y63 ff5 fs1 fc0 sc0 ls3 ws0">3.4.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls1">M<span class="fs5 ls12">AP</span><span class="ff3"> <span class="_ _b"></span><span class="ls6">.......................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">50<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y64 ff6 fs1 fc0 sc0 ls1 ws0">3.4.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span>HashMap</div><div class="t m1 x30 h6 y64 ff2 fs3 fc0 sc0 ls1 ws0">(数组</div><div class="t m0 x38 h5 y64 ff6 fs1 fc0 sc0 ls1 ws0">+</div><div class="t m1 x39 h6 y64 ff2 fs3 fc0 sc0 ls1 ws0">链表</div><div class="t m0 x3a h5 y64 ff6 fs1 fc0 sc0 ls1 ws0">+</div><div class="t m1 x32 h6 y64 ff2 fs3 fc0 sc0 ls1 ws0">红黑树)</div><div class="t m0 x3b h7 y64 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _c"></span><span class="ls6">.............................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">50<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y65 ff5 fs4 fc0 sc0 ls1 ws0">3.4.1.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span>JAVA7<span class="_ _6"> </span><span class="ff2">实现<span class="ff3"> <span class="ls7">.............................................................................................................................................</span> <span class="_ _c"></span><span class="ls8">50<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y66 ff5 fs4 fc0 sc0 ls1 ws0">3.4.1.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span>JAVA8<span class="_ _6"> </span><span class="ff2">实现<span class="ff3"> <span class="ls7">.............................................................................................................................................</span> <span class="_ _c"></span><span class="ls8">51<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y2e ff6 fs1 fc0 sc0 ls1 ws0">3.4.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span>ConcurrentHash<span class="_ _7"></span>Map<span class="ff7 ls6">..................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">51<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y67 ff5 fs4 fc0 sc0 ls1 ws0">3.4.2.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span>Segment<span class="_ _6"> </span><span class="ff2">段<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>..............<span class="ls1"> <span class="_ _c"></span><span class="ls8">51<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y68 ff5 fs4 fc0 sc0 ls1 ws0">3.4.2.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">线程安全(</span>Segment <span class="ff2">继承</span> ReentrantLock <span class="ff2">加锁)<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">51<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y69 ff5 fs4 fc0 sc0 ls1 ws0">3.4.2.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">并行度(默认<span class="_ _6"> </span></span><span class="ls9">16</span><span class="ff2">)<span class="ff3"> <span class="_ _5"></span><span class="ls7">................................................................<span class="_ _7"></span>................................................................<span class="ls1">. <span class="_ _3"></span><span class="ls8">52<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y6a ff5 fs4 fc0 sc0 ls1 ws0">3.4.2.4.<span class="ff3 fs2"> <span class="_ _8"> </span></span>Java8<span class="_ _6"> </span><span class="ff2">实现</span> <span class="ff2">(引入了红黑树)<span class="ff3"> <span class="_ _5"></span><span class="ls7">..............................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">52<span class="fs2 ls1"> </span></span></span></span></span></span></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a></div><div class="pi" data-data='{"ctm":[1.611792,0.000000,0.000000,1.611792,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/10972048/bg3.jpg"><div class="c x1 y33 w2 hb"><div class="t m0 x26 h8 y34 ff5 fs4 fc0 sc0 ls1 ws0">13/04/2018 </div></div><div class="c x7 y33 w3 hb"><div class="t m0 x27 hc y35 ff6 fs4 fc0 sc0 ls1 ws0"> </div></div><div class="c x28 y33 w4 hb"><div class="t m0 x29 h8 y34 ff5 fs4 fc0 sc0 ls1 ws0">Page 3 of 283 </div></div><div class="t m0 x1 h8 y36 ff5 fs4 fc0 sc0 ls1 ws0"> </div><div class="t m0 x3 h5 y6b ff6 fs1 fc0 sc0 ls1 ws0">3.4.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span>HashTable</div><div class="t m1 x3c h6 y6b ff2 fs3 fc0 sc0 ls1 ws0">(线程安全)</div><div class="t m0 x3d h7 y6b ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">................................................................<span class="_ _7"></span>...........................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">53<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y6c ff6 fs1 fc0 sc0 ls1 ws0">3.4.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span>TreeMap</div><div class="t m1 x8 h6 y6c ff2 fs3 fc0 sc0 ls1 ws0">(可排序)</div><div class="t m0 x3e h7 y6c ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..................................................................................................................</span> <span class="_ _1"></span><span class="ls5">53<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x3 h5 y6d ff6 fs1 fc0 sc0 ls1 ws0">3.4.5.<span class="ff3 fs2"> <span class="_ _a"> </span></span>LinkHashMap</div><div class="t m1 x3f h6 y6d ff2 fs3 fc0 sc0 ls1 ws0">(记录插入顺<span class="_ _7"></span>序)</div><div class="t m0 x40 h7 y6d ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">..............................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">53<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x1 h3 y6e ff1 fs1 fc0 sc0 ls3 ws0">4.<span class="ff3 fs2 ls1"> <span class="_ _0"> </span></span><span class="ls1">JAVA<span class="_ _6"> </span><span class="ff2 sc1 ls2">多线程并发</span><span class="ff4"> <span class="_ _2"></span><span class="ls4">................................................................................................................................<span class="ls1">. <span class="_ _2"></span><span class="ls5">54<span class="ff3 fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y6f ff6 fs1 fc0 sc0 ls1 ws0">4.1.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span>JAVA</div><div class="t m1 x19 h6 y6f ff2 fs3 fc0 sc0 ls1 ws0">并发知识库</div><div class="t m0 x41 h7 y6f ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">.......................................................................................................................</span> <span class="_ _1"></span><span class="ls5">54<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x3 h5 y70 ff6 fs1 fc0 sc0 ls1 ws0">4.1.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span>JAVA</div><div class="t m1 x19 h6 y70 ff2 fs3 fc0 sc0 ls1 ws0">线程实现</div><div class="t m0 x42 h5 y70 ff6 fs1 fc0 sc0 ls1 ws0">/</div><div class="t m1 x43 h6 y70 ff2 fs3 fc0 sc0 ls1 ws0">创建方式</div><div class="t m0 x44 h7 y70 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..........................................................................................................</span> <span class="_ _1"></span><span class="ls5">54<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h8 y71 ff5 fs4 fc0 sc0 ls1 ws0">4.1.2.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">继承<span class="_ _6"> </span></span>Thread<span class="_ _6"> </span><span class="ff2">类<span class="ff3"> <span class="_ _1"></span><span class="ls7">........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">54<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y72 ff5 fs4 fc0 sc0 ls1 ws0">4.1.2.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">实现<span class="_ _6"> </span></span>Runnable<span class="_ _6"> </span><span class="ff2">接口。<span class="ff3"> <span class="_ _c"></span><span class="ls7">............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">54<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y73 ff5 fs4 fc0 sc0 ls1 ws0">4.1.2.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span>ExecutorService<span class="ff2">、</span>Callable<Class><span class="_ _7"></span><span class="ff2">、</span>Future<span class="_ _6"> </span><span class="ff2">有返回值线程<span class="_ _d"></span><span class="ff3"> <span class="_ _3"></span><span class="ls7">.............................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">55<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y74 ff5 fs4 fc0 sc0 ls1 ws0">4.1.2.4.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">基于线程池的方式<span class="ff3"> <span class="_ _2"></span><span class="ls7">...................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">56<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y75 ff6 fs1 fc0 sc0 ls1 ws0">4.1.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span>4</div><div class="t m1 x45 h6 y75 ff2 fs3 fc0 sc0 ls1 ws0">种线程池</div><div class="t m0 xc h7 y75 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">...................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">56<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y76 ff5 fs4 fc0 sc0 ls1 ws0">4.1.3.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span>newCachedThreadPool<span class="ff3"> <span class="_ _1"></span><span class="ls7">.........................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">57<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h8 y77 ff5 fs4 fc0 sc0 ls1 ws0">4.1.3.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span>newFixedThreadPool<span class="ff3"> <span class="_ _1"></span><span class="ls7">.............................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">57<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h8 y78 ff5 fs4 fc0 sc0 ls1 ws0">4.1.3.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span>newScheduledThreadPool<span class="ff3"> <span class="_ _1"></span><span class="ls7">....................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">58<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h9 y79 ff5 fs4 fc0 sc0 ls1 ws0">4.1.3.4.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff8">newSingleThreadExecutor<span class="ff3"> <span class="ls7">.................................................................................................................</span> <span class="_ _3"></span><span class="ls8">58<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y7a ff6 fs1 fc0 sc0 ls1 ws0">4.1.4.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y7a ff2 fs3 fc0 sc0 ls1 ws0">线程生命周期</div><div class="t m0 x15 h5 y7a ff6 fs1 fc0 sc0 ls1 ws0">(</div><div class="t m1 x46 h6 y7a ff2 fs3 fc0 sc0 ls1 ws0">状态</div><div class="t m0 xa h5 y7a ff6 fs1 fc0 sc0 ls1 ws0">)<span class="ff7"> <span class="_ _c"></span><span class="ls6">....................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">58<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h8 y7b ff5 fs4 fc0 sc0 ls1 ws0">4.1.4.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">新建状态(</span>NE<span class="_ _d"></span>W<span class="_ _7"></span><span class="ff2">)<span class="ff3"> <span class="ls7">................................................................................................................................</span>. <span class="_ _c"></span><span class="ls8">58<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y7c ff5 fs4 fc0 sc0 ls1 ws0">4.1.4.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">就绪状态(</span>RUNNABLE<span class="ff2">):<span class="ff3"> <span class="_ _5"></span><span class="ls7">.................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y7d ff5 fs4 fc0 sc0 ls1 ws0">4.1.4.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">运行状态(</span>RUNNING<span class="ff2">):<span class="ff3"> <span class="_ _5"></span><span class="ls7">....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y7e ff5 fs4 fc0 sc0 ls1 ws0">4.1.4.4.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">阻塞状态(</span>BLOCKED<span class="ff2">):<span class="ff3"> <span class="_ _c"></span><span class="ls7">....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 y7f ff2 fs4 fc0 sc0 ls1 ws0">等待阻塞(<span class="ff5">o.wait-></span>等待对列):<span class="ff3"> <span class="_ _1"></span><span class="ls7">......................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y80 ff2 fs4 fc0 sc0 ls1 ws0">同步阻塞<span class="ff5">(lock-></span>锁池<span class="ff5">)<span class="ff3"> <span class="ls7">..........................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h8 y81 ff2 fs4 fc0 sc0 ls1 ws0">其他阻塞<span class="ff5">(sleep/join)<span class="ff3"> <span class="ls7">............................................................................................................................................</span> <span class="_ _c"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y82 ff5 fs4 fc0 sc0 ls1 ws0">4.1.4.5.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">线程死亡(</span>DEAD<span class="ff2">)<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h7 y83 ff2 fs4 fc0 sc0 ls1 ws0">正常结束<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 y84 ff2 fs4 fc0 sc0 ls1 ws0">异常结束<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y85 ff2 fs4 fc0 sc0 ls1 ws0">调用<span class="_ _6"> </span><span class="ff5">stop<span class="ff3"> <span class="_ _5"></span><span class="ls7">...............................................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">59<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y86 ff6 fs1 fc0 sc0 ls1 ws0">4.1.5.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 y86 ff2 fs3 fc0 sc0 ls1 ws0">终止线程</div><div class="t m0 x30 h5 y86 ff6 fs1 fc0 sc0 ls1 ws0">4</div><div class="t m1 x5 h6 y86 ff2 fs3 fc0 sc0 ls1 ws0">种方式</div><div class="t m0 x47 h7 y86 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">................................................................<span class="_ _7"></span>......................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">60<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y87 ff5 fs4 fc0 sc0 ls1 ws0">4.1.5.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">正常运行结束<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................<span class="_ _7"></span>...........................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">60<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y88 ff5 fs4 fc0 sc0 ls1 ws0">4.1.5.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">使用退出标志退出线程<span class="ff3"> <span class="_ _c"></span><span class="ls7">...........................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">60<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y89 ff5 fs4 fc0 sc0 ls1 ws0">4.1.5.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span>Interrupt<span class="_ _6"> </span><span class="ff2">方法结束线程<span class="ff3"> <span class="_ _3"></span><span class="ls7">...........................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">60<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y8a ff5 fs4 fc0 sc0 ls1 ws0">4.1.5.4.<span class="ff3 fs2"> <span class="_ _8"> </span></span>stop<span class="_ _6"> </span><span class="ff2">方法终止线程(线程不安全)<span class="ff3"> <span class="_ _b"></span><span class="ls7">.......................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">61<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y8b ff6 fs1 fc0 sc0 ls1 ws0">4.1.6.<span class="ff3 fs2"> <span class="_ _a"> </span></span>sleep</div><div class="t m1 x48 h6 y8b ff2 fs3 fc0 sc0 ls1 ws0">与</div><div class="t m0 x49 h5 y8b ff6 fs1 fc0 sc0 ls1 ws0">wait </div><div class="t m1 x4a h6 y8b ff2 fs3 fc0 sc0 ls1 ws0">区别</div><div class="t m0 x39 h7 y8b ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _2"></span><span class="ls6">.......................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">61<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y8c ff6 fs1 fc0 sc0 ls1 ws0">4.1.7.<span class="ff3 fs2"> <span class="_ _a"> </span></span>start</div><div class="t m1 x4b h6 y8c ff2 fs3 fc0 sc0 ls1 ws0">与</div><div class="t m0 x36 h5 y8c ff6 fs1 fc0 sc0 ls1 ws0">run</div><div class="t m1 x4c h6 y8c ff2 fs3 fc0 sc0 ls1 ws0">区别</div><div class="t m0 x4d h7 y8c ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">..........................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">62<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 y8d ff6 fs1 fc0 sc0 ls1 ws0">4.1.8.<span class="ff3 fs2"> <span class="_ _a"> </span></span>JAVA</div><div class="t m1 x19 h6 y8d ff2 fs3 fc0 sc0 ls1 ws0">后台线程</div><div class="t m0 x42 h7 y8d ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">...........................................................................................................................</span> <span class="_ _1"></span><span class="ls5">62<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x3 h5 y8e ff6 fs1 fc0 sc0 ls1 ws0">4.1.9.<span class="ff3 fs2"> <span class="_ _a"> </span></span>JAVA</div><div class="t m1 x19 h6 y8e ff2 fs3 fc0 sc0 ls1 ws0">锁</div><div class="t m0 x1b h7 y8e ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">.......................................................................................................................................</span> <span class="_ _3"></span><span class="ls5">63<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h8 y8f ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.1.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">乐观锁<span class="ff3"> <span class="ls7">......................................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">63<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y90 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.2.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">悲观锁<span class="ff3"> <span class="ls7">......................................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">63<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y91 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">自旋锁<span class="ff3"> <span class="ls7">......................................................................................................................................................</span> <span class="_ _3"></span><span class="ls8">63<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h7 y92 ff2 fs4 fc0 sc0 ls1 ws0">自旋锁的优缺点<span class="ff3"> <span class="_ _c"></span><span class="ls7">....................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">63<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y93 ff2 fs4 fc0 sc0 ls1 ws0">自旋锁时间阈值(<span class="ff5">1.6<span class="_ _6"> </span></span>引入了适应性自旋锁)<span class="ff3"> <span class="_ _3"></span><span class="ls7">..................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">63<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 y94 ff2 fs4 fc0 sc0 ls1 ws0">自旋锁的开启<span class="ff3"> <span class="_ _c"></span><span class="ls7">........................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">64<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h8 y95 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.4.<span class="ff3 fs2"> <span class="_ _8"> </span></span>Synchronized<span class="_ _6"> </span><span class="ff2">同步锁<span class="ff3"> <span class="_ _b"></span><span class="ls7">..............................................................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _c"></span>64<span class="fs2"> </span></span></span></span></span></div><div class="t m0 x14 h8 y96 ff5 fs4 fc0 sc0 ls1 ws0">Synchronized<span class="_ _6"> </span><span class="ff2">作用范围<span class="ff3"> <span class="_ _c"></span><span class="ls7">.......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">64<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 y5e ff5 fs4 fc0 sc0 ls1 ws0">Synchronized<span class="_ _6"> </span><span class="ff2">核心组件<span class="ff3"> <span class="_ _c"></span><span class="ls7">.......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">64<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 y97 ff5 fs4 fc0 sc0 ls1 ws0">Synchronized<span class="_ _6"> </span><span class="ff2">实现<span class="ff3"> <span class="_ _2"></span><span class="ls7">...............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">64<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 y98 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.5.<span class="ff3 fs2"> <span class="_ _8"> </span></span>ReentrantLock<span class="ff3"> <span class="_ _2"></span><span class="ls7">.........................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">66<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y99 ff5 fs4 fc0 sc0 ls1 ws0">Lock<span class="_ _6"> </span><span class="ff2">接口的主要方法<span class="ff3"> <span class="_ _b"></span><span class="ls7">...........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">66<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h7 y9a ff2 fs4 fc0 sc0 ls1 ws0">非公平锁<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">66<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 y9b ff2 fs4 fc0 sc0 ls1 ws0">公平锁<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">67<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y9c ff5 fs4 fc0 sc0 ls1 ws0">ReentrantLock <span class="ff2">与<span class="_ _6"> </span></span>synchronized<span class="ff3"> <span class="ls7">........................................................................................................................<span class="_ _7"></span></span> <span class="_ _c"></span><span class="ls8">67<span class="fs2 ls1"> </span></span></span></div><div class="t m0 x14 h8 y9d ff5 fs4 fc0 sc0 ls1 ws0">ReentrantLock<span class="_ _6"> </span><span class="ff2">实现<span class="ff3"> <span class="_ _3"></span><span class="ls7">.............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">67<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 y9e ff5 fs4 fc0 sc0 ls1 ws0">Condition<span class="_ _6"> </span><span class="ff2">类和<span class="_ _6"> </span></span>Object<span class="_ _6"> </span><span class="ff2">类锁方法区别区别<span class="ff3"> <span class="_ _1"></span><span class="ls7">.........................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">68<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 y9f ff5 fs4 fc0 sc0 ls1 ws0">tryLock<span class="_ _6"> </span><span class="ff2">和<span class="_ _6"> </span></span>lock<span class="_ _6"> </span><span class="ff2">和<span class="_ _6"> </span></span>lockInterruptibly<span class="_ _6"> </span><span class="ff2">的区别<span class="_ _5"></span><span class="ff3"> <span class="_ _c"></span><span class="ls7">........................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">68<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 ya0 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.6.<span class="ff3 fs2"> <span class="_ _8"> </span></span>Semaphore<span class="_ _6"> </span><span class="ff2">信号量<span class="ff3"> <span class="_ _1"></span><span class="ls7">................................................................................................................................<span class="ls1">. <span class="_ _3"></span><span class="ls8">68<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 ya1 ff2 fs4 fc0 sc0 ls1 ws0">实现互斥锁(计数器为<span class="_ _6"> </span><span class="ff5">1</span>)<span class="ff3"> <span class="_ _3"></span><span class="ls7">................................................................................................................................<span class="ls1">. <span class="_ _3"></span><span class="ls8">68<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 ya2 ff2 fs4 fc0 sc0 ls1 ws0">代码实现<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">68<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 ya3 ff5 fs4 fc0 sc0 ls1 ws0">Semaphore <span class="ff2">与<span class="_ _6"> </span></span>ReentrantLock<span class="ff3"> <span class="ls7">...........................................................................................................................</span> <span class="_ _c"></span><span class="ls8">69<span class="fs2 ls1"> </span></span></span></div><div class="t m0 x13 h8 ya4 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.7.<span class="ff3 fs2"> <span class="_ _8"> </span></span>AtomicInteger<span class="ff3"> <span class="_ _3"></span><span class="ls7">..........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">69<span class="fs2 ls1"> </span></span></span></span></span></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a></div><div class="pi" data-data='{"ctm":[1.611792,0.000000,0.000000,1.611792,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/10972048/bg4.jpg"><div class="c x1 y33 w2 hb"><div class="t m0 x26 h8 y34 ff5 fs4 fc0 sc0 ls1 ws0">13/04/2018 </div></div><div class="c x7 y33 w3 hb"><div class="t m0 x27 hc y35 ff6 fs4 fc0 sc0 ls1 ws0"> </div></div><div class="c x28 y33 w4 hb"><div class="t m0 x29 h8 y34 ff5 fs4 fc0 sc0 ls1 ws0">Page 4 of 283 </div></div><div class="t m0 x1 h8 y36 ff5 fs4 fc0 sc0 ls1 ws0"> </div><div class="t m0 x13 h8 ya5 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.8.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">可重入锁(递归锁)<span class="ff3"> <span class="_ _c"></span><span class="ls7">...............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">69<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 ya6 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.9.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="ff2">公平锁与非公平锁<span class="ff3"> <span class="_ _2"></span><span class="ls7">...................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 ya7 ff2 fs4 fc0 sc0 ls1 ws0">公平锁(<span class="ff5">Fair</span>)<span class="ff3"> <span class="_ _3"></span><span class="ls7">.....................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 ya8 ff2 fs4 fc0 sc0 ls1 ws0">非公平锁(<span class="ff5">Nonfair</span>)<span class="ff3"> <span class="_ _1"></span><span class="ls7">...........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h8 ya9 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.10.<span class="ff3 fs2"> <span class="_ _a"> </span></span>ReadWriteLock<span class="_ _6"> </span><span class="ff2">读写锁<span class="ff3"> <span class="_ _1"></span><span class="ls7">......................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h7 yaa ff2 fs4 fc0 sc0 ls1 ws0">读锁<span class="ff3 ls7">........................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h7 yab ff2 fs4 fc0 sc0 ls1 ws0">写锁<span class="ff3 ls7">........................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 yac ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.11.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">共享锁和独占锁<span class="ff3"> <span class="_ _5"></span><span class="ls7">..................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h7 yad ff2 fs4 fc0 sc0 ls1 ws0">独占锁<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 yae ff2 fs4 fc0 sc0 ls1 ws0">共享锁<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">70<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h9 yaf ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.12.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">重量级锁(<span class="ff8">Mutex Lock</span>)<span class="ff3"> <span class="ls7">................................................................................................................</span> <span class="_ _c"></span><span class="ls8">71<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 yb0 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.13.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">轻量级锁<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">71<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h7 yb1 ff2 fs4 fc0 sc0 ls1 ws0">锁升级<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">71<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h8 yb2 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.14.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">偏向锁<span class="ff3"> <span class="_ _1"></span><span class="ls7">..................................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">71<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yb3 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.15.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">分段锁<span class="ff3"> <span class="_ _1"></span><span class="ls7">..................................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">71<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yb4 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.16.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">锁优化<span class="ff3"> <span class="_ _1"></span><span class="ls7">..................................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">71<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h7 yb5 ff2 fs4 fc0 sc0 ls1 ws0">减少锁持有时间<span class="ff3"> <span class="_ _c"></span><span class="ls7">....................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 yb6 ff2 fs4 fc0 sc0 ls1 ws0">减小锁粒度<span class="ff3"> <span class="_ _2"></span><span class="ls7">............................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 yb7 ff2 fs4 fc0 sc0 ls1 ws0">锁分离<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 yb8 ff2 fs4 fc0 sc0 ls1 ws0">锁粗化<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 yb9 ff2 fs4 fc0 sc0 ls1 ws0">锁消除<span class="ff3"> <span class="_ _b"></span><span class="ls7">................................................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 yba ff6 fs1 fc0 sc0 ls1 ws0">4.1.10.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 yba ff2 fs3 fc0 sc0 ls1 ws0">线程基本方法</div><div class="t m0 x15 h7 yba ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls5">72<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h8 ybb ff5 fs4 fc0 sc0 ls1 ws0">4.1.10.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">线程等待(</span>wait<span class="ff2">)<span class="ff3"> <span class="_ _5"></span><span class="ls7">...............................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">73<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 ybc ff5 fs4 fc0 sc0 ls1 ws0">4.1.10.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">线程睡眠(</span>sleep<span class="ff2">)<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................<span class="_ _7"></span>.............................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">73<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 ybd ff5 fs4 fc0 sc0 ls1 ws0">4.1.10.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">线程让步(</span>yield<span class="ff2">)<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">73<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 ybe ff5 fs4 fc0 sc0 ls1 ws0">4.1.10.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">线程中断(</span>interrupt<span class="ff2">)<span class="ff3"> <span class="_ _2"></span><span class="ls7">........................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">73<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 ybf ff5 fs4 fc0 sc0 ls1 ws0">4.1.10.5.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Join<span class="_ _6"> </span><span class="ff2">等待其他线程终止<span class="ff3"> <span class="_ _1"></span><span class="ls7">......................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">74<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yc0 ff5 fs4 fc0 sc0 ls1 ws0">4.1.10.6.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">为什么要用<span class="_ _6"> </span></span>join<span class="_ _7"></span>()<span class="ff2">方法?<span class="ff3"> <span class="ls7">....................................................................................................................</span> <span class="_ _3"></span><span class="ls8">74<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 yc1 ff5 fs4 fc0 sc0 ls1 ws0">4.1.10.7.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">线程唤醒(</span>notify<span class="ff2">)<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................<span class="_ _7"></span>.............................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">74<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yc2 ff5 fs4 fc0 sc0 ls1 ws0">4.1.10.8.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">其他方法:<span class="ff3"> <span class="_ _1"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>..........<span class="ls1"> <span class="_ _c"></span><span class="ls8">74<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 yc3 ff6 fs1 fc0 sc0 ls1 ws0">4.1.11.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 yc3 ff2 fs3 fc0 sc0 ls1 ws0">线程上下文切换</div><div class="t m0 x43 h7 yc3 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..........................................................................................................................</span> <span class="_ _3"></span><span class="ls5">75<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h8 yc4 ff5 fs4 fc0 sc0 ls1 ws0">4.1.11.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">进程<span class="ff3"> <span class="_ _3"></span><span class="ls7">......................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">75<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yc5 ff5 fs4 fc0 sc0 ls1 ws0">4.1.11.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">上下文<span class="ff3"> <span class="_ _1"></span><span class="ls7">..................................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">75<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yc6 ff5 fs4 fc0 sc0 ls1 ws0">4.1.11.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">寄存器<span class="ff3"> <span class="_ _1"></span><span class="ls7">..................................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">75<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yc7 ff5 fs4 fc0 sc0 ls1 ws0">4.1.11.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">程序计数器<span class="ff3"> <span class="_ _1"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>..........<span class="ls1"> <span class="_ _c"></span><span class="ls8">75<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yc8 ff5 fs4 fc0 sc0 ls1 ws0">4.1.11.5.<span class="ff3 fs2"> <span class="_ _a"> </span></span>PCB-<span class="ff2">“切换桢”<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................................................................................<span class="ls1">. <span class="_ _3"></span><span class="ls8">75<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 yc9 ff5 fs4 fc0 sc0 ls1 ws0">4.1.11.6.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">上下文切换的活动:<span class="ff3"> <span class="ls7">..........................................................................................................................</span> <span class="_ _c"></span><span class="ls8">76<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y57 ff5 fs4 fc0 sc0 ls1 ws0">4.1.11.7.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">引起线程上下文切换的原因<span class="ff3"> <span class="ls7">..............................................................................................................</span> <span class="_ _3"></span><span class="ls8">76<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 yca ff6 fs1 fc0 sc0 ls1 ws0">4.1.12.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 yca ff2 fs3 fc0 sc0 ls1 ws0">同步锁与死锁</div><div class="t m0 x15 h7 yca ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls5">76<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h8 ycb ff5 fs4 fc0 sc0 ls1 ws0">4.1.12.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">同步锁<span class="ff3"> <span class="_ _1"></span><span class="ls7">..................................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">76<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h8 ycc ff5 fs4 fc0 sc0 ls1 ws0">4.1.12.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff2">死锁<span class="ff3"> <span class="_ _3"></span><span class="ls7">......................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">76<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 ycd ff6 fs1 fc0 sc0 ls1 ws0">4.1.13.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 ycd ff2 fs3 fc0 sc0 ls1 ws0">线程池原理</div><div class="t m0 x5 h7 ycd ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls6">................................<span class="_ _7"></span>..................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">76<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yce ff8 fs4 fc0 sc0 ls1 ws0">4.1.13.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">线程复用<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">76<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 ycf ff8 fs4 fc0 sc0 ls1 ws0">4.1.13.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">线程池的组成<span class="ff3"> <span class="_ _5"></span><span class="ls7">......................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">76<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yd0 ff8 fs4 fc0 sc0 ls1 ws0">4.1.13.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">拒绝策略<span class="ff3"> <span class="_ _1"></span><span class="ls7">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">78<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yd1 ff8 fs4 fc0 sc0 ls1 ws0">4.1.13.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Java<span class="_ _6"> </span><span class="ff9">线程池工作过程<span class="ff3"> <span class="_ _5"></span><span class="ls7">.........................................................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _c"></span><span class="ls8">78<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 yd2 ff6 fs1 fc0 sc0 ls1 ws0">4.1.14.<span class="ff3 fs2"> <span class="_ _e"> </span></span>JAVA</div><div class="t m1 x19 h6 yd2 ff2 fs3 fc0 sc0 ls1 ws0">阻塞队列原理</div><div class="t m0 x4e h7 yd2 ff7 fs1 fc0 sc0 ls6 ws0">....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">79<span class="ff3 fs2 ls1"> </span></span></span></div><div class="t m0 x13 h9 yd3 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">阻塞队列的主要方法<span class="ff3"> <span class="ls7">..........................................................................................................................</span> <span class="_ _c"></span><span class="ls8">80<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h7 yd4 ff2 fs4 fc0 sc0 ls1 ws0">插入操作:<span class="ff3"> <span class="_ _2"></span><span class="ls7">............................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">80<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 yd5 ff2 fs4 fc0 sc0 ls1 ws0">获取数据操作:<span class="ff3"> <span class="_ _c"></span><span class="ls7">....................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">81<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h9 yd6 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Java<span class="_ _6"> </span><span class="ff9">中的阻塞队列<span class="ff3"> <span class="_ _5"></span><span class="ls7">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">81<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yd7 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span>ArrayBlockingQueue<span class="ff9">(公平、非公平)<span class="ff3"> <span class="ls7">.......................................................................................</span> <span class="_ _3"></span><span class="ls8">82<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yd8 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span>LinkedBlockingQueue<span class="ff9">(两个独立锁提高并发)<span class="ff3"> <span class="_ _d"></span><span class="ls7">.........................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">82<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yd9 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.5.<span class="ff3 fs2"> <span class="_ _a"> </span></span>PriorityBlockingQueue<span class="ff9">(</span>compareTo<span class="_ _6"> </span><span class="ff9">排序实现优先)<span class="ff3 ls7">..............................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">82<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h9 yda ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.6.<span class="ff3 fs2"> <span class="_ _a"> </span></span>DelayQueue<span class="ff9">(缓存失效、定时任务</span> <span class="ff9">)<span class="ff3"> <span class="_ _5"></span><span class="ls7">..........................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">82<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 ydb ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.7.<span class="ff3 fs2"> <span class="_ _a"> </span></span>SynchronousQueue<span class="ff9">(不存储数据、可用于传递数据)<span class="ff3"> <span class="_ _2"></span><span class="ls7">..............................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">83<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 ydc ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.8.<span class="ff3 fs2"> <span class="_ _a"> </span></span>LinkedTransferQueue<span class="ff3 ls7">......................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">83<span class="fs2 ls1"> </span></span></span></span></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a></div><div class="pi" data-data='{"ctm":[1.611792,0.000000,0.000000,1.611792,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://csdnimg.cn/release/download_crawler_static/10972048/bg5.jpg"><div class="c x1 y33 w2 hb"><div class="t m0 x26 h8 y34 ff5 fs4 fc0 sc0 ls1 ws0">13/04/2018 </div></div><div class="c x7 y33 w3 hb"><div class="t m0 x27 hc y35 ff6 fs4 fc0 sc0 ls1 ws0"> </div></div><div class="c x28 y33 w4 hb"><div class="t m0 x29 h8 y34 ff5 fs4 fc0 sc0 ls1 ws0">Page 5 of 283 </div></div><div class="t m0 x1 h8 y36 ff5 fs4 fc0 sc0 ls1 ws0"> </div><div class="t m0 x13 h9 y37 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.9.<span class="ff3 fs2"> <span class="_ _a"> </span></span>LinkedBlockingDeque<span class="ff3"> <span class="_ _c"></span><span class="ls7">.....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">83<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 ydd ff6 fs1 fc0 sc0 ls1 ws0">4.1.15.<span class="ff3 fs2"> <span class="_ _e"> </span></span>CyclicBarrier</div><div class="t m1 x4f h6 ydd ff2 fs3 fc0 sc0 ls1 ws0">、</div><div class="t m0 x42 h5 ydd ff6 fs1 fc0 sc0 ls1 ws0">CountDownLatch</div><div class="t m1 x50 h6 ydd ff2 fs3 fc0 sc0 ls1 ws0">、</div><div class="t m0 x51 h5 ydd ff6 fs1 fc0 sc0 ls1 ws0">Semaphore</div><div class="t m1 x52 h6 ydd ff2 fs3 fc0 sc0 ls1 ws0">的用法</div><div class="t m0 x53 h7 ydd ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _3"></span><span class="ls6">........................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">84<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yde ff8 fs4 fc0 sc0 ls1 ws0">4.1.15.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span>CountDownLatch<span class="ff9">(线程计数器</span> <span class="ff9">)<span class="ff3"> <span class="ls7">................................................................................................</span> <span class="_ _c"></span><span class="ls8">84<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y6e ff8 fs4 fc0 sc0 ls1 ws0">4.1.15.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span>CyclicBarrier<span class="ff9">(回环栅栏</span>-<span class="ff9">等待至<span class="_"> </span></span>barrier<span class="_ _6"> </span><span class="ff9">状态再全部同时执行)<span class="ff3"> <span class="ls7">...............................................</span> <span class="_ _c"></span><span class="ls8">84<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 ydf ff8 fs4 fc0 sc0 ls1 ws0">4.1.15.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span>Semaphore<span class="ff9">(信号量</span>-<span class="ff9">控制同时访问的线程个数)<span class="ff3"> <span class="ls7">.......................................................................</span> <span class="_ _c"></span><span class="ls8">85<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 ye0 ff6 fs1 fc0 sc0 ls1 ws0">4.1.16.<span class="ff3 fs2"> <span class="_ _e"> </span></span>volatile</div><div class="t m1 x11 h6 ye0 ff2 fs3 fc0 sc0 ls1 ws0">关键字的作用(<span class="_ _7"></span>变量可见性<span class="_ _7"></span>、禁止重排序<span class="_ _7"></span>)</div><div class="t m0 x54 h7 ye0 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">.............................................................</span> <span class="_ _1"></span><span class="ls5">87<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x14 h7 ye1 ff2 fs4 fc0 sc0 ls1 ws0">变量可见性<span class="ff3"> <span class="_ _2"></span><span class="ls7">............................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">87<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 ye2 ff2 fs4 fc0 sc0 ls1 ws0">禁止重排序<span class="ff3"> <span class="_ _2"></span><span class="ls7">............................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">87<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 ye3 ff2 fs4 fc0 sc0 ls1 ws0">比<span class="_ _6"> </span><span class="ff5">sychronized<span class="_"> </span></span>更轻量级的同<span class="_ _5"></span>步锁<span class="ff3"> <span class="_ _1"></span><span class="ls7">.....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">87<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h7 ye4 ff2 fs4 fc0 sc0 ls1 ws0">适用场景<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">87<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 ye5 ff6 fs1 fc0 sc0 ls1 ws0">4.1.17.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 ye5 ff2 fs3 fc0 sc0 ls1 ws0">如何在两个线程之间共<span class="_ _7"></span>享数据</div><div class="t m0 x55 h7 ye5 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _b"></span><span class="ls6">...................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">88<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h7 ye6 ff2 fs4 fc0 sc0 ls1 ws0">将数据抽象成一个类,并将数据的操作作为这个类的方法<span class="ff3"> <span class="_ _c"></span><span class="ls7">.............................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">88<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 ye7 ff5 fs4 fc0 sc0 ls1 ws0">Runnable<span class="_ _6"> </span><span class="ff2">对象作为一个类的内部类<span class="ff3"> <span class="_ _5"></span><span class="ls7">..................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">89<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 ye8 ff6 fs1 fc0 sc0 ls1 ws0">4.1.18.<span class="ff3 fs2"> <span class="_ _e"> </span></span>ThreadLocal</div><div class="t m1 x56 ha ye8 ff2 fs3 fc0 sc0 ls1 ws0">作用(<span class="ff9">线程<span class="_ _7"></span>本地存储</span>)</div><div class="t m0 x57 h7 ye8 ff7 fs1 fc0 sc0 ls6 ws0">........................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">90<span class="ff3 fs2 ls1"> </span></span></span></div><div class="t m0 x14 h8 ye9 ff5 fs4 fc0 sc0 ls1 ws0">ThreadLocalMap<span class="ff2">(线程的一个属性)<span class="ff3"> <span class="_ _d"></span><span class="ls7">..............................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">90<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h7 yc ff2 fs4 fc0 sc0 ls1 ws0">使用场景<span class="ff3"> <span class="_ _2"></span><span class="ls7">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">91<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x3 h5 yea ff6 fs1 fc0 sc0 ls1 ws0">4.1.19.<span class="ff3 fs2"> <span class="_ _e"> </span></span>synchronized</div><div class="t m1 x3f h6 yea ff2 fs3 fc0 sc0 ls1 ws0">和</div><div class="t m0 x37 h5 yea ff6 fs1 fc0 sc0 ls1 ws0">Reentrant<span class="_ _7"></span>Lock</div><div class="t m1 x16 h6 yea ff2 fs3 fc0 sc0 ls1 ws0">的区别</div><div class="t m0 x58 h7 yea ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..................................................................................</span> <span class="_ _3"></span><span class="ls5">91<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h9 yeb ff8 fs4 fc0 sc0 ls1 ws0">4.1.19.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">两者的共同点:<span class="ff3"> <span class="_ _5"></span><span class="ls7">..................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">91<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yec ff8 fs4 fc0 sc0 ls1 ws0">4.1.19.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">两者的不同点:<span class="ff3"> <span class="_ _5"></span><span class="ls7">..................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">92<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 yed ff6 fs1 fc0 sc0 ls1 ws0">4.1.20.<span class="ff3 fs2"> <span class="_ _e"> </span></span>ConcurrentHash<span class="_ _7"></span>Map</div><div class="t m1 x18 h6 yed ff2 fs3 fc0 sc0 ls1 ws0">并发</div><div class="t m0 x59 h7 yed ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _2"></span><span class="ls6">.........................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">92<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yee ff8 fs4 fc0 sc0 ls1 ws0">4.1.20.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">减小锁粒度<span class="ff3"> <span class="_ _1"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>..........<span class="ls1"> <span class="_ _c"></span><span class="ls8">92<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yef ff8 fs4 fc0 sc0 ls1 ws0">4.1.20.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span>ConcurrentHashMap<span class="_ _6"> </span><span class="ff9">分段锁<span class="ff3"> <span class="_ _c"></span><span class="ls7">................................................................................................<span class="_ _7"></span>..........<span class="ls1"> <span class="_ _c"></span><span class="ls8">92<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 yf0 ff5 fs4 fc0 sc0 ls1 ws0">ConcurrentHashMap<span class="_ _6"> </span><span class="ff2">是由<span class="_ _6"> </span></span>Segment<span class="_ _6"> </span><span class="ff2">数组结构和<span class="_ _6"> </span></span>HashEntry<span class="_ _6"> </span><span class="ff2">数组结构组成<span class="ff3"> <span class="_ _c"></span><span class="ls7">.................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">93<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 yf1 ff6 fs1 fc0 sc0 ls1 ws0">4.1.21.<span class="ff3 fs2"> <span class="_ _e"> </span></span>Java</div><div class="t m1 x5a h6 yf1 ff2 fs3 fc0 sc0 ls1 ws0">中用到的线程调度</div><div class="t m0 x5b h7 yf1 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">................................................................<span class="_ _7"></span>.............................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">93<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yf2 ff8 fs4 fc0 sc0 ls1 ws0">4.1.21.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">抢占式调度:<span class="ff3"> <span class="_ _5"></span><span class="ls7">......................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">93<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yf3 ff8 fs4 fc0 sc0 ls1 ws0">4.1.21.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">协同式调度:<span class="ff3"> <span class="_ _5"></span><span class="ls7">......................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">93<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yf4 ff8 fs4 fc0 sc0 ls1 ws0">4.1.21.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ls9">JVM<span class="_ _6"> </span></span><span class="ff9">的线程调度实现(抢占式调度)<span class="ff3"> <span class="ls7">.............................................................................................</span> <span class="_ _3"></span><span class="ls8">94<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yf5 ff8 fs4 fc0 sc0 ls1 ws0">4.1.21.4.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">线程让出<span class="_"> </span></span>cpu<span class="_"> </span><span class="ff9">的情况:<span class="_ _5"></span><span class="ff3"> <span class="ls7">.....................................................................................................................</span> <span class="_ _3"></span><span class="ls8">94<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 yf6 ff6 fs1 fc0 sc0 ls1 ws0">4.1.22.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 yf6 ff2 fs3 fc0 sc0 ls1 ws0">进程调度算法</div><div class="t m0 x15 h7 yf6 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="ls6">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls5">94<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 h9 yf7 ff8 fs4 fc0 sc0 ls1 ws0">4.1.22.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">优先调度算法<span class="ff3"> <span class="_ _5"></span><span class="ls7">......................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls8">94<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yf8 ff8 fs4 fc0 sc0 ls1 ws0">4.1.22.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">高优先权优先调度算法<span class="ff3"> <span class="ls7">......................................................................................................................</span> <span class="_ _c"></span><span class="ls8">95<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yf9 ff8 fs4 fc0 sc0 ls1 ws0">4.1.22.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">基于时间片的轮转调度算法<span class="ff3"> <span class="ls7">..............................................................................................................</span> <span class="_ _3"></span><span class="ls8">96<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x3 h5 yfa ff6 fs1 fc0 sc0 ls1 ws0">4.1.23.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 yfa ff2 fs3 fc0 sc0 ls1 ws0">什么是</div><div class="t m0 x11 h5 yfa ff6 fs1 fc0 sc0 ls1 ws0">CAS</div><div class="t m1 x6 ha yfa ff2 fs3 fc0 sc0 ls1 ws0">(<span class="ff9">比较并交换<span class="ff8">-<span class="_ _7"></span></span>乐观锁机制<span class="ff8">-</span>锁自<span class="_ _7"></span>旋</span>)</div><div class="t m0 x5c h7 yfa ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">................................................................<span class="_ _7"></span>..<span class="ls1"> <span class="_ _3"></span><span class="ls5">96<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yfb ff8 fs4 fc0 sc0 ls1 ws0">4.1.23.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">概念及特性<span class="ff3"> <span class="_ _1"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>..........<span class="ls1"> <span class="_ _c"></span><span class="ls8">96<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 yfc ff8 fs4 fc0 sc0 ls1 ws0">4.1.23.2.<span class="ff3 fs2"> <span class="_ _a"> </span></span><span class="ff9">原子包</span> java.util.concurrent.atomic<span class="ff9">(锁自旋)<span class="ff3"> <span class="ls7">...........................................................................</span> <span class="_ _c"></span><span class="ls8">97<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 yfd ff8 fs4 fc0 sc0 ls1 ws0">4.1.23.3.<span class="ff3 fs2"> <span class="_ _a"> </span></span>ABA<span class="_ _6"> </span><span class="ff9">问题<span class="ff3"> <span class="_ _3"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>.............<span class="ls1"> <span class="_ _c"></span><span class="ls8">98<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 yfe ff6 fs1 fc0 sc0 ls1 ws0">4.1.24.<span class="ff3 fs2"> </span></div><div class="t m1 x4 h6 yfe ff2 fs3 fc0 sc0 ls1 ws0">什么是</div><div class="t m0 x10 h5 yfe ff6 fs1 fc0 sc0 ls1 ws0"> AQS</div><div class="t m1 x6 ha yfe ff2 fs3 fc0 sc0 ls1 ws0">(<span class="ff9">抽象的队列<span class="_ _7"></span>同步器</span>)</div><div class="t m0 x51 h7 yfe ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _1"></span><span class="ls6">.........................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls5">98<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h8 yff ff5 fs4 fc0 sc0 ls1 ws0">Exclusive<span class="_ _6"> </span><span class="ff2">独占资源</span>-ReentrantLock<span class="ff3"> <span class="_ _1"></span><span class="ls7">...................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">99<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y100 ff5 fs4 fc0 sc0 ls1 ws0">Share<span class="_ _6"> </span><span class="ff2">共享资源</span>-Semaphore/C<span class="_ _d"></span>ountDo<span class="_ _7"></span>wnLatch<span class="ff3"> <span class="_ _1"></span><span class="ls7">...............................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">99<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y101 ff2 fs4 fc0 sc0 ls1 ws0">同步器的实现是<span class="_ _6"> </span><span class="ff5 ls8">ABS<span class="_ _6"> </span></span>核心(<span class="ff5">state<span class="_ _6"> </span></span>资源状态计数)<span class="ff3"> <span class="_ _1"></span><span class="ls7">.......................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">100<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y27 ff5 fs4 fc0 sc0 ls1 ws0">ReentrantReadWriteLock<span class="_ _6"> </span><span class="ff2">实现独占和共享两种方式<span class="ff3"> <span class="_ _c"></span><span class="ls7">.....................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">100<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x1 h3 y102 ff1 fs1 fc0 sc0 ls3 ws0">5.<span class="ff3 fs2 ls1"> <span class="_ _0"> </span></span><span class="ls1">JAVA<span class="_ _6"> </span><span class="ff2 sc1 ls2">基础<span class="_ _7"></span></span><span class="ff4"> <span class="_ _1"></span><span class="ls4">..........................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls5">101<span class="ff3 fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x3 h5 y103 ff6 fs1 fc0 sc0 ls1 ws0">5.1.1.<span class="ff3 fs2"> <span class="_ _a"> </span></span>JAVA</div><div class="t m1 x19 h6 y103 ff2 fs3 fc0 sc0 ls1 ws0">异常分类及处理</div><div class="t m0 xd h7 y103 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _b"></span><span class="ls6">..............................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls5">101<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y104 ff8 fs4 fc0 sc0 ls1 ws0">5.1.1.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">概念<span class="ff3"> <span class="_ _3"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>....................<span class="ls1"> <span class="_ _c"></span><span class="ls8">101<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h9 y105 ff8 fs4 fc0 sc0 ls1 ws0">5.1.1.2.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">异常分类<span class="ff3"> <span class="_ _1"></span><span class="ls7">............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">101<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 y106 ff5 fs4 fc0 sc0 ls1 ws0">Error<span class="ff3"> <span class="_ _2"></span><span class="ls7">.....................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">101<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h9 y107 ff5 fs4 fc0 sc0 ls1 ws0">Exception<span class="ff2">(<span class="ff8">RuntimeException<span class="ff9">、</span>CheckedException</span>)<span class="ff3"> <span class="ls7">...........................................................................</span> <span class="_ _c"></span><span class="ls8">101<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h9 y108 ff8 fs4 fc0 sc0 ls1 ws0">5.1.1.3.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ff9">异常的处理方式<span class="ff3"> <span class="_ _5"></span><span class="ls7">................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">102<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h9 y109 ff2 fs4 fc0 sc0 ls1 ws0">遇到问题不进行具体处理,而是继续抛给调用者<span class="ff5"> </span>(<span class="ff8">throw,throws</span>)<span class="ff3"> <span class="_ _2"></span><span class="ls7">.........................................................<span class="ls1"> <span class="_ _3"></span><span class="ls8">102<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y10a ff5 fs4 fc0 sc0 ls1 ws0">try catch <span class="ff2">捕获异常针对性处理方式<span class="ff3"> <span class="_ _1"></span><span class="ls7">..................................................................................................................<span class="ls1"> <span class="_ _c"></span>1<span class="ls8">02</span><span class="fs2"> </span></span></span></span></span></div><div class="t m0 x13 h9 y10b ff8 fs4 fc0 sc0 ls1 ws0">5.1.1.4.<span class="ff3 fs2"> <span class="_ _9"> </span></span>Throw<span class="_ _6"> </span><span class="ff9">和<span class="_ _f"> </span></span>throws<span class="_ _6"> </span><span class="ff9">的区别:<span class="ff3"> <span class="ls7">............................................................................................................</span> <span class="_ _3"></span><span class="ls8">102<span class="fs2 ls1"> </span></span></span></span></div><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a><a class="l" rel='nofollow' onclick='return false;'><div class="d m2"></div></a></div><div class="pi" data-data='{"ctm":[1.611792,0.000000,0.000000,1.611792,0.000000,0.000000]}'></div></div>