Java面试题及答案.zip
资源内容介绍
java进阶面试题,内涵答案。超详细 <link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/css/base.min.css" rel="stylesheet"/><link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/css/fancy.min.css" rel="stylesheet"/><link href="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89588918/raw.css" rel="stylesheet"/><div id="sidebar" style="display: none"><div id="outline"></div></div><div class="pf w0 h0" data-page-no="1" id="pf1"><div class="pc pc1 w0 h0"><img alt="" class="bi x0 y0 w1 h1" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89588918/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 ls4">目录</span><span class="ff4 ls1"> <span class="_ _1"></span><span class="ls5">.........................................................................................................................................................<span class="ls1"> <span class="_ _2"></span>1<span class="ff3 fs2"> </span></span></span></span></div><div class="t m0 x1 h4 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="ls5">.......................................................................................................................................................<span class="ls1"> <span class="_ _2"></span><span class="ls6">19<span class="ff3 fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x2 h3 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="ls7">......................................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">20<span class="fs2 ls1"> </span></span></span></span></span></span></span></div><div class="t m0 x2 h3 y5 ff5 fs1 fc0 sc0 ls3 ws0">2.2.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls8">JVM<span class="_ _6"> </span><span class="ff2 ls1">内存区域<span class="ff3"> <span class="_ _7"></span><span class="ls7">.....................................................................................................................................</span> <span class="_ _1"></span><span class="ls6">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="ls7">................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="ls7">....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="ls7">................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="ls7">......................................................................................</span> <span class="_ _1"></span><span class="ls6">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="ls7">.....................................................................................................</span> <span class="_ _1"></span><span class="ls6">23<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x2 h3 yb ff5 fs1 fc0 sc0 ls3 ws0">2.3.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls8">JVM<span class="_ _6"> </span><span class="ff2 ls1">运行时内存<span class="_ _7"></span><span class="ff3"> <span class="ls7">................................................................................................................................</span>. <span class="_ _1"></span><span class="ls6">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="ls7">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls9">....................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">24<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h7 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="ls9">...........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">................................................................<span class="_ _7"></span>..............................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">24<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha y10 ff8 fs4 fc0 sc0 ls1 ws0">2.3.1.4.<span class="ff3 fs2"> <span class="_ _9"> </span></span>MinorGC<span class="_ _a"> </span><span class="ff9">的过程(复制</span>-><span class="ff9">清空</span>-><span class="ff9">互换)<span class="ff3"> <span class="_ _5"></span><span class="ls9">.......................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">24<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 ha y11 ff5 fs4 fc0 sc0 ls1 ws0">1<span class="ff2">:</span><span class="lsb">eden</span><span class="ff2">、</span>servicorFrom <span class="ff2">复制到<span class="_ _6"> </span><span class="ff8">Servicor<span class="_ _7"></span>To<span class="ff9">,年龄</span><span class="lsc">+1</span><span class="ff3"> <span class="_ _2"></span><span class="ls9">...................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span></span><span class="lsd">eden</span><span class="ff2">、</span>servicorFrom<span class="ff3"> <span class="_ _2"></span><span class="ls9">.............................................................................................................................<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="_ _a"> </span></span>ServicorFrom<span class="_ _6"> </span><span class="ff2">互换<span class="ff3"> <span class="_ _3"></span><span class="ls9">................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls7">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls7">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">25<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha y16 ff8 fs4 fc0 sc0 ls1 ws0">2.3.3.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span>JAVA8<span class="_ _a"> </span><span class="ff9">与元数据<span class="ff3"> <span class="_ _3"></span><span class="ls9">................................................................................................................................<span class="_ _7"></span><span class="ls1">. <span class="_ _3"></span><span class="lsa">25<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x2 h3 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="ls7">..................................................................................................................................</span> <span class="_ _1"></span><span class="ls6">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="ls7">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls6">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 ls9">...............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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 ls9">...............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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 h6 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="ls7">..............................................................................................</span> <span class="_ _1"></span><span class="ls6">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="ls7">.................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="ls7">..................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls7">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls6">29<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 ha 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="ls9">................................<span class="_ _7"></span>..............................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">29<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha 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="ls9">......................................................................................................................</span> <span class="_ _3"></span><span class="lsa">29<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x2 h3 y21 ff5 fs1 fc0 sc0 ls3 ws0">2.5.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls8">JAVA<span class="_ _b"></span><span class="fs5 ls1"> <span class="ff2 fs1">四中引用<span class="_ _7"></span>类型<span class="ff3"> <span class="_ _7"></span><span class="ls7">...........................................................................................................................</span> <span class="_ _1"></span><span class="ls6">30<span class="fs2 ls1"> </span></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="ls7">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls7">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls7">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls7">..........................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">30<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x2 h3 y26 ff5 fs1 fc0 sc0 ls3 ws0">2.6.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="lse">GC<span class="_ _6"> </span><span class="ff2 ls1">分代收集算法</span><span class="fs5 lsf"> </span><span class="ls10">VS<span class="fs5 ls1"> <span class="ff2 fs1">分区<span class="_ _7"></span>收集算法<span class="ff3"> <span class="_ _c"></span><span class="ls7">................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls7">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls6">30<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 ha 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="ls9">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">30<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha 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="ls9">.....................................................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls7">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls6">31<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x2 h3 y2b ff5 fs1 fc0 sc0 ls3 ws0">2.7.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="lse">GC<span class="_ _6"> </span><span class="ff2 ls1">垃圾收集器<span class="_ _7"></span><span class="ff3"> <span class="ls7">...................................................................................................................................</span> <span class="_ _1"></span><span class="ls6">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="_ _d"> </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="_ _e"></span><span class="ls7">................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </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="ls7">................................................................<span class="_ _7"></span>...................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _d"> </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="ls7">..........................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _d"> </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="ls7">................................<span class="_ _7"></span>...........................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _d"> </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="ls7">.........................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </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="_ _c"></span><span class="ls7">.....................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="ls6">33<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha 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="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">33<span class="fs2 ls1"> </span></span></span></span></span></span></div><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><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="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89588918/bg2.jpg"><div class="c x1 y33 w2 hb"><div class="t m3 x26 hc y34 ff5 fs4 fc0 sc0 ls1 ws0">13/04/2018 </div></div><div class="c x7 y33 w3 hb"><div class="t m3 x27 hd y35 ff6 fs4 fc0 sc0 ls1 ws0"> </div></div><div class="c x28 y33 w4 hb"><div class="t m3 x29 hc y34 ff5 fs4 fc0 sc0 ls1 ws0">Page 2 of <span class="ls11">283</span> </div></div><div class="t m3 x1 hc y36 ff5 fs4 fc0 sc0 ls1 ws0"> </div><div class="t m3 x13 ha 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="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">34<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x13 ha 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="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">34<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x13 ha 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="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">34<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x3 h5 y3a ff6 fs1 fc0 sc0 ls1 ws0">2.7.7.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="lse">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="ls7">....................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">34<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x2 he y3b ff5 fs1 fc0 sc0 ls3 ws0">2.8.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls8">JAVA<span class="_ _b"></span><span class="fs5 ls1"> <span class="fs1">IO/NIO<span class="ff3"> <span class="_ _1"></span><span class="ls7">.......................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">34<span class="fs2 ls1"> </span></span></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 ls12 ws0">IO</div><div class="t m1 x2c h6 y3c ff2 fs3 fc0 sc0 ls13 ws0">模型</div><div class="t m0 x2d h7 y3c ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls7">................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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 ls12 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="ls7">............................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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 ls14 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="ls7">................................................................<span class="_ _7"></span>........................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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 ls14 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="ls7">................................................................<span class="_ _7"></span>........................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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 ls12 ws0">IO</div><div class="t m1 x2c h6 y40 ff2 fs3 fc0 sc0 ls13 ws0">模型</div><div class="t m0 x2d h7 y40 ff7 fs1 fc0 sc0 ls1 ws0"> <span class="_ _5"></span><span class="ls7">................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </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="ls7">..................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </span></span>JAVA NIO<span class="ff7"> <span class="_ _1"></span><span class="ls7">................................................................<span class="_ _7"></span>....................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">37<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 ha y43 ff8 fs4 fc0 sc0 ls1 ws0">2.8.2.1.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ls15">NIO<span class="_ _6"> </span></span><span class="ff9">的缓冲区<span class="_ _7"></span><span class="ff3"> <span class="ls9">.....................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">38<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha y44 ff8 fs4 fc0 sc0 ls1 ws0">2.8.2.2.<span class="ff3 fs2"> <span class="_ _9"> </span></span><span class="ls15">NIO<span class="_ _6"> </span></span><span class="ff9">的非阻塞<span class="_ _7"></span><span class="ff3"> <span class="ls9">.....................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span>Channel<span class="ff7"> <span class="ls7">.......................................................................................................................................</span> <span class="_ _1"></span><span class="ls6">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="_ _d"> </span></span>Buffer<span class="ff7"> <span class="_ _e"></span><span class="ls7">............................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </span></span>Selector<span class="ff7"> <span class="_ _e"></span><span class="ls7">................................................................................................................................<span class="_ _7"></span>........<span class="ls1"> <span class="_ _3"></span><span class="ls6">40<span class="ff3 fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x2 h3 y48 ff5 fs1 fc0 sc0 ls3 ws0">2.9.<span class="ff3 fs2 ls1"> <span class="_ _4"> </span></span><span class="ls8">JVM<span class="fs5 ls1"> <span class="ff2 fs1">类加载机制<span class="ff3"> <span class="ls7">................................................................................................................................<span class="_ _7"></span></span>. <span class="_ _3"></span><span class="ls6">41<span class="fs2 ls1"> </span></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="ls9">..........................................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls9">..........................................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls9">..........................................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls9">..........................................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">41<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha 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="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">42<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha 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="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">......................................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">42<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha 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="ls9">..............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls7">................................<span class="_ _7"></span>......................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">42<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha 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="ls9">.........................................................................................</span> <span class="_ _3"></span><span class="lsa">43<span class="fs2 ls1"> </span></span></span></div><div class="t m0 x13 ha 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="_ _c"></span><span class="ls9">..........................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">43<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 ha 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="ls9">..........................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls7">................................<span class="_ _7"></span>......................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </span></span><span class="ls16">OSGI</span></div><div class="t m1 x24 hf 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="ls7">............................................................................................................</span> <span class="_ _1"></span><span class="ls6">44<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 ha 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="ls9">......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">44<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha 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="ls9">..........................................................................................................................</span> <span class="_ _c"></span><span class="lsa">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="ls17">JA<span class="_ _5"></span>VA<span class="_ _6"> </span><span class="ff2 sc1 ls4">集合</span><span class="ff4 ls1"> <span class="_ _1"></span><span class="ls5">............................................................................................................................................<span class="ls1"> <span class="_ _c"></span><span class="ls6">45<span class="ff3 fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x2 h3 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="ls7">..........................................................................................................................</span> <span class="_ _1"></span><span class="ls6">45<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x2 he 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 lsf">IST</span><span class="ff3"> <span class="_ _3"></span><span class="ls7">.......................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _d"> </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="_ _e"></span><span class="ls7">.......................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </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="ls7">...............................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _d"> </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="ls7">.........................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">47<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x2 he 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 ls18">ET</span><span class="ff3"> <span class="ls7">.......................................................................................................................................................</span> <span class="_ _3"></span><span class="ls6">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="ls9">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">................................................................................................................................<span class="_ _7"></span></span> <span class="_ _3"></span><span class="lsa">49<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h8 y62 ff5 fs4 fc0 sc0 ls1 ws0">3.3.1.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span><span class="lsd">LinkHashS<span class="_ _b"></span>et<span class="ff2 ls1">(<span class="ff8">HashSet+LinkedHashMap</span>)<span class="ff3"> <span class="_ _1"></span><span class="ls9">................................<span class="_ _7"></span>...................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">49<span class="fs2 ls1"> </span></span></span></span></span></span></span></div><div class="t m0 x2 he 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 ls18">AP</span><span class="ff3"> <span class="_ _e"></span><span class="ls7">.......................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _d"> </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="ls7">.............................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls9">.............................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls9">.............................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span>ConcurrentHash<span class="_ _7"></span>Map<span class="ff7 ls7">..................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _2"></span><span class="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">..............................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span></span><span class="lsb">16</span><span class="ff2">)<span class="ff3"> <span class="_ _5"></span><span class="ls9">................................................................................................................................<span class="ls1">. <span class="_ _3"></span><span class="lsa">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><span class="ls19">Java8<span class="_ _6"> </span></span><span class="ff2">实现</span> <span class="ff2">(引入了红黑树)<span class="ff3"> <span class="_ _5"></span><span class="ls9">..............................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">52<span class="fs2 ls1"> </span></span></span></span></span></span></div><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><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="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89588918/bg3.jpg"><div class="c x1 y33 w2 hb"><div class="t m3 x26 hc y34 ff5 fs4 fc0 sc0 ls1 ws0">13/04/2018 </div></div><div class="c x7 y33 w3 hb"><div class="t m3 x27 hd y35 ff6 fs4 fc0 sc0 ls1 ws0"> </div></div><div class="c x28 y33 w4 hb"><div class="t m3 x29 hc y34 ff5 fs4 fc0 sc0 ls1 ws0">Page 3 of <span class="ls11">283</span> </div></div><div class="t m3 x1 hc y36 ff5 fs4 fc0 sc0 ls1 ws0"> </div><div class="t m3 x3 h5 y6b ff6 fs1 fc0 sc0 ls1 ws0">3.4.3.<span class="ff3 fs2"> <span class="_ _d"> </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="ls7">................................................................<span class="_ _7"></span>...........................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _d"> </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="ls7">..................................................................................................................</span> <span class="_ _1"></span><span class="ls6">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="_ _d"> </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="ls7">..............................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="ls17">JA<span class="_ _5"></span>VA<span class="_ _6"> </span><span class="ff2 sc1 ls4">多线程并发</span><span class="ff4 ls1"> <span class="_ _e"></span><span class="ls5">................................................................................................................................<span class="ls1">. <span class="_ _c"></span><span class="ls6">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="_ _d"> </span></span><span class="ls8">JAVA</span></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="ls7">.......................................................................................................................</span> <span class="_ _1"></span><span class="ls6">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="_ _d"> </span></span><span class="ls8">JAVA</span></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="ls7">..........................................................................................................</span> <span class="_ _1"></span><span class="ls6">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="_ _a"> </span></span>Thread<span class="_ _6"> </span><span class="ff2">类<span class="ff3"> <span class="_ _1"></span><span class="ls9">........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span></span>Runnable<span class="_ _6"> </span><span class="ff2">接口。<span class="ff3"> <span class="_ _c"></span><span class="ls9">............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ff3"> <span class="_ _3"></span><span class="ls9">.............................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">................................................................<span class="_ _7"></span>...................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </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="ls7">...................................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">56<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 h7 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="ls9">.........................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">57<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h7 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="ls9">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">57<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h7 y78 ff5 fs4 fc0 sc0 ls1 ws0">4.1.3.3.<span class="ff3 fs2"> <span class="_ _8"> </span></span>newScheduledThr<span class="lsd">eadPool</span><span class="ff3"> <span class="_ _3"></span><span class="ls9">....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">.................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls7">....................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _b"></span>W<span class="_ _7"></span><span class="ff2">)<span class="ff3"> <span class="ls9">................................................................................................................................</span>. <span class="_ _3"></span><span class="lsa">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="ls9">.................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">....................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">......................................................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">..........................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls9">............................................................................................................................................</span> <span class="_ _c"></span><span class="lsa">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="ls9">................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">59<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 y83 ff2 fs4 fc0 sc0 ls1 ws0">正常结束<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">59<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y84 ff2 fs4 fc0 sc0 ls1 ws0">异常结束<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span><span class="ff5">stop<span class="ff3"> <span class="_ _1"></span><span class="ls9">...............................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls7">................................................................<span class="_ _7"></span>......................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _e"></span><span class="ls9">................................<span class="_ _7"></span>...........................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">................................................................<span class="_ _7"></span>...........................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _1"></span><span class="ls9">...........................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _2"></span><span class="ls9">.......................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </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="ls7">.......................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </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="ls7">..........................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _d"> </span></span><span class="ls8">JAVA</span></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="ls7">...........................................................................................................................</span> <span class="_ _1"></span><span class="ls6">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="_ _d"> </span></span><span class="ls8">JAVA</span></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="ls7">.......................................................................................................................................</span> <span class="_ _3"></span><span class="ls6">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="ls9">......................................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls9">......................................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls9">......................................................................................................................................................</span> <span class="_ _3"></span><span class="lsa">63<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h8 y92 ff2 fs4 fc0 sc0 ls1 ws0">自旋锁的优缺点<span class="ff3"> <span class="_ _c"></span><span class="ls9">................................................................................................<span class="_ _7"></span>....................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _1"></span><span class="ls9">..................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">63<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y94 ff2 fs4 fc0 sc0 ls1 ws0">自旋锁的开启<span class="ff3"> <span class="_ _c"></span><span class="ls9">........................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _2"></span><span class="ls9">..............................................................................................................................<span class="ls1"> <span class="_ _3"></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="_ _3"></span><span class="ls9">.......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _3"></span><span class="ls9">.......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _c"></span><span class="ls9">...............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">64<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 h7 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="ls9">.........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">66<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y99 ff5 fs4 fc0 sc0 lsd ws0">Lock<span class="_ _6"> </span><span class="ff2 ls1">接口的主要方法<span class="ff3"> <span class="_ _e"></span><span class="ls9">...........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">66<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 y9a ff2 fs4 fc0 sc0 ls1 ws0">非公平锁<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">66<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 y9b ff2 fs4 fc0 sc0 ls1 ws0">公平锁<span class="ff3"> <span class="_ _e"></span><span class="ls9">................................<span class="_ _7"></span>....................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span></span>synchronized<span class="ff3"> <span class="ls9">........................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls9">................................<span class="_ _7"></span>.............................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span></span><span class="ls1a">Object<span class="_"> </span></span><span class="ff2">类锁方法区别区别<span class="ff3"> <span class="_ _1"></span><span class="ls9">.........................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span></span><span class="ls11">lock<span class="_"> </span></span><span class="ff2">和<span class="_ _6"> </span></span>lockInterruptibly<span class="_ _6"> </span><span class="ff2">的区别<span class="ff3"> <span class="_ _c"></span><span class="ls9">........................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _5"></span><span class="ls9">................................................................................................................................<span class="ls1">. <span class="_ _3"></span><span class="lsa">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="_ _a"> </span><span class="ff5">1</span>)<span class="ff3"> <span class="_ _c"></span><span class="ls9">................................................................<span class="_ _7"></span>................................................................<span class="ls1">. <span class="_ _3"></span><span class="lsa">68<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 ya2 ff2 fs4 fc0 sc0 ls1 ws0">代码实现<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span></span>ReentrantLock<span class="ff3"> <span class="_ _b"></span><span class="ls9">...........................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">69<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 h7 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="ls9">..........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">69<span class="fs2 ls1"> </span></span></span></span></span></div><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><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="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89588918/bg4.jpg"><div class="c x1 y33 w2 hb"><div class="t m3 x26 hc y34 ff5 fs4 fc0 sc0 ls1 ws0">13/04/2018 </div></div><div class="c x7 y33 w3 hb"><div class="t m3 x27 hd y35 ff6 fs4 fc0 sc0 ls1 ws0"> </div></div><div class="c x28 y33 w4 hb"><div class="t m3 x29 hc y34 ff5 fs4 fc0 sc0 ls1 ws0">Page 4 of <span class="ls11">283</span> </div></div><div class="t m3 x1 hc y36 ff5 fs4 fc0 sc0 ls1 ws0"> </div><div class="t m3 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="ls9">...............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">69<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 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="ls9">................................................................<span class="_ _7"></span>...................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x14 h8 ya7 ff2 fs4 fc0 sc0 ls1 ws0">公平锁(<span class="ff5">Fair</span>)<span class="ff3"> <span class="_ _3"></span><span class="ls9">.....................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x14 h8 ya8 ff2 fs4 fc0 sc0 ls1 ws0">非公平锁(<span class="ff5">Nonfair</span>)<span class="ff3"> <span class="_ _1"></span><span class="ls9">...........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x13 h8 ya9 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.10.<span class="ff3 fs2"> <span class="_ _d"> </span></span>ReadWriteLock<span class="_ _6"> </span><span class="ff2">读写锁<span class="ff3"> <span class="_ _5"></span><span class="ls9">......................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x14 h8 yaa ff2 fs4 fc0 sc0 ls1 ws0">读锁<span class="ff3 ls9">........................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></div><div class="t m3 x14 h8 yab ff2 fs4 fc0 sc0 ls1 ws0">写锁<span class="ff3 ls9">........................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></div><div class="t m3 x13 h8 yac ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.11.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff2">共享锁和独占锁<span class="ff3"> <span class="_ _5"></span><span class="ls9">..................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x14 h8 yad ff2 fs4 fc0 sc0 ls1 ws0">独占锁<span class="ff3"> <span class="_ _e"></span><span class="ls9">................................<span class="_ _7"></span>....................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x14 h8 yae ff2 fs4 fc0 sc0 ls1 ws0">共享锁<span class="ff3"> <span class="_ _e"></span><span class="ls9">................................<span class="_ _7"></span>....................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">70<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x13 h8 yaf ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.12.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff2">重量级锁(<span class="ff8">Mutex Lock</span>)<span class="ff3"> <span class="ls9">................................................................................................................</span> <span class="_ _c"></span><span class="lsa">71<span class="fs2 ls1"> </span></span></span></span></div><div class="t m3 x13 h8 yb0 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.13.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff2">轻量级锁<span class="ff3"> <span class="_ _1"></span><span class="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">71<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x14 h8 yb1 ff2 fs4 fc0 sc0 ls1 ws0">锁升级<span class="ff3"> <span class="_ _e"></span><span class="ls9">................................<span class="_ _7"></span>....................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">71<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x13 h8 yb2 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.14.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff2">偏向锁<span class="ff3"> <span class="_ _1"></span><span class="ls9">..................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">71<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x13 h8 yb3 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.15.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff2">分段锁<span class="ff3"> <span class="_ _1"></span><span class="ls9">..................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">71<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x13 h8 yb4 ff5 fs4 fc0 sc0 ls1 ws0">4.1.9.16.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff2">锁优化<span class="ff3"> <span class="_ _1"></span><span class="ls9">..................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">71<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m3 x14 h8 yb5 ff2 fs4 fc0 sc0 ls1 ws0">减少锁持有时间<span class="ff3"> <span class="_ _c"></span><span class="ls9">................................................................................................<span class="_ _7"></span>....................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x14 h8 yb6 ff2 fs4 fc0 sc0 ls1 ws0">减小锁粒度<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................<span class="_ _7"></span>............................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x14 h8 yb7 ff2 fs4 fc0 sc0 ls1 ws0">锁分离<span class="ff3"> <span class="_ _e"></span><span class="ls9">................................<span class="_ _7"></span>....................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x14 h8 yb8 ff2 fs4 fc0 sc0 ls1 ws0">锁粗化<span class="ff3"> <span class="_ _e"></span><span class="ls9">................................<span class="_ _7"></span>....................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x14 h8 yb9 ff2 fs4 fc0 sc0 ls1 ws0">锁消除<span class="ff3"> <span class="_ _e"></span><span class="ls9">................................<span class="_ _7"></span>....................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">72<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 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="ls7">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls6">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="_ _d"> </span></span><span class="ff2">线程等待(</span><span class="ls1b">wai<span class="_ _7"></span>t</span><span class="ff2">)<span class="ff3"> <span class="_ _5"></span><span class="ls9">................................................................<span class="_ _7"></span>...............................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">线程睡眠(</span><span class="ls19">sleep</span><span class="ff2">)<span class="_ _b"></span><span class="ff3"> <span class="_ _c"></span><span class="ls9">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">线程让步(</span><span class="ls1c">yiel<span class="_ _7"></span>d</span><span class="ff2">)<span class="ff3"> <span class="_ _1"></span><span class="ls9">..............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">线程中断(</span>interrupt<span class="ff2">)<span class="ff3"> <span class="_ _2"></span><span class="ls9">........................................................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ls19">Join<span class="_ _6"> </span></span><span class="ff2">等待其他线程终止<span class="ff3"> <span class="_ _1"></span><span class="ls9">......................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">为什么要用<span class="_ _a"> </span></span><span class="lsb">join()</span><span class="ff2">方法?<span class="ff3"> <span class="ls9">....................................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">线程唤醒(</span>notify<span class="ff2">)<span class="ff3"> <span class="_ _c"></span><span class="ls9">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">其他方法:<span class="ff3"> <span class="_ _1"></span><span class="ls9">................................................................<span class="_ _7"></span>..........................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls7">..........................................................................................................................</span> <span class="_ _3"></span><span class="ls6">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="_ _d"> </span></span><span class="ff2">进程<span class="ff3"> <span class="_ _3"></span><span class="ls9">................................................................................................................................<span class="_ _7"></span>......................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">上下文<span class="ff3"> <span class="_ _1"></span><span class="ls9">..................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">寄存器<span class="ff3"> <span class="_ _1"></span><span class="ls9">..................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">程序计数器<span class="ff3"> <span class="_ _1"></span><span class="ls9">................................................................<span class="_ _7"></span>..........................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span>PCB-<span class="ff2">“切换桢”<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................................................<span class="_ _7"></span><span class="ls1">. <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">上下文切换的活动:<span class="ff3"> <span class="ls9">..........................................................................................................................</span> <span class="_ _c"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">引起线程上下文切换的原因<span class="ff3"> <span class="ls9">..............................................................................................................</span> <span class="_ _3"></span><span class="lsa">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="ls7">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls6">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="_ _d"> </span></span><span class="ff2">同步锁<span class="ff3"> <span class="_ _1"></span><span class="ls9">..................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span><span class="ff2">死锁<span class="ff3"> <span class="_ _3"></span><span class="ls9">................................................................................................................................<span class="_ _7"></span>......................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls7">................................<span class="_ _7"></span>..................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">76<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yce ff8 fs4 fc0 sc0 ls1 ws0">4.1.13.1.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">线程复用<span class="ff3"> <span class="_ _1"></span><span class="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">76<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha ycf ff8 fs4 fc0 sc0 ls1 ws0">4.1.13.2.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">线程池的组成<span class="ff3"> <span class="_ _5"></span><span class="ls9">......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">76<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yd0 ff8 fs4 fc0 sc0 ls1 ws0">4.1.13.3.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">拒绝策略<span class="ff3"> <span class="_ _1"></span><span class="ls9">..............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">78<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yd1 ff8 fs4 fc0 sc0 ls1 ws0">4.1.13.4.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="lsd">Java<span class="_ _6"> </span></span><span class="ff9">线程池工作过程<span class="ff3"> <span class="_ _5"></span><span class="ls9">................................<span class="_ _7"></span>.........................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _f"> </span></span><span class="ls8">JAVA</span></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 ls7 ws0">....................................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">79<span class="ff3 fs2 ls1"> </span></span></span></div><div class="t m0 x13 ha yd3 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.1.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">阻塞队列的主要方法<span class="ff3"> <span class="ls9">..........................................................................................................................</span> <span class="_ _c"></span><span class="lsa">80<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h8 yd4 ff2 fs4 fc0 sc0 ls1 ws0">插入操作:<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................<span class="_ _7"></span>............................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">80<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 yd5 ff2 fs4 fc0 sc0 ls1 ws0">获取数据操作:<span class="ff3"> <span class="_ _c"></span><span class="ls9">................................................................................................<span class="_ _7"></span>....................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">81<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 ha yd6 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.2.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="lsd">Java<span class="_ _6"> </span></span><span class="ff9">中的阻塞队列<span class="ff3"> <span class="_ _5"></span><span class="ls9">.............................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">81<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yd7 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.3.<span class="ff3 fs2"> <span class="_ _d"> </span></span>ArrayBlockingQueue<span class="ff9">(公平、非公平)<span class="ff3"> <span class="ls9">.......................................................................................</span> <span class="_ _3"></span><span class="lsa">82<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yd8 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.4.<span class="ff3 fs2"> <span class="_ _d"> </span></span>LinkedBlockingQueue<span class="ff9">(两个独立锁提高并发)<span class="ff3"> <span class="_ _b"></span><span class="ls9">.........................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">82<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yd9 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.5.<span class="ff3 fs2"> <span class="_ _d"> </span></span>PriorityBlockingQueue<span class="ff9">(</span>compareTo<span class="_ _a"> </span><span class="ff9">排序实现优先)<span class="ff3 ls9">..............................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">82<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x13 ha yda ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.6.<span class="ff3 fs2"> <span class="_ _d"> </span></span>DelayQueue<span class="ff9">(缓存失效、定时任务</span> <span class="ff9">)<span class="ff3"> <span class="_ _5"></span><span class="ls9">..........................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">82<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha ydb ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.7.<span class="ff3 fs2"> <span class="_ _d"> </span></span>SynchronousQueue<span class="ff9">(不存储数据、可用于传递数据)<span class="ff3"> <span class="_ _2"></span><span class="ls9">..............................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _d"> </span></span>LinkedTransferQueue<span class="ff3 ls9">......................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">83<span class="fs2 ls1"> </span></span></span></span></div><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><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="/image.php?url=https://csdnimg.cn/release/download_crawler_static/89588918/bg5.jpg"><div class="c x1 y33 w2 hb"><div class="t m3 x26 hc y34 ff5 fs4 fc0 sc0 ls1 ws0">13/04/2018 </div></div><div class="c x7 y33 w3 hb"><div class="t m3 x27 hd y35 ff6 fs4 fc0 sc0 ls1 ws0"> </div></div><div class="c x28 y33 w4 hb"><div class="t m3 x29 hc y34 ff5 fs4 fc0 sc0 ls1 ws0">Page 5 of <span class="ls11">283</span> </div></div><div class="t m3 x1 hc y36 ff5 fs4 fc0 sc0 ls1 ws0"> </div><div class="t m3 x13 h9 y37 ff8 fs4 fc0 sc0 ls1 ws0">4.1.14.9.<span class="ff3 fs2"> <span class="_ _d"> </span></span>LinkedBlockingDeque<span class="ff3"> <span class="_ _c"></span><span class="ls9">................................................................<span class="_ _7"></span>.....................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">83<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m3 x3 h5 ydd ff6 fs1 fc0 sc0 ls1 ws0">4.1.15.<span class="ff3 fs2"> <span class="_ _f"> </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="ls7">........................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">84<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yde ff8 fs4 fc0 sc0 ls1 ws0">4.1.15.1.<span class="ff3 fs2"> <span class="_ _d"> </span></span>CountDownLatch<span class="ff9">(线程计数器</span> <span class="ff9">)<span class="ff3"> <span class="ls9">................................................................................................</span> <span class="_ _3"></span><span class="lsa">84<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha y6e ff8 fs4 fc0 sc0 ls1 ws0">4.1.15.2.<span class="ff3 fs2"> <span class="_ _d"> </span></span>CyclicBa<span class="lsb">rrier</span><span class="ff9">(回环栅栏</span>-<span class="ff9">等待至<span class="_ _6"> </span></span>barrier<span class="_ _a"> </span><span class="ff9">状态再全部同时执行)<span class="ff3"> <span class="ls9">...............................................</span> <span class="_ _c"></span><span class="lsa">84<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha ydf ff8 fs4 fc0 sc0 ls1 ws0">4.1.15.3.<span class="ff3 fs2"> <span class="_ _d"> </span></span>Semaphore<span class="ff9">(信号量</span>-<span class="ff9">控制同时访问的线程个数)<span class="ff3"> <span class="ls9">.......................................................................</span> <span class="_ _c"></span><span class="lsa">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="_ _f"> </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="ls7">.............................................................</span> <span class="_ _1"></span><span class="ls6">87<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x14 h8 ye1 ff2 fs4 fc0 sc0 ls1 ws0">变量可见性<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................<span class="_ _7"></span>............................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">87<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 ye2 ff2 fs4 fc0 sc0 ls1 ws0">禁止重排序<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................<span class="_ _7"></span>............................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span><span class="ff5">sychronized<span class="_ _6"> </span></span>更轻量级的同步锁<span class="ff3"> <span class="_ _3"></span><span class="ls9">................................................................................................<span class="_ _7"></span>.....................<span class="ls1"> <span class="_ _3"></span><span class="lsa">87<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 h8 ye4 ff2 fs4 fc0 sc0 ls1 ws0">适用场景<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _e"></span><span class="ls7">...................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">88<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h8 ye6 ff2 fs4 fc0 sc0 ls1 ws0">将数据抽象成一个类,并将数据的操作作为这个类的方法<span class="ff3"> <span class="_ _c"></span><span class="ls9">.............................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">..................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _f"> </span></span>ThreadLocal</div><div class="t m1 x56 hf 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 ls7 ws0">........................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">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="_ _b"></span><span class="ls9">..............................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">90<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 yc ff2 fs4 fc0 sc0 ls1 ws0">使用场景<span class="ff3"> <span class="_ _2"></span><span class="ls9">................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _f"> </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="ls7">..................................................................................</span> <span class="_ _3"></span><span class="ls6">91<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 ha yeb ff8 fs4 fc0 sc0 ls1 ws0">4.1.19.1.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">两者的共同点:<span class="ff3"> <span class="_ _5"></span><span class="ls9">..................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">91<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yec ff8 fs4 fc0 sc0 ls1 ws0">4.1.19.2.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">两者的不同点:<span class="ff3"> <span class="_ _5"></span><span class="ls9">..................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _f"> </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="ls7">.........................................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">92<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yee ff8 fs4 fc0 sc0 ls1 ws0">4.1.20.1.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">减小锁粒度<span class="ff3"> <span class="_ _1"></span><span class="ls9">................................................................................................<span class="_ _7"></span>..........................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">92<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yef ff8 fs4 fc0 sc0 ls1 ws0">4.1.20.2.<span class="ff3 fs2"> <span class="_ _d"> </span></span>ConcurrentHashMap<span class="_ _a"> </span><span class="ff9">分段锁<span class="ff3"> <span class="_ _c"></span><span class="ls9">..........................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span></span>Segment<span class="_ _6"> </span><span class="ff2">数组结构和<span class="_ _a"> </span></span>HashEntry<span class="_ _6"> </span><span class="ff2">数组结构组成<span class="ff3"> <span class="_ _c"></span><span class="ls9">................................<span class="_ _7"></span>.................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _f"> </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="ls7">................................................................<span class="_ _7"></span>.............................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">93<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yf2 ff8 fs4 fc0 sc0 ls1 ws0">4.1.21.1.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">抢占式调度:<span class="ff3"> <span class="_ _5"></span><span class="ls9">......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">93<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yf3 ff8 fs4 fc0 sc0 ls1 ws0">4.1.21.2.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">协同式调度:<span class="ff3"> <span class="_ _5"></span><span class="ls9">......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">93<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yf4 ff8 fs4 fc0 sc0 ls1 ws0">4.1.21.3.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="lsb">JVM<span class="_ _6"> </span></span><span class="ff9">的线程调度实现(抢占式调度)<span class="ff3"> <span class="_ _7"></span><span class="ls9">.............................................................................................</span> <span class="_ _3"></span><span class="lsa">94<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yf5 ff8 fs4 fc0 sc0 ls1 ws0">4.1.21.4.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">线程让出<span class="_ _6"> </span></span>c<span class="_ _7"></span>pu<span class="_ _a"> </span><span class="ff9">的情况:<span class="ff3"> <span class="ls9">.....................................................................................................................</span> <span class="_ _c"></span><span class="lsa">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="ls7">..............................................................................................................................</span> <span class="_ _3"></span><span class="ls6">94<span class="ff3 fs2 ls1"> </span></span></div><div class="t m0 x13 ha yf7 ff8 fs4 fc0 sc0 ls1 ws0">4.1.22.1.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">优先调度算法<span class="ff3"> <span class="_ _5"></span><span class="ls9">......................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">94<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yf8 ff8 fs4 fc0 sc0 ls1 ws0">4.1.22.2.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">高优先权优先调度算法<span class="ff3"> <span class="ls9">......................................................................................................................</span> <span class="_ _3"></span><span class="lsa">95<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yf9 ff8 fs4 fc0 sc0 ls1 ws0">4.1.22.3.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">基于时间片的轮转调度算法<span class="ff3"> <span class="ls9">..............................................................................................................</span> <span class="_ _3"></span><span class="lsa">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 ls4 ws0">CAS</div><div class="t m1 x6 hf 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="ls7">................................................................<span class="_ _7"></span>..<span class="ls1"> <span class="_ _3"></span><span class="ls6">96<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yfb ff8 fs4 fc0 sc0 ls1 ws0">4.1.23.1.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">概念及特性<span class="ff3"> <span class="_ _1"></span><span class="ls9">................................................................................................<span class="_ _7"></span>..........................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">96<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha yfc ff8 fs4 fc0 sc0 ls1 ws0">4.1.23.2.<span class="ff3 fs2"> <span class="_ _d"> </span></span><span class="ff9">原子包</span> java.util.concurrent.atomic<span class="ff9">(锁自旋)<span class="ff3"> <span class="ls9">...........................................................................</span> <span class="_ _c"></span><span class="lsa">97<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha yfd ff8 fs4 fc0 sc0 ls1 ws0">4.1.23.3.<span class="ff3 fs2"> <span class="_ _d"> </span></span>ABA<span class="_ _a"> </span><span class="ff9">问题<span class="ff3"> <span class="_ _3"></span><span class="ls9">.............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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"> <span class="ls1d">AQS</span></div><div class="t m1 x6 hf 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="ls7">.........................................................................................<span class="ls1"> <span class="_ _1"></span><span class="ls6">98<span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x14 h8 yff ff5 fs4 fc0 sc0 ls1e ws0">Ex<span class="_ _b"></span>clus<span class="_ _b"></span>iv<span class="_ _5"></span>e<span class="_ _6"> </span><span class="ff2 ls1">独占资源<span class="ff5">-Reen<span class="_ _7"></span>trantLock<span class="ff3"> <span class="_ _1"></span><span class="ls9">...................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">99<span class="fs2 ls1"> </span></span></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/CountDownLatch<span class="ff3"> <span class="_ _5"></span><span class="ls9">...............................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="_ _a"> </span><span class="ff5 lsa">ABS<span class="_ _6"> </span></span>核心(<span class="ff5">state<span class="_ _6"> </span></span>资源状态计数)<span class="ff3"> <span class="_ _1"></span><span class="ls9">.......................................................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">................................<span class="_ _7"></span>.....................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls17">JA<span class="_ _5"></span>VA<span class="_ _6"> </span><span class="ff2 sc1 ls4">基础</span><span class="ff4 ls1"> <span class="_ _1"></span><span class="ls5">..........................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">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="_ _d"> </span></span><span class="ls8">JAVA</span></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="_ _e"></span><span class="ls7">..............................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="ls6">101<span class="_ _7"></span><span class="ff3 fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha 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="ls9">................................................................................................<span class="_ _7"></span>....................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">101<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x13 ha 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="ls9">............................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">101<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h7 y106 ff5 fs4 fc0 sc0 ls1 ws0">Error<span class="ff3"> <span class="_ _2"></span><span class="ls9">.....................................................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">101<span class="fs2 ls1"> </span></span></span></span></span></div><div class="t m0 x14 ha 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="ls9">...........................................................................</span> <span class="_ _3"></span><span class="lsa">101<span class="fs2 ls1"> </span></span></span></span></div><div class="t m0 x13 ha 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="ls9">................................................................................................................................<span class="ls1"> <span class="_ _3"></span><span class="lsa">102<span class="fs2 ls1"> </span></span></span></span></span></span></div><div class="t m0 x14 h8 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="ls9">.........................................................<span class="_ _7"></span><span class="ls1"> <span class="_ _3"></span><span class="lsa">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="ls9">..................................................................................................................<span class="ls1"> <span class="_ _3"></span>1<span class="lsa">02</span><span class="fs2"> </span></span></span></span></span></div><div class="t m0 x13 ha y10b ff8 fs4 fc0 sc0 ls1 ws0">5.1.1.4.<span class="ff3 fs2"> <span class="_ _9"> </span></span>Throw<span class="_ _a"> </span><span class="ff9">和<span class="_ _a"> </span></span>throws<span class="_ _6"> </span><span class="ff9">的区别:<span class="ff3"> <span class="ls9">................................................................<span class="_ _7"></span>............................................</span> <span class="_ _3"></span><span class="lsa">102<span class="fs2 ls1"> </span></span></span></span></div><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><div class="d m2"></div></a><a class="l"><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>