并发笔记啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
资源内容介绍
并发笔记 <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/89599887/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/89599887/bg1.jpg"/><div class="c x0 y1 w0 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">并发编程</div><div class="t m0 x1 h4 y3 ff2 fs1 fc0 sc0 ls0 ws0">1.<span class="_"> </span><span class="ff1">概览</span></div><div class="t m0 x1 h5 y4 ff2 fs2 fc0 sc0 ls0 ws0">1.1<span class="fc2 sc0"> </span><span class="ff1"><span class="fc2 sc0">这门课讲什么</span></span></div><div class="t m0 x1 h6 y5 ff3 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0">这门课中的【并发】一词涵盖了在</span><span class="ff4"><span class="fc2 sc0"> </span><span class="fc2 sc0">Java </span></span><span class="fc2 sc0">平台上的</span></div><div class="t m0 x2 h6 y6 ff3 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0">进程</span></div><div class="t m0 x2 h6 y7 ff3 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0">线程</span></div><div class="t m0 x2 h6 y8 ff3 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0">并发</span></div><div class="t m0 x2 h6 y9 ff3 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0">并行</span></div><div class="t m0 x1 h6 ya ff3 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0">以及</span><span class="ff4"><span class="fc2 sc0"> </span><span class="fc2 sc0">Java </span></span><span class="fc2 sc0">并发工具、并发问题以及解决方案,同时我也会讲解一些其它领域的并发</span></div><div class="t m0 x1 h5 yb ff2 fs2 fc0 sc0 ls0 ws0">1.2 <span class="ff1">为什么<span class="fc2 sc0">学这么课</span></span></div><div class="t m0 x2 h6 yc ff3 fs3 fc0 sc0 ls0 ws0">我工作中用<span class="fc2 sc0">不到并发啊?</span></div></div><div class="c x3 yd w2 h7"><div class="t m0 x0 h8 ye ff5 fs4 fc1 sc0 ls0 ws0"><span class="fc2 sc0">北京市昌平区建材城西路金燕龙办公楼一层 </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0">电话:400-618-9090</span></div></div><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.613445,0.000000,0.000000,1.613445,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/89599887/bg2.jpg"><div class="c x0 y1 w0 h2"><div class="t m0 x1 h9 yf ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y10 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y11 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y12 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y13 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y14 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y15 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y16 ff4 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0"></span></div><div class="t m0 x1 h9 y17 ff4 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0"></span></div><div class="t m0 x1 h5 y18 ff2 fs2 fc0 sc0 ls0 ws0"><span class="fc2 sc0">1.3 </span><span class="ff1"><span class="fc2 sc0">课程特色</span><span class="_ _0"> </span></span><span class="fc3"> </span></div><div class="t m0 x1 h6 y19 ff3 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0">本门课程以并发、并行为主线,穿插讲解</span></div><div class="t m0 x2 h6 y1a ff1 fs3 fc4 sc0 ls0 ws0"><span class="fc2 sc0">应用</span><span class="ff4 fc0"><span class="fc2 sc0"> </span><span class="fc2 sc0">- </span><span class="ff3"><span class="fc2 sc0">结合实际</span></span></span></div><div class="t m0 x2 h6 y1b ff1 fs3 fc5 sc0 ls0 ws0"><span class="fc2 sc0">原理</span><span class="ff4 fc0"><span class="fc2 sc0"> </span><span class="fc2 sc0">- </span><span class="ff3"><span class="fc2 sc0">了然于胸</span></span></span></div><div class="t m0 x2 h6 y1c ff1 fs3 fc6 sc0 ls0 ws0"><span class="fc2 sc0">模式</span><span class="ff4 fc0"><span class="fc2 sc0"> </span><span class="fc2 sc0">- </span><span class="ff3"><span class="fc2 sc0">正确姿势</span></span></span></div></div><div class="c x3 yd w2 h7"><div class="t m0 x0 h8 ye ff5 fs4 fc1 sc0 ls0 ws0"><span class="fc2 sc0">北京市昌平区建材城西路金燕龙办公楼一层 </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0">电话:400-618-9090</span></div></div><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.613445,0.000000,0.000000,1.613445,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/89599887/bg3.jpg"><div class="c x3 yd w2 h7"><div class="t m0 x0 h8 ye ff5 fs4 fc1 sc0 ls0 ws0"><span class="fc2 sc0">北京市昌平区建材城西路金燕龙办公楼一层 </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0">电话:400-618-9090</span></div></div></div><div class="pi" data-data='{"ctm":[1.613445,0.000000,0.000000,1.613445,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/89599887/bg4.jpg"><div class="c x0 y1 w0 h2"><div class="t m0 x1 h9 y1d ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h5 y1e ff2 fs2 fc0 sc0 ls0 ws0">1.4 <span class="ff1">预备知<span class="fc2 sc0">识</span><span class="_ _0"> </span></span><span class="fc3"><span class="fc2 sc0"> </span></span></div><div class="t m0 x2 h6 y1f ff3 fs3 fc0 sc0 ls0 ws0">希望你不是一<span class="fc2 sc0">个初学者</span></div><div class="t m0 x2 h6 y20 ff3 fs3 fc0 sc0 ls0 ws0">线程安全问题<span class="fc2 sc0">,需要你接触过</span><span class="ff4"><span class="fc2 sc0"> </span><span class="fc2 sc0">Java </span><span class="fc2 sc0">W</span><span class="fc2 sc0">eb </span></span><span class="fc2 sc0">开发、</span><span class="ff4"><span class="fc2 sc0">Jdbc </span><span class="_ _1"></span><span class="ff3"><span class="fc2 sc0">开发、</span><span class="ff4"><span class="fc2 sc0">W</span><span class="fc2 sc0">eb </span></span><span class="fc2 sc0">服务器、分布式框架时才会遇到</span></span></span></div><div class="t m0 x2 h6 y21 ff3 fs3 fc0 sc0 ls0 ws0">基于<span class="ff4"> JDK 8</span>,最<span class="fc2 sc0">好对函数式编程、</span><span class="ff4"><span class="fc2 sc0">lambda </span></span><span class="fc2 sc0">有一定了解</span></div><div class="t m0 x2 h6 y22 ff3 fs3 fc0 sc0 ls0 ws0">采用了<span class="ff4"> slf4j </span>打印<span class="fc2 sc0">日志,这是好的实践</span></div><div class="t m0 x2 h6 y23 ff3 fs3 fc0 sc0 ls0 ws0">采用了<span class="ff4"> lombok </span>简<span class="fc2 sc0">化</span><span class="ff4"><span class="fc2 sc0"> </span><span class="fc2 sc0">java </span><span class="fc2 sc0">bean </span></span><span class="fc2 sc0">编写</span></div><div class="t m0 x2 h6 y24 ff3 fs3 fc0 sc0 ls0 ws0">给每个线程好名字<span class="fc2 sc0">,这也是一项好的实践</span></div><div class="t m0 x1 h9 y25 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h6 y26 ff4 fs3 fc0 sc0 ls0 ws0">pom.xml <span class="ff3">依赖如下</span></div><div class="t m0 x4 ha y27 ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span></div></div><div class="c x4 y1 w3 hb"><div class="t m0 x5 ha y28 ff6 fs5 fc7 sc0 ls0 ws0"><properties></div><div class="t m0 x5 ha y29 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><maven.compiler.source<span class="fc2 sc0">></span></span><span class="fc2 sc0">1.8</span><span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">maven.compiler.sourc</span>e></span></div><div class="t m0 x5 ha y2a ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><maven.compiler.target></span><span class="fc2 sc0">1.8</span><span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">maven.compil</span>er.target></span></div><div class="t m0 x5 ha y2b ff6 fs5 fc7 sc0 ls0 ws0"></properties></div><div class="t m0 x5 ha y2c ff6 fs5 fc7 sc0 ls0 ws0"><dependencies></div></div><div class="c x3 yd w2 h7"><div class="t m0 x0 h8 ye ff5 fs4 fc1 sc0 ls0 ws0"><span class="fc2 sc0">北京市昌平区建材城西路金燕龙办公楼一层 </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0">电话:400-618-9090</span></div></div><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.613445,0.000000,0.000000,1.613445,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/89599887/bg5.jpg"><div class="c x0 y1 w0 h2"><div class="t m0 x1 h6 y2d ff4 fs3 fc0 sc0 ls0 ws0"><span class="fc2 sc0">logback.xml </span><span class="ff3"><span class="fc2 sc0">配置如下</span></span></div><div class="t m0 x4 ha y2e ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span></div><div class="t m0 x1 h9 y2f ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y30 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h4 y31 ff2 fs1 fc0 sc0 ls0 ws0">2. <span class="ff1">进程与线<span class="fc2 sc0">程</span><span class="_ _2"> </span></span><span class="fc3"><span class="fc2 sc0"> </span></span></div><div class="t m0 x1 h5 y32 ff1 fs2 fc0 sc0 ls0 ws0">本章内容<span class="_ _3"> </span><span class="ff2 fc3"><span class="fc2 sc0"> </span></span></div><div class="t m0 x2 h6 y33 ff3 fs3 fc0 sc0 ls0 ws0">进程和线程的概念</div><div class="t m0 x2 h6 y34 ff3 fs3 fc0 sc0 ls0 ws0">并行和并发的概念</div><div class="t m0 x2 h6 y35 ff3 fs3 fc0 sc0 ls0 ws0">线程基本应用</div><div class="t m0 x1 h9 y36 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y37 ff4 fs3 fc0 sc0 ls0 ws0"></div><div class="t m0 x1 h9 y38 ff4 fs3 fc0 sc0 ls0 ws0"></div></div><div class="c x4 y39 w3 hc"><div class="t m0 x5 ha y3a ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><dependency></span></div><div class="t m0 x5 ha y3b ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><groupId></span>org.projectlombok<span class="fc7"></groupId></span></div><div class="t m0 x5 ha y3c ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><artifactId></span>lombok<span class="fc7"></artifactId></span></div><div class="t m0 x5 ha y3d ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><version></span>1.18.10<span class="fc7"></version></span></div><div class="t m0 x5 ha y3e ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"></dependency></span></div><div class="t m0 x5 ha y3f ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><dependency></span></div><div class="t m0 x5 ha y40 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><groupId></span>ch.qos.logbac<span class="fc2 sc0">k</span><span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">groupId</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y41 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><artifactId></span>lo<span class="fc2 sc0">gback-classic</span><span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">artifactId</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y42 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><versi<span class="fc2 sc0">on</span><span class="fc2 sc0">></span></span><span class="fc2 sc0">1.2.3</span><span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">version</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y43 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"></d<span class="fc2 sc0">ependency</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y44 ff6 fs5 fc7 sc0 ls0 ws0"><span class="fc2 sc0"></</span><span class="fc2 sc0">dependencies</span><span class="fc2 sc0">></span></div></div><div class="c x4 y45 w3 hd"><div class="t m0 x5 ha y46 ff6 fs5 fc8 sc0 ls0 ws0"><span class="fc2 sc0"><?xml</span><span class="fc0"><span class="fc2 sc0"> </span></span><span class="fc2 sc0">version="1.0" </span><span class="fc2 sc0">encoding="UTF-8"?></span></div><div class="t m0 x5 ha y47 ff6 fs5 fc7 sc0 ls0 ws0"><span class="fc2 sc0"><</span><span class="fc2 sc0">configuration</span></div><div class="t m0 x5 ha y48 ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">xmlns</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"http://ch.qos.logback/xml/ns/logback"</span></span></div><div class="t m0 x5 ha y49 ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">xmlns:xsi</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"http://www.w3.org/2001/XMLSchema-instance"</span></span></div><div class="t m0 x5 ha y4a ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">xsi:schemaLocation</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"http://ch.qos.logback/xml/ns/logback </span><span class="fc2 sc0">logback.xsd"</span><span class="fc7"><span class="fc2 sc0">></span></span></span></div><div class="t m0 x5 ha y4b ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc7"><span class="fc2 sc0"><</span><span class="fc2 sc0">appender</span></span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">name</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"STDOUT"</span></span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">class</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"ch.qos.logback.core.ConsoleAppender"</span><span class="fc7"><span class="fc2 sc0">></span></span></span></div><div class="t m0 x5 ha y4c ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc7"><span class="fc2 sc0"><</span><span class="fc2 sc0">encoder</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y4d ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc7"><span class="fc2 sc0"><</span><span class="fc2 sc0">pattern</span><span class="fc2 sc0">></span></span><span class="fc2 sc0">%date{HH:mm:ss} </span><span class="fc2 sc0">[%t] </span><span class="fc2 sc0">%logger </span><span class="fc2 sc0">- </span><span class="fc2 sc0">%m%n</span><span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">pattern</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y4e ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">encoder</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y4f ff6 fs5 fc0 sc0 ls0 ws0"><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">appender</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y50 ff6 fs5 fc0 sc0 ls0 ws0"> </div><div class="t m0 x5 ha y51 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc7"><span class="fc2 sc0"><</span><span class="fc2 sc0">logger</span></span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">name</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"c"</span></span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">level</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"debug"</span></span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">additivity</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"false"</span><span class="fc7"><span class="fc2 sc0">></span></span></span></div><div class="t m0 x5 ha y52 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc7"><span class="fc2 sc0"><</span><span class="fc2 sc0">appender-ref</span></span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">ref</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"STDOUT"</span><span class="fc7"><span class="fc2 sc0">/></span></span></span></div><div class="t m0 x5 ha y53 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><span class="fc2 sc0"></</span><span class="fc2 sc0">logger></span></span></div><div class="t m0 x5 ha y54 ff6 fs5 fc0 sc0 ls0 ws0"> </div><div class="t m0 x5 ha y55 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"><r<span class="fc2 sc0">oot</span></span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">level</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"ERROR"</span><span class="fc7"><span class="fc2 sc0">></span></span></span></div><div class="t m0 x5 ha y56 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc2 sc0"> </span><span class="fc7"><span class="fc2 sc0"><</span><span class="fc2 sc0">appender-ref</span></span><span class="fc2 sc0"> </span><span class="fc9"><span class="fc2 sc0">ref</span></span><span class="fc2 sc0">=</span><span class="fca"><span class="fc2 sc0">"STDOUT"</span><span class="fc7"><span class="fc2 sc0">/></span></span></span></div><div class="t m0 x5 ha y57 ff6 fs5 fc0 sc0 ls0 ws0"> <span class="fc7"></ro<span class="fc2 sc0">ot</span><span class="fc2 sc0">></span></span></div><div class="t m0 x5 ha y58 ff6 fs5 fc7 sc0 ls0 ws0"></configu<span class="fc2 sc0">ration></span></div></div><div class="c x3 yd w2 h7"><div class="t m0 x0 h8 ye ff5 fs4 fc1 sc0 ls0 ws0"><span class="fc2 sc0">北京市昌平区建材城西路金燕龙办公楼一层 </span><span class="fc2 sc0"> </span><span class="fc2 sc0"> </span><span class="fc2 sc0">电话:400-618-9090</span></div></div><a class="l"><div class="d m1"></div></a><a class="l"><div class="d m1"></div></a></div><div class="pi" data-data='{"ctm":[1.613445,0.000000,0.000000,1.613445,0.000000,0.000000]}'></div></div>