From 8a94b69767245bfa8bf87f8e52a55554ba5618af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9C=B1=E8=89=AF=E6=89=8D?= <1024955966@qq.com>
Date: Tue, 10 Sep 2019 08:59:40 +0800
Subject: [PATCH 01/17] jvm
---
面试又载在jvm上了 | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 面试又载在jvm上了
diff --git a/面试又载在jvm上了 b/面试又载在jvm上了
new file mode 100644
index 00000000..e797775a
--- /dev/null
+++ b/面试又载在jvm上了
@@ -0,0 +1,13 @@
+
+无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎。不管是工作还是面试中,JVM都是必考题。如果不懂JVM的话,薪酬会非常吃亏(近70%的面试者挂在JVM上了)。
+
+
+掌握了JVM机制,就等于学会了深层次解决问题的方法。对于Java开发者而言,只有熟悉底层虚拟机的运行机制,才能通过JVM日志深入到字节码的层次去分析排查问题,发现隐性的系统缺陷,进而提升系统性能。
+
+
+一些技术人员开发工具用得很熟练,触及JVM问题时却是模棱两可,甚至连内存模型和内存区域,HotSpot和JVM规范,都混淆不清。工作很长时间,在生产时还在用缺省参数来直接启动,以致系统运行时出现性能、稳定性等问题时束手无措,不知该如何追踪排查。久而久之,这对自己的职业成长是极为不利的。
+
+
+掌握JVM,是深入Java技术栈的必经之路。
+
+
From d793bb4a42d26171cd033b4d8e99ed0a7fc2612b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9C=B1=E8=89=AF=E6=89=8D?= <1024955966@qq.com>
Date: Tue, 10 Sep 2019 08:59:55 +0800
Subject: [PATCH 02/17] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=20=E9=9D=A2?=
=?UTF-8?q?=E8=AF=95=E5=8F=88=E8=BD=BD=E5=9C=A8jvm=E4=B8=8A=E4=BA=86=20?=
=?UTF-8?q?=E4=B8=BA=20=E9=9D=A2=E8=AF=95=E5=8F=88=E8=BD=BD=E5=9C=A8jvm?=
=?UTF-8?q?=E4=B8=8A=E4=BA=86.md?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
面试又载在jvm上了 => 面试又载在jvm上了.md | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename 面试又载在jvm上了 => 面试又载在jvm上了.md (100%)
diff --git a/面试又载在jvm上了 b/面试又载在jvm上了.md
similarity index 100%
rename from 面试又载在jvm上了
rename to 面试又载在jvm上了.md
From 6f7f2cce78e3168e9418e656b269554dc6382953 Mon Sep 17 00:00:00 2001
From: zhuliangcai <1024955966@qq.com>
Date: Sat, 12 Oct 2019 16:37:53 +0800
Subject: [PATCH 03/17] =?UTF-8?q?=E9=94=99=E5=88=AB=E5=AD=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/system-design/data-communication/dubbo.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/system-design/data-communication/dubbo.md b/docs/system-design/data-communication/dubbo.md
index 17a08d88..f2e0ac48 100644
--- a/docs/system-design/data-communication/dubbo.md
+++ b/docs/system-design/data-communication/dubbo.md
@@ -251,7 +251,7 @@ HelloService helloService;
zookeeper宕机与dubbo直连的情况在面试中可能会被经常问到,所以要引起重视。
-在实际生产中,假如zookeeper注册中心宕掉,一段时间内服务消费方还是能够调用提供方的服务的,实际上它使用的本地缓存进行通讯,这只是dubbo健壮性的一种提现。
+在实际生产中,假如zookeeper注册中心宕掉,一段时间内服务消费方还是能够调用提供方的服务的,实际上它使用的本地缓存进行通讯,这只是dubbo健壮性的一种体现。
**dubbo的健壮性表现:**
From 9e6bbcb5a78fc18eed97c2389a0cebe0b8c92386 Mon Sep 17 00:00:00 2001
From: Kou Shuang
YkmiWO9Ms`DEtxWv(mso=3O}*uJ#j;G=0Qvv$F-_ zS)TQ-L%5KAq8Mq6H=jS{g=}z*^|90T5OA`KNOlIq80rLZGP66Vu`6%%!NC>MgA-mw zTnX(($hv0eq&m}4WNIjuGYmW?$y!K%q$N9G+n~~PK#BF~>l8~~+EDHiNv>~qlM=Xa zLMm}h0nG>t2m6m%LdZS0FxliL&FB%f)C+stZv;}Jq3PPj&oLBx;Yj?gHRV%OI#kf^ z8k@61MItf1+F%2tDWu{!a^jL6O7dSrv28>zTMo5iO(A uOvmP=lyldq*W>_=B}7hR+Y-|0?GwXZplJR)-GTEVp^^l!#fCMQ6dVwc zxx`ZOk~ZA;Ehq`pA%M5HGbHYvI0Z^mjh|fN0^S+FaL>YR$P9z2gPOr&_N5G!Q;Twi z;kS*LKwY=QP}sM*FdN^RS!Z0@Ty&f$Z9$4YiFx@zWhNDqwolO!pgioElKG4ok51!p zd%FXQA)6Jxj8!|pTY1;qU6uk~!DH?o9&a6$J45RDI4yCm-N#35MpFD<^UU3X9kVLU zTvN2rid485h6&e-lgdoAJd^ZHCu9lfhfUmj`{?!f*3}u6(o#LR*3Lze$uA3apXy>e zh~lLtHl%!r|1w6OK`l!-y^Y{1Ka hI1k63wPxzrawOFqKiwx=(!D~F^cFW9YqOa~r zKCk@x7ME{n0Q-3z#*+o%S*ZPut7+j%%bocz6E{C0(f#8Xll%(>pinO_yKgKCChmdP zl$*Q`yGH4Ij%GHGqnWLmWrq!|fg`Up;4;k@fzTqKY&Xf^64&ZR4#sP@Y$wE`qE6 zx*EHs1WMHMFr rF3>nz zd??Z6iPgiJ#z>l%N9@cLwZ4~M{ostEtY&~r=HotWpze}nl(aH#BO8Ll76pBuV9Qxf zHf?xuGVU$=Dx7D&PN<|yaK>JSnkgiUWhBWjtUiq^?`89nEPklhYZa|~%&*YC&zcS( zt8Caz?D8<}YX_Zh{;@ep V@@O8u0bKNj*y4csh6?@4_vR%3dJ)P JA z4kk+0Z^6X&6wcw)%G0CEPuW+t2Ru9kuI(cOGWyLwhdZhj%c&=E1d{tXuCma$>PkBA zI_3`C8ySB_oS#c2X{Eap*_~j_6MVPlC>$FVOV1Omyv=V*mvnmri!9B=svH8DB^l=_ z3RIDiK3<}?7hf`;-P_*EO!t8#MjKFK4>F+<0S2tuisuYn)D~`U&f_jC%pAC|$LV&z zm*~h;H8O30(Y&~-kKvqa!uWw#WTP`KW`uhPC=NhB-~v+@av&!qUpHN9OxA`b>Gbsu zL q5Pd-VgE@5;F11GLl(^ppmctDVT+FWERRb(reEHg;ib zVhDbu9vgp;<01VmK(WiouwIvH3v9iDJ#kZp9v`wt<7^`tB2;*WvU?T@mlEQnrEZqG zJ_-yi^|1&D6&|%Ed~_*lR>lPAJ~?O@%>8{5U>8FeT#JlR;uAJgS4>wp{h(0hj(LKy zd{$OwT4uuAx1KgOHfB*N85t?s{s{>Q=WVVg+)slAvzrIq7UVyfLwa?5w~xwTNJl&B z>O*o?H2G^M+5o(&jq`?ncJq7(5%}RRI)cAU3Lp$#$~_Pdyq{I1zqrJ{l+v4K8#HL- z-N_W_7yKq++}pt9R1CxQ-p;c@*tuNHA#Mmqlc9r*1XLJ|>Z8GF5~pxe-loN-jQq zu+{hNKC|YWK>v!h%-e`N-L-eXy-Ucu&TUpRX@qzRyn7-P$v(ZljN81 N--zE-*2m2o?++G#lM|?2+Yi4h#A))Y7S~ZtPh ?~ze8FaL6mf }ggO>@elHn=!-!^(@yCIUkw=WAzQn5-YQMoBDRmGgz zTGh-tk(n~1^c{BF+uB5Fu#@9)yIRtTw8Y}H=^Zr_o{1*M`Z|$&!$V$65|(T(@m+qj z$ZO%vU#~guVcabSkmUJq3v!sn%md}a4ag%2HdZy+KeB42ZQeEA+r0bYT5b0EC>63S zfJ5o7HXxvM9zR5R%@)Wc4H!qRe@Cuf_rPPUS`p69!>EjDDAO%X*EtKP<#?fCwH!@>zi zbpw4axyONOI+r{5vFsUXAt9md Whb zX&{^JA%jKY }*4JH(G~d`a)!1+*Vwj T5WHYQj(23^o?$rm-=HRv4gs~@iB)WM zK?@Yphx$4*^{@ zbls2_Cyc30_!iJZ2R6k?P~gui*!Mf#dZI!fO9N!=fh3BZE|i3OG@@)vYHW#K19$Lo z9XhWh+AqEW2&oi4rS55ac_nbUxDJs0sT}@ED&AGD{1tekU*Zth&O3PTU|`PJ4K4&0 zKZhtA#UYdG_QVgnN9F#k1NOXOhJ{ie!G(Yimuc?Lg@6KR=%^nnMNB;11ZU(4WGw?W zx4_esr!xH^`(#W@9bJ(q1`!M{R+gk*LK>SUO7HKZR_+n gS3j&ht{cxj^NwZm}E^AK>i7MZ>$!f5;5UdQY@>A*=2 z*VwTd* YLCsVpqW2Us)C+s}*SBDpzLp1)qlbVf&d@xIuf{cKrKWyjTe7^b#7C)Q-M~1A z8j}>^ZXr-wF;v(I;~(NO64LAuhL7EjNxPSOs^rBglSm?Eg%`>U-j3< ^+^u+CCTIXzhBeNVz>S kh^F9)1@ZLLIb8edaU$}N+jRBB(ir`oOp{LBQr %7~!E4uR04%nxh zO{c1Q_3+lK;%mR2tx79-hQME9G b?& zm>Od>%vC&1wU-mDXW|7Cwi{vwUvn~kCnE72OgNwT5pBARl}Q*@43yn-Lq=rXSmUSD za)t2TQjNtuTx5HM)mxQ{+?3$-^V2Bi2N!FE21*2!<|LDkDVY3L214|!TASO0)A)p# zHi!$(s`XB6bf6ezaP{L4@gFYViugQ`Lyj{z1f*(}9>nd>Zh0hoTRE>{3XBkrdhZrM z( M^*<8r<%r!%_cp+>S|&$H!Q2p!LIizS(xk% zs>j71jz%IQX|a*hK~Wqpzc`#1;JY8DNU-_ASD~~a(&aN=?`0b^AK$qfwAV76Kg++I z-(i=$zWSxB%)_7O^j!C-K6lU4?D7#ykvUVw*A2b4!PlcdhBj*JXx{d;RJde>)@Mv+ zz>qK}^& 9fl apAZkh;bn-J`~ zz%YfgMqU*SR;#?WD=gocxujaF()g{c)N(vIFQcWt>P7@iyGhGfqw?O}TN%N*tvVk& zZ~9+*Gb*ifck#KDA2y+wCG6gelyB+inn<0Udz)uI!WR8JP+O|#f^~U#;0fW|TK*gy za>knT2i)F`rr{gArX5v|d+{?-Cc{a4nJ
推荐使用 https://snailclimb.top/JavaGuide/ 在线阅读(访问速度慢的话,请使用 https://snailclimb.gitee.io/javaguide ),在线阅读内容本仓库同步一致。这种方式阅读的优势在于:有侧边栏阅读体验更好,Gitee pages 的访问速度相对来说也比较快。 From 39598bdbc3ad1a41db301394865c225c11fa510a Mon Sep 17 00:00:00 2001 From: Kou ShuangY28bo zHqplRBSw1DGocDOv}6$21g{=K=9b@JXdSJ-bE`av)f0IJ$mo;CJ9tV?@&Q#c@wo30 zkURup0xaB#HMjM)6!-NCcTII1^vhMhWquESn>pOO-q{wL_5n$j8e;F^yWP?h5m=Oc zs$No9oXb` znc!bo0>5eVTCYWNU>&;exQdG$9Sh*u*_Roihm}b|dK?#KbNwW%H~ClTOz }lw~Z7a@I24hZZVx{n}T>q|&`M z%c{gHOZseaqQ1^jb8>d&Ev?0jW9v;WbS*9(@*mN}_swUdZbpk0YH z8{QN9%9v=}y_(2P&Y7rFzT3PGx^4kREA7N)tcIKj?f!1mD$!_mo8}DvJ{R^@rmMTk zz1#!aR_7grsQObAdDZ8JHf%Pu>OvO}Agx}J<)@nO&3(y@;&wN@S{!wmCF+@u>t$Qb zz#HnCNi#TO2N))XuiDQZ$-^7;4$j?t@EYNmUsHKN!PGZY9NW?qFk!gm>d0M4Z@;D8 zJJ7`CZFTvU!! DAQRmsm2S3}^Gs{)?ZNj$HR yRIP1r gCF#TGqJk4+UbAYmokj0HWO8%61=IV6)8Vc2Q+A@iX{9pfoR9Qr0pJ)Tq+R z`MDZrdIy5k@Rv;j=yt!GUUOj-GTr=iU|4R%$}A#4LBwss3L4giuq>T#a~@chyyaAV zX!@{@+SlyC^mo(98l^*k+-g%VkGN5?OR22!8}7#Nje&!WUBlc5tBEzZbGUes=v_O7 zUEYrAgEvoc^YY2l{fjI?WAP7eo&*hiDE9ean^`H !zG>BySsvc0RQ>+q$#V$)yW^vdA%H#$6@hbpg4 z*;X!DWEYHI^isNW(>-h`aG!U1r>0Jo&Gj>RAw0spVJ^XIaHk6o?fs(jYwqmX!f
%bj5^NrlnomH3#d0B{y)WndaVVUd5)tm_U zw_U0`tIq>ybV3F z?=pPPYW^-c2CC7t&Gbh&7ricASW9u+ge^baUx_s({y{O<(&?xWJ36iz zF@}JUeJ_&ww(({A+67k{F^3W1(#8&NJ_X&lGiwg?XC+TJ8QD|mJnp^5M64x~(GLk@ z+&XJAw|s}9q4wK%x)7_~{)x=7>niDls@Ci<3i3iRi&Sc1p;V%RB$ur)M#LkyyzNWg(3bA4Ixz=t1%K7?ps7*O z@J~;u2|7C~)9f@ B)K#ha6-M6KX2)9_xuxP&t?onL_MKAO92yp@plu1Fj0 zQ+C-=pCVBGwlZnbCw@w;hwPs(G2~86E5LM+oXGiWn>5pz_Om$);(~M3?$HSQ_@Vf` z8hUQarLUI7V=4*Y&c1nXfL ;$z@;j;Djsln@S`<566mbok6 zZyGx%u1J+k7&4w3jPcCLXtO_Ewlchbhv sJSB^s66Qn)o z=4n3Hf$ey@dTokPfo)4 PRPX(H>4LgcJJU3 z#n^P+q-cog_vM#SbJthfrAG_7O$CD)A&Ca5&7%V??-z?*{g-LVM%>;T8r@V8XF}4V zW}QgU7G2nQyi|-%2D?0bjtWy j#| z{jfS3U_Qlnzv^z?8V|B!S02J?P^Q6fVID_#XN%Mzz<*ZRrM-zYqSI Lr;_l zPQ9ckyno$K!uL`XCAF50zIv7;tDR7~V9z12<+o>bdvlX4c~p{O)10Sr|Mo`FYaa1s zTZYNctNAr=3exfu+4Nqf1Qs|=B`*heMDVK7ow1^})d@3KHj11IOz>j+ET>J62t}x^ zu89Zvd*|o6&rW2`8ZMC !2a`c-)_w0UMXmd7x3^v ze8 xc}t&s#4!_wrV7vZOx_w)OIA$!78w zex&!+@UA~wK(uE0<)*>})j30)PH}NyuVc6;S%syrENU{qNjN9e@YCHWf+WkUX?^_@ zqyFVKnD~|%*9kG(&5@JU6f~MMA~>y%k{x47lW(I49cN5@PJ&1FNNJzgFo(W%BY(19 zbG?3$n>Jn*#sD6DAgQ=DoMW^(<2+)Ya_!?rJvYNmDiSmwA>9f6c(+w{&xn5XL@QDC z )RIURSoSC?NN9UZoRoPb(?ki^zjs=H8`WgD=$6hR} zzN;S{5lfvPw@M)>H4FrjPVTVT;yv1uIR9Wlyy$9ms3L%uuH&g~nx%7O%~(;IIjDX6 zP=F}x5fk{WGrIF$6r1}I5eXFw;OQOQp7+k%*Xy;$-p5vqiBh+ j9Z2ostLOOL*`F&oFVFuaEa9hIpG@%xBzy;UcLlJ09^uoi2~aM3rV zE8nNz4_?j95~aFqV=R+dCV$uYyDsO;d4fv}ITZUY50HB;n^v{nYtu+y_a|MBK8rmE zxfT!1SMQr3hPAy9%wX>-jjO8|GTHQqRHF!o3|V`i8(RuHTa!zi?AtP0J0=T{^ot5N zn>4K?;SwL;*&py66s=A#PE{%Kd}F*AEd4S3p?bd($CuBFlne5;p>^jsY1Kpr65D0@ z2Wx_d#=DyyT+aZfWu@?}77IOhGd{_X-U|Cj-E)HBkFN9-mGQJEr8adoo5xJCg*MRy zhRaY#Z}iT^bIj>~XRevi&$AbD_)@hO9tw1Rp=-xyhb)9EuC#LqKhn~r8p++4_wdlc zIOCLk@J6wH)mb~dcUN*u=5t29EKjaOhuM^Fr&BL18 Py+ zrHFk!RSe}=UeMLKpPiZ=XH6Mx+CSfX#!`CNS086tqiayPdHcD&{cf!(dIm4{60N_R z)_Rm&^=Z6KsPu!XLD_v;%<~14>Q(H)`irb8wwVGWOHnrwwMq{ak7n#fvEU6qGL6S0 zBaZ$dv?`BB=r#HywGl%PROO>Gcq^X{rAD;A)d*86eObsUM45VWo)sD67Bs%UxyI*6 zt2)s^`*pv}sGic$g4($`>tljEm%)6@*}RJ?6qL%^3}q2fDHH_Z{c2=<8Bb@us-B;{ zKuw}v9hW@=3%(L4%+~yw9lzJ1nP0M!kwSlr@!(w-e&R+u0epIsq-mgq7MpASgpJQI z)BgLjCCd@R5W vYcAn74gG!E=`?!jJ$0)-el2hCI^1b&9CW0%IPAA z21s=JTwPhMno@R^3nR(z ) zKCR+DzEYn(ZRnj{RFf{JQQ_42MUqTc&Dznpz&NmJfVN*sT(jfKe2hrmnC^NS>mIiW z1cn@3w0ch~GFx#V{kl%{?g+2Qpv0YyGg)hIq;HCzVO3C~_dPT9@Sb`HiVXaiEDwBs zZIE6`k8=|JVz!3J-8k!N9;G>TM9I|%-<3-0Ytv6JzQZP#E$=j3o}D&$Lwv6zd+-ow z*d 9YD_G>F^lgGlN^KUpeq!$J6UvfH6FO4(4@Frjj z59fsBsHeMbgrwPq-pe-jB=JZHjqr#Y(_TwNR1TuO9Yj^mWS&=%4mCNx{>&7+7d- z{gHcC#V{nhIu8EnJ>&x ^L$V6K7fjgYLWn(E9=2+XaEGGIOS4EGE;maz0e(}2- z{^jrw9YG(z2Mv{!_X*DGhO)winK|t!< 5up0nZSDFw2B3vzVSO~R03kb(;jarRCU&D|9HFEM%J$aaMp6Y%12!4o9=u9Vee zftkBwD{c>CwbGv9QXB3u@oMjZ$X3T`NF(>W);n7}0b|GFX&{H_x~^QX&0VI+s5vd6 zIBIIFfSk_)>>hd>U=Fv-_jFcb@yE`AbFDSw6k!-mvRz z&d F+VujcoB{8Q|ax-uATy}GD&{{T|#t<6J6uy#jUQSVI69upr^yQ;Sy{-CYMHXrVk z<)?y`<#CM?1n{&m!7vT_#ZTqvKcDUBSIib$=IzY86Uk|#Vz;|ZAeAOYQ?1;nB~V_4p6-+i>pwr|6E##p1qg_0Cq0a8h;n-Y?a=b8t~_Iz`Ur z;H;&~;&QuhZqwyx;-`i)B>PsQROH4YI=0YJ;F!@5aPr~)ujSL+-n)bswj9ID@ub)B z6Kdj`^y?!|2Lc(2n*RX51~Xo)@BR}9(o}U+pEdqMVsN>9A6IWZ@wK|Ut1;PnhOEg` z @ zER!s4Be20%U=>+Egw CogyzOQ}Hu&kkG)0}<80xC}QZkh*B^^vs zE`a_ut+aQhCGe(IPauBZ^rx$PlgwVsS@UM)A2#xR?e6rx8p$+77|9VKRmJ2~WJ0RI zqMDCBB&mNbUYY)98~eUKX5qdd{FLhMrR>eAyXdKYLGDfC+U9_p zM33T$JUC4s{AMiZF^`H&sn40*o8w M~m*Of$+i6&GXf{Dw9a+&MRjDmXE5Mzl2y=?VrVwwB`L8A$qd;r_2*UzbC^ zQ}-v7c>~*fh`C}pTc2+USxkxWFa#{2z5@(lkA#&hWF*M6CZShkcc*oH*Zy){UGbmd zuV!z4u=xA%<|*;rqnYa6!I0b7EQT{`*WzaFEPhf9CPEBOPZM96pvCO0eKkxoLrqg0 zlca4MJ*v_?*QpdtL}|vK&-~pQ?Yj=i$zIKFoXyQ!WEWh+ypUj7&^xJc!Uj^nvanM3 zEXqM;Dx}t(8{g&~@%Q4_^LN_Y%cuGmy86dA^7rEkWiuEmoK{sU>G4ZbU;Ha@Y(43c zp@vwWZRRrgq^6dlnd+Yllt^TBB1s^qa^)eqRzz{*FAwv7tA{~vZ8xrM_NxBNb>4P6 zl;sV~0Vc7e6;Y{YO;n>IwxAlGDiWaANm;!E)PK#tA^fp%JzJFRy`$9s05I{p!yikq z_h({NMU%~7I*S36qNR@o*}ID!w) A3iziyZ-+G?L2 ni=}+4$YPhTNN|Mbf)6vMgMC zvt}i1@*GxPIO#ExxJJ_PF?G`1i6Tj)4E|K|{zKEOf#eO_+b87Sa^E>)maeS%eG%5_ zWca2L!p>4Z@tH=g5@`cmWV5KQK?X nhm#IPpjj{U8$$W ?-{roojhact3{(N~OU{%2#2RZY9_Pwq- zuWgr>Zx1qRxKA7X59(;aWd8tiMNmmb{?CWt^5~rZ0K$U5m&eEd0F79TFUhX98`*m= z KnwSX>>qz8=qIdN{R(X5_%E) zE6$tV`82%0xHLy^v9OI|(v)gOQZ>}oHSOb!ob>7Z+ sGF(2K3DF1rZTdg4bhRV&27HV+utI(zcEP$;M<*u^ix9>EM(KPvB>VSykl|| z*Ii^0(>~el+{10i$z%OevD~(M$(nE0xl~d+09J|ZrBkKi)CoLjKoke6Kk04B*4Zik zL~X9n`NQ%vrZ!Jw=5Z$~+as#8{gDsJ3My>Q?Z^zza_xA#^RK9)$YLj|hPntcQ|=OK zvh_t}Mv0`TXj8hbNBMe}cT0QJ8y&@uC|KQHTcc^$Dn@Nilp0`jZy}>lsVX9(qTtj4 zy{GbM?9P?n-vs*mX!K6=-JOTDdKWdE>1>Ab-dh4bv&rXo9zG0TU{+OA?HKoF_F4)B z#`YZ=D}NE3yomn*OIzBg%9Rv6I>YaDw%y*_o9`~St61Q DNq_ilF}h(>&kwFSj86-XFL8 zho tUia^08jvU)2?vO0a>LCGpL`m z6HrH}BZ2FOkKX7yYr^?;?;pQVb?*!1*SvoHLD#%5ms(o?05-0??_Spabof5E_|=k! z7u@^H;x_8SZAX@}ENqz?Dz1$0&+m@h$K>ZJ1~W6d_A=zLlod}TDNS2f6pbt)OsJYb zOrS3sf1j+N_U7wp+r6%y^L&i9*B0cA;+3Hj+vs9E)gMbRp{jx?YfgoqlfTH5DYCzo zS59O4i>u`9Kbt*il8beA1zykGabvO@hEBxD;;Q$~KO0RZCOG%xop~NFACJUB^%&<$ z7;7ryd1qy%sIx^x6!^zQ`wzPdb (vBe46kC$WBYZT^p&es3 KZR{Gh0A@FsZV|?T5 zXWLn-Eyv#7$Z^r Iic180s%(^T()SMsk{{XSpVsj EmJ|Grz6bo1`2PT(`5W?c<&FvVe`xpiLY|g`Y2>BF%eo?`lW}HuX7k+pj-L-b zRSp@qHsY_R`&unYJZnoM%Ni@f3X2#djL9sbjNM0m`SaH bO2Q^zYCA0OgDF@8mw`r~Y2sgXS%FXl3&h8w<8^s+9tY z2HaWQ*F(GLx3&Xp?#fNIPrD*8&6vm4!-<{iDXC%d!y?9#Cyg#GW{~|py+;TApP!#n zFEQ^v-}|4*{JCoW;YYJ2q-tfiU~+UMW-}W+Wz2aIx|sl0b3!!`D*QV5o&3l%-_A3x zer fB>R zHpbn!A@;@!nC6Z1GDsD)hK=j{ca%o)0%TMCzu4#->@PoT+^=!W8!t27M;6C-5O8Et z$>J|#Ay69<#^+U3gW-XXF{Alj`~=@$9Y2=7_v!7~OD|k^_sC2)YUTHw?=?MELu6;S zZr{jkZHr4KR6@FurQ2I}iiWmG(Pf4z>WYOPL3VrEz|mV2IFYMgm#0LY==1fDGJBI} zyxK6i*f#fpViX`qk+7CiOd30vP)!L?yf_MT_z8#pWk1VCpSZezZGS7QpKf-R`rHR2 zx4W)S+rnW#gwRspDY3P?>kEv@U^hm}S!>#|j)^naSp!wpxpF+-6n5g~+gb} qg-SCyX$ =X>#)#y1h$AjbeXEoUZ~Ht!)t?79@QK1D~OhAw>sJCoS^j$1vO* z{lJm8sn3yeKLXQ&js%VawR2LsR{UJ){>1NR{{V#-^zTsZdX3@Oo8Nv>;kJ&}qO8T^ zr^{DE@>jTPnwA>O&2~2zO`?j5N7Xd(rIOdZfhLVv&HAXT6aG`yaPC(YdsJT8Tu$OE zC}I^fG*u8p1^_050|TI6AN;7kRMT|an;yUUF=R4bu-h9ax6`~2%wb7a9`dTiRng N{{T?`05?DmK(yT& z()#Mtm?E;VGK7;-t1%&JrAyIPx`?Q1;PXrw_S Mv-1uM6G4-T 7S4t1%cfeJ Ftuv`lcDSF&L=X0If119VlpUjr0Fh&F^rzlhZ)<=^9?)2SZFl~g z{HLj_-_Sp)zSNYdkLg;3{{YPkT36>zth4#P{Px{n1%5hXt9s9B=5u|)-8q`>x$6w{ zSZOj_V`gVsiYl7C=3&OD>bC@V>D{n+(y|)**qPlPo|<%JS96#ns*1Z{br}0W$X2}f z%yLJ$-K2Xxk_o3$+FnGh0 >spPCUGXFNef)m!ZIAP_t@qE!KbxN_ zww^Axc=YvVKPR{HJyEmwENQ>CZARtp9nnQpG281uoius;rG6nZRrEO&qotmhR8iHE zTD}dmaxKD^oyJF?;xqj5)=OVU&EDbj4#R!OdyE@*BkeM ?P2A~yjP)qrga; 8K64DOxZI%HtPFBX5!J46#i)Xm0V i!a N=$m_zof!C0xEZ7?O&4JMbp0? z^M5FJc6zR-r!c!W4ZjZH+c TM@7<|iw7L_d-meMN*xZU~r<)@~gUIdOiL+>HQjEczuG w<~2+OPaXm&!c=^csGeEwMf0DUNV{{UOsi>P#3v$w`b{Ik?? z>^0Ym?rzr-e`FxI{Lh5n%g}Uuf0it<&HTN-7sfp@Me(bsK}-In8!r+yuk|0)em~as z&xFYwPJRYapUa2&x=YSCP~CISIKVMHdyT*&)Cm}BALSljXH?_=019Wr?>+I=zYqGa zV)fqn-rJLU_h#m73EFrmGtkxND7J_2`W>MiCOTS-)cd18nYXB+r;3r%dVGCTYX&VP zG{T`k9(_wb#T#2K$C)=9yV# mzCv!Q9A;y(Wv0#VT!!w)VRKu;S{dmXsaqjB?VMc=O=Uh% zr7ZEXVyJ&+fIIdP!-?p3e>Wy_Qc2HyZP1tMZI(M5WF=z-V+dF!LCpt>>=dtXHIcGd zel~mp?4Huj{P^roiBjbM0MkdnPW|iL&r$576)t*h<+BrccdZU{0TmuvIjJ`W<)WnP z++9o*wP`#Vcp$5xcqV$pQB^`qmEsRa`|mf|Si#B`T*j;Wt9Y}KW_+%P(QZ|$GOJk} z5-3oWa7LcD9sX5cFzCK&d~KJp6QL`*4?njzWq!@yIBHG5O@-K7k9*>1=;O`i`u?Ug zrme|ikro&$Bdmccan*>_O(jQwPU=wV6{R}HZhz%g<$df~e)kuUykX;QMWj?>bgY9Q z9wbnZ%0mDvL1sQbccADE;e5LHkKd>|_l5H7-amez>)sd3t`jDjTDLqZ!0K52HA!Ve zAJv$jr}XFBun*UW`2+q#(>Ian+qWqW5JE+MW`Ga0`g&)FU;owI<>DyK1i-GAIveZb zB>hL_;eW^ mPkIZJhVrYt;EIHuuVhB8jQaCC{ z(EHJ-={rDF>0zJsWFIhmk6d(n^-rf-@VfSoeyQ~9-WNcHf5wi5%6E1b jt zv^5ya4o9%IMhA6P;qmo#0;;Bq8&Q{|s*;wPqNPK+AqvbcMg7!(*(=e`*}d n6SKBv6AiX@=HABAVQ{z|xs0L0;BXjxd V z#;1r3YD*u))u`cG)PSRZ^rugDwpV9oJ3p&>{{XQv{d YYx3$G}EV!IVr6JQ`7^~n^!Pz`xn%H O6KY}&G?C8x|cNJKrU@w58vA~cH2*=5X z1!KqIW59?+6(v{|Wh63?K?EBRLF5p9@1oXLMr3s%!J!8P5yT$4_wKdVz5B0q?|$pu zOo}9l1w}&LP0SGT4CEVXVk}k#Ba`)G!2FS;o*fuL1aL;TcZ*a%0&vzxnezw_6UC2e z`IURa;ik*a_jP)fja$@5qs~{43?N%XOKTD=0N``<(KHksdJ}TzE?n~s&+iNRjkq>X z4RrhoP6{{@Fb8VqfRh|)5-f45q-dd06a`gP77Czn03O@wX^JS|jUk3Gu_yolC;%J) z9Rb}}@t2@FKX!H|`|3WW*?oPydv7LlU75J{&L%v5S9|4-ODmW;4aHK7TOn8cQ#)Bc zw&%%HA^y?#MU4=#RREqn8Qt!ih4ePo_m`4M3?hiEY7|fkFQA|U@*NJI@6ry71V0J> zAVJ#F_oROrIxzPn+nS?#N!il%meQYl9pP6}^^@+QxM#)5kzK^~k~H6X98@f)Sa96? zZ^DaKzYJ^jrg}6x=J0I=f!!ziEjn~-Z90F4O=(Y;4vj58`Q-lqT>k*jr`^v ?{^6V*Vj@@C;$TNSb#i*cn+rR{+;TLr`S8!wl=?9?7h9&osmU^$8Y`hh1;0C zZs^`rdvMkqBzu!FNlg`IU9sZ6MOT@gLV*>StWgB;RSZ}t)OxI!mvdXeX)VjOtVEPT zNmVUM=^O=V<^EIFTqja>X4~J}!?m{m09@>hFK2cIHX@IF_7*Q}VW_vJ?xVm`M?r+6 z+*_KSjy%R%lNCo2$4?Z~Iz*sp1K)zEC4!Adyh@)VA>2NpkIL86{A$Dx~C)wV cC_JBxPa`roGdv#&EfgHpA--#@TA`)Talw)&}xuDZTD{m+)$*o=L4 zcOeCKR;FPkW6dH>Q!8BgT)x#K6=Xmd@u2?z4^bB|U2`>z*868L?sr$aTx+H!mRTM! zm>;Aam_*6~iYOXr0SuI?i*xMFtGW{n{pQ y$7UA^x$vzc;&b@4 z$kWv>D{ Nz=b$u| z*$Rh-Sc=UTo >nEIHtN z*{7K4HJ8>jjUA-Snul==R0SMM5%@>X>=h&qouY<|A4?uH6-@;mJ`NTtXd|VG+fy+q z1WJh%A=s5bKBSZCC*OeS%e$p2*4FOE8iLM#DHwU0 !L{{U6@Ru37r zdv~vPe`W2=KI6r1>}~^lU~$`%4NJK&e{eBbg~nwdsiTsvjVk3uE{qCF>OodubjYqK z>InJuy|Z`SHd*Ak+BXTUu3k2byiQSyH8n1!Akffx`3{uXt);cM9@WY0Z1&y4<@RQ0 z1y!~(+fyNoqpI844Y^xF_{zK$ULsgphHOnnIzt0flrb2Nn_G{2AP_+q=`1&QR@YHq zTiiNcBZpTELx%>TgK-QFYg*SmaoPJjX?6D4!)&dGwlEtrXYJY;F_;alwXqZ!4ZnrQ zQ!a=ov3QJKJuL+dEJ`>?<5eHi-hv?0MFN~Uz1{uo{lxcI*K$pDD{6OkEX>D=W@1S{ zGJ0(6F0|{8+uJoeE48}+0A%)V&8(=TtgPByg|#qS(`?n% LQ+ zQ6w(W7Ky-RAoK6cs^d$jEA!7++xI=oXu37z!8Egk;kXq zueUbt$H3tBuFJq-HjdZZIO;q;+}nF&6+wa9_zXrm6sDlXVQ|>GdR%TV8$(YT#|#ie zkw$ &3rmuVS`J2^Eh%*2)?@g$Ob`Vc8vlO$l4 zXdr6JCV8PR6mKLlJTg BM)tLmbprl5+Zwph_* zs;G{Jju=(sEW#*}0n(}i75Q{<%FYxs9V#dXkQJ>5=1KcWJp}z>@#mv@Q!l=A{YBKf z1Ff^2o06o=b|zb9ZG2AO$nR{e4OVKlk0ZJ2@zl^wnXRU)+;#G#lb2(s>oH(UtdyUg%J%!ZFNkOO!n0zvNN$P#GTaobX>^JYV1j%8O{KpACMFtgQ+?_ z`lr*acwKu(zf}5l?+dPL4y%%MqT5qg5-;>sAKG^O5B4XIdlfuzI Xu9%^Q;9rEhr`5l=EB;UXMZLQXOwr>2^pAIjNp_vZktqyuenYu@ z{Mh-Q@CtSR*4;Gess$d)GG9v%?SE7LvHXwrBi%(93i0a%8%^kFInLKsTA_+h7zQM$NgW+uDpNmx%cnOt$1B)eZRk-e*LT7dx5?&e=q*l`3=z#)KRZp zcfCd@=4R2v_Qob$Rz9k$cWoR-#Qt90+l76fCRU=NmV&J39$NURe&j fczi%Wi_QLqmc%-}kikm+D5rl9q3e 4vILDWFWcIg5zQf4W{{RoDk2$z% zrrh;ZxZuW`keN(W(rfD+9}s9EsX?04=ZbvJanz)q$?Ow&J3P_u(A` G_&lWgW|`ui=pBB9M=-kv&HYcXw9+EJ)LmB@l*00(3IKk5KW9*7w uV$cx>w%nC5i~ORCDLRbX`meLQrx1FN=Y`Q-fK{y)6VGq?J7JXBk! zrJ}(=y=n3O7^(32*(n=z#YYo-vCql&)e%TWPT4Hzr1c7%hS(sqWrq4{nmW>>$bZmZ z>h&FE3?9bvN7LDOyG8GcV!18)*JiAM_;vpPb?KV?9g%AM5#4Y%Y0*DDzDM?d!9D)~ z@;Z+#@h?5tJvYDm2Cud%bDOh2Mc3PNqjrYf%x-#J!7Vq(s_&Ee1?*~!G;|eDhNi8r zj6*EyvowhanQB}}&@{b;fi=!3KFwMAbqVjhh0B{~J=k*F#k dRh9p!xkz$I(j`m+UfrQW1*+| z(sDeTb)}RSx6i*l+bIiiw3)Q&MOe&VyhKM+*Fi^VOKMk8G*-lZTl~BEJJBD@t8;hd zZpy<{cUEg|%az+ZqvNF=Ph)jwU1743L6_Rw`+I+;yiZ@};oH;U-Z*O%;VUPCvZ)bi z*#k<7CYD(3+D$$5^2i@ET7QG6@058*mN)NlEp`OHak3<#T`tImd6*q96n{+9CcRZF z`l<@4C4rzM59NRJg6{sM?#T8$JJ)Iae%X1<$6ma2ecSNEy7GOIu(r LH@NxRw;T1@svXweXm_F0=&oZC{(6s~_^>+Mg_UM{aeN z+}yizcdPC_ C2FZjNK*Sw*$U;BY|%4@aUJf&%DEpFhH$`E`~Oz6rxQP}Gdy3&pm z00BSv@%+O6Y<#%M^`_I=z0>ip1H8KzCoKDqYjmH+ZR^?D&V}pBqf`77eD{Xr>~E5L zZ?ATCPb7&>vEbpU%4Qy-q{R&tOwh{$HyrayR4c7dqLV@Mt5AKMdOqeaZ+R<}qulPV zc1_Lf?Usop&FoOE)WVwLwn(g=SrtyI%0fq_YR;jQn*;u4-RtsG;`c!9F5BsD!|N=5 zUl+M{p2OU`Z+CSj J~Txsphu4vaX{g= `uqLNg2?h++|A&yBL%Fh!9 z4M@;AF{+YFVD^Ha8a{aT&gI xudB@GYjOq*6nczQ@WW40C=Al@jmJANQK&Uojs O@`9(<4TjMl??(Z^Z-zifH1k>bnqL`Wo`_=yRG;j;7< z`8}JK%3(44lNE{FxcW)uslntc_U=}ex)^F!IV7a0j#UL6So)xn0m$RjhPF*-Z)&S- zW3?&zc%qe3SGUN3K^XG{ap*elf06w;@t zD{^Z}*zJqAH#Sb1KeES6=4oL_0Z^s&vMW{HP*sjPTVb}|ZgRXfQ3sJ$q!v}hK;p$m z6T-FXr|@6SW8-~q&Mv~(wVm%$emr5mHg)!AZsSv=J6z`vbXN8b@=fVeEj%4u`}j~( zY-z9qRYYlu4^X}$(=?V~T&If5ud_( +!S`;9o5)saF*hS)|gD$O~(7Op*f| z=>Su-)N!qU$ Ob>hTa{>1d1@mJ5wUF z=>?oImx(7Ty{c*#1EX8>hxw5FgV`Hn;MRZR24|?VRG%UG%e%MFXXo}U4$$xIql?OQ zPx=c8;6>rnxDtH$Q-(*c zMH?S2ZPUrVrs|U^ww5G7<)LCE@lSfJQ?O#Fr$__}p6&;#?5qB7AIys=*{l~_RAION z{{Y7dI!HF92gSacsivmQW$DdM3X6B;HgEF?-+3*WkI6&(rmlQ!-a1gzh~70P+h0*R zs9d+$Kc9K0LN( N~czyGO3@nO?`wZ}r?83mwth6J_M+GQ0HedVTYez~r&D_ 19f rN9A8b;<^_l@$ ^GNwg@%Op69^Lr<^*K(o$8@e&wz0DAe} I2by_Q*Ir*-83DE zgWKDqtaH!UOfox?nu 8Sd3OOG7 ziA -tx zq!OZyZ5z9Fd{e>V(&*kuB)N`2Eqhy1I^5`$FUbD@VlD_i*7c89R=y62Vtsb6@VD8; zSa~w}kFbJNf>K*wdF>tVNs`EH-OqvDR5*RZpW1m^-MyBf%u?fbM%BsGVRts(t*D@$ zc&W2ne=$idEoC#2H8n(S9Ez@_4+agDHR`ukcXlrvcb3vcBgT>_bt+0op^?BKRb5DB zZVU(`9aeYqB>rJkUlpl#-$(WKQx$;uAKh5#;@CUau<(1CI&-SA5~fvZ`zw8CahqRr ze;NJ{9vZCC;jy$iTH2bpQ_oBwHkCES$Akhe_Km{42h8;*`)Tdl^K8@aJAyNE-II?Q zB6RWQHCja)mrXU)x} FcxsOG>YR^y zRZ?~raOUz9yL%I|@fiK<(|vnPbJaEBs&Y}mMFuW`>SKaAnsFpBwH4ViXppTb#8;1| zK>Yd|b9c1y*>c>Qhb-A{LUx(mt>#;B!UP4(uE}vL2$W(aW38yp%fX6g`M-ZNF8uh1 z+Esm3(cOu$_SQ|hi(&Q~QfE5TV`lRdb8a5P+#70hLAm$Od2O%abrp0QdD={U2FlL8 z9WnDuJS#7rlUH{y3us0F&>jQV=12GsRrZ71Er*--wB2{jx_Kh{$ziHZDyh*5II2Z! zCXfq?JKV$=_Jv|Jxo-HI{Nnyo_Akkuudq8Svwl5S^{(RYjlZ( E+yf{@=ID zp&vH;JIdQ{EM0CJZrQl5 rJL}0OIdvY|d=@5KIvA>i*%$s}l zx5_NPO!a40_fGfO9d(A>oqyjulVx<>7VVQ^c1HE #sA zPjBR@v5`p?L)0xqq7_F|CBrPb5eZR)LBP_YpXTZ~<)3ZrcOF-ZdEIwgC@-#ACACQ| z41O#z%<$YtDu~I9Hj>FIGmuwKk*c7%Y#-*)-?8o=i;{PLMR%uOY&;Ihd_T&)*-g^; zdGVXmxc8po+MQ|D)c6{#j^d(^ul8f^Jj!IUHG#`LW iJc;!_of+Hg{@(9f zKQvtIw%g1%_7*=-rg`n2HvMQ~(pEcUZ}eK>hYmdhe NmtAc_p%C-5gJyi 5O@iKUcOjMD>*15^_10ua1@~l5Cz`^s88R!jT8Px1S*GTADMXj)1b^K^4kYL-e#FH+}K zDgLUCpNo?AqsyN|C6~8Ym|^2x vE? z?H!Y_cYjcPh~83VwkGY`{i)Xd#Z9sI2T`|L_J30LHat@98Frm++uxHzSx;F*K+BVk zXn>hu5_{NUSOPIa{!WW;`D<#m@b=l*W6Wt~$SR|FsgSiMd4 z)O?9>59a6Ue?HxZ`&hvB=@&6bsj==h*5Z+f@_l=k{Y3uGzyH_Weo8pm08c}yEU)<_ z@^v4`C;hjzMg`IW;fJ63`ocMEqhta;*#W3OKcD)s)HY8g(m|$F{Qm%7_^3Y972+6C zhe;VcQKC^vm;GPr{iCctKkPRay^q&T{{Y_5`_(*;N&Gr?KbH@e`yc8ZaWRp>AMd~0 zau2;}JygX^5!SdL%CGr iGB9d8oEOTz6+*;PxihTI@73 zt`}+H@;x=1uE$|0uc8QLtEhBAV(s+?i}{6A^); z+!*QbZBo_wX`!PPZ6-h^G;B$zsbq;2-GY_PBx6#ufsFNxn 7>wJ>VbprdC7nxEvbo%z-^T> b=k(!0l^{uy*Hc=s1mbk@|& z9-r }$iGo<8@;qHQgThil1U+Wp ;2bRygMu9-4|r+j twdR4p@~-`P z%Q4&T7ZC{IurSLrq;_FpUlQJQc6DSGU0TZpW;CECk-8^l?KbP~j_TRIUHp#9^;RPs zen))H++7d0_9uO9KAZVAyX$K1PO4+SI 2P!Jas?ap}Wu48&;V*C%l3{E7ozAY|x zHQ1|r3*@=@Bjsh`%W7tE>1lVt9gtpyXeuU2FYVc6v5z&kYKo){BKI CW5sHeRHHS zQn%C_;PGI||5^WM2OWJ3cU{dMJ}0jtOey~r6rT{_#{zd29o?Ufcw*Y~5#w`6*qOkw zq4faYs8TEC82 zYFB(C*^}50HA(1kY@*h3)#4K}Ys`Tv{NAmgCaSF`EdQjS1jyr2N^|}Ph!|Eisc+U^ ztMx@LAO6e{O?kYrp&e%(yYq{;{%TZf44-6%MxjTWPCr8vIRIa7#W~ezXu73cNbikL zx428b8vWLx f-y$KFN6HnrQky2MKpL7{t~q1AJQV)-BQGa!jw3 zqm%lallA4^m4`X+bw`ZB#~xn8Qw9*`iQRV{{k{S#EIrToZY}rT22Htz=iMYLzvSEq zqIZmwQzcfK!y(0qDS5V*eD~)7xFI%bAX4lbyUy}v9oWw>dlYtqv~%-0z_c%<|4FyH zsQ-9gIfEwRZxC3NDiy{n5V)A>G(Dl1ZJ`% M(q_*>wtoPb#!US|LEc`*E@g}@8 zhL&1uCut8KL2H9u*4|y)`%#cb>Q6p;>EmS;|0wAPd2lrUivH9Orh{@xJ@1GYEgR`W zODQD+n2+ e)yChgW 7|RFM*1ioSycTg=EtnuWUB=DKS%g$93PkVyEFnbM*bTJtC@z(bGX_l>%kYS< z$*86gkK! Fo&|X&O^tg zBTVE$bR+k|%%nF}rI2WkmEgMuHXd?v%_ZAViikH*nq0dFSJ~koZRl*DE0Ws86J7rU zeB55MX^hMiH2$nyZPQ?Eoc3q#&mW APH5FCU5WHK1beqo}I?%D#n0{el`Q6 zX+rjw_MMled)d*zo%I|!+S5<2-o+r(zc{|MCnalGrtb2A04@IoMkeVa;xYA?7Y*W< z0G35Y0>ZeF@gK%ijn!V>A4w&-=aUdddVPg` BhGrmx+? zSp&`)%*Dj5*WMU8V7<%xD&Vyv9d&K1x9=}e-RUs;u!!{AS~c U&ov>i?qvFaeD zJLul52(U>|(~HwV%TJdcQD6C2z{K}L;J7qKr`ukoVNSEe72V~%#qcU|LbGtt+nYux zZe3?lCfc0`yR@zgKX+(0Iy`VWn^N8V2 T`9 zsiQ%=V`~b+efhb?-qyok9&Q_d!+cCy8YH_8{`eL+NNct%LWENpK%waYG@bAR&FPiE zOxI2g6dUtqsqO;$QW^^p0#f@C3ZR+%G|=4UK&@+Y3Bw~DOHwDAk1RBWwZdM<*Jq4K z z`=Dz)dZEpAP$m2OA5E6DrGkvTQ|? m!FL`}0h6J5!f}QYe6;!Z4Gsd+lzZBxwLRV67ItkV z2jtBkl5R}8MS*T;O*XeUuZ@p#_c9Xd7z=yPL%V@zMv3Xv@hYv^9ga(zv?rbj9}bIt znT#I$gM~Z7vUK|C_w(JcieaUo#JPu@R!ry=AU$BY=IkmAcY5SZ?Kj|ccw?qMUwtNH z;j~tD5X3mEYMMJTna*pi)bB)uw)%#s+SA(M(5Un~VkY%qw%RlQO@&FhCrWmo3!S!| zSu=b|PdVA+;dq5HxYyF4usSK*^A?z75TRABwZ&2c;^;c-fn2is%oe=wcpm@s7s5Xt z5o6!L80Ye5jyu q@7N0wi`R|_RsWXcrFWm8J}z`Z0|7*vCfP76R$L}b*{JFgs-WoT~n}M z3QLhB)K+ii%AZRx@^>})n##l}OZL)Pg1f||YeY8?hehFm&6m@P01?l&D~y#GxD`38 zakZDaPw)>gW>mS@9FPf1finqUo_R%q&CiuBi7Xx8?+9pl&!FKzZYwwzk$aYu?&D%0 zm;pa9opvohf6~c6DH*`D`>yNSO^&bGXqd$@-M+bXOy3Lf^wr$sPXlsnptQ88w=lKB z)u7;pakIAFS^D&h*;%pTsRe|_xIs} *y_K Dt1@R@2q?mV##fw)@&=2Z)Y)F(=YK@U!9q*Cw*>1hSfw2K=#i zH5k#m;=ROu!{JYtna2((Z~Bo*=e1&LO--~``}|AlmcAyQVlN!W4?S{%-OMY{i}~*J ze9mgs<}{gkO!=O9Y=fDz%&I*<$2H6nPv75Noe5n6T{eam9g48KD52dBb$wi83nF33 zLQF)@^7EtkK%(#YJtMS2a;BU%zce(JrSpuGhaNF>&%!x;knfx83s3>2+eYQp%^c0Q z?_7`QGg9}i5r{g y78Zqv<-<-i8pO7CbdYf=GeH@VMpxwSWGu 5gR?|b1C;DBwaDw~|eNPV{M}r!x&}x-SQLkJ1?9_^?Jbh6=ALMA!ENJklf#m>` zHpjMF{cS;Q&?O{9&S^qYvJ}Eem0)ywDmWsRa>BGq)aS5t66=4)Ktw;5UffhALg1@W zc6y&)A;RkbpPF6#+I_GTY4E4Gnr*vTL?n3eN9tVh)4Dxt{^O2UlO;iEIzFz^%)ESg zvhg-*`l}iFjs45QPfwnUV9*0UR|cm1N*}L?ETZgR|7DT44DSBn_~R&tnCwA|8a?k| zaaP5s@<+ gd?88$mcVFLb|EU-ylUFEt`+`PZOY`|86a(Ze~M)pm>TdtBNCA2^gW9yAu RQkh3viZ`LalVo2^kz^A=j z0-y8{pHh Gq)x|6E&YXd^i8-UX^9K8XKYRW; zRS4nFR%<-o%Hgs7tJ5TMDz!;`n(no{ExTpmrKS!KpoF{z2j?erqR4@Xq{G uI)`oZsNTB;A=M+NlcQp4309vz+J23-Tn=tP2_yIo3QGT zE3UC3)o^P003LTcjt3b@_i5tnQJQe05c3XH+Ol!VKz%Ll?$TvPASyMNg@MSZq=_mM zlGu>S2L*#a1O8z7kGnJ*Bozl???YWSZ_`D#Gm;pqqoc>8U*#&zF@{s|7|G;1g7f91 zodg@%tC36rPu&(*uEQ(E4er9*??(2;dk+jLJJQRJQ!$A>`)^|WtLsji#S_W}=p7Bj zrkl-ety;)UJ?XWyRmwS-H@&}>{mpq8%>2ZPh|yJ Zg%!hI<||^vwDD zPfZ{R#l`M?u1O3iVN9orEUhWQi_~ `gdm!E(I107{sNSr!};+!APw3D zpfSjzB7iS&DU!dP|E&DE8{5T=*w}Egw@bQZh*+J$kC-)2PpiDg^KH1Yq?@bnXmdyy zBlviU$e`BvQD9;oBZFv+xseMr{qPTZpYvkms=CQJyhi+!Q` hp(h;Tu+r$WW#2q5z*e8|hzeHeN>z ze0Ri#P>J}GvFwl+b1yw-C)2%Bw=qE2cZ6Xo!>%-l6(2c} V@HO`2f?0eIZByJ z#aMMZ8zL{aGzdXgx4}XMpozP{Rl2*06HxJ}oWF04pLIH7)l7TBk}8tJ89&z&^Gdz9 zLRwYY)N%S56M=ACqWW%I{I$`<(%|Ll;RCVYW3sgvTIciWe!{_`JxuYC=L^Rbvzb{8 zY6o<9*kc~E6 ylM7%V~; zEd&KGT{)+YL%++AOjQoPWQB$qy%4SysKe2Gi(8udRp;g}9#&4*jdRV4zVQivsI~S5 zQ@%C*lEf82qXnCp`v=g#a4udd+-C??{CJ|u7JLo+2|qV4S;b~XRTJgO?ZLK*rs4hI zBk{vR-5p~Fe{rTaH^ioX!#BvuYj;{fWm41Kvq-9y6(rZ5q&v(2eIHtDL;4_*8n` 5iG-2S!ec*qI&ph(W^V8fY@Qj^Dg*WX Rq* zDB6UuQHU`OJD9`4yW}OY(gh^D$nR>)gT+R)fANV`bCIXO;a+P(J%{I}gvXZtg!{1i zxjQ8~e^Bc}#pEg)66Etc)mDkY@@tC&B3BoJ4@uct7slhhhYhCN)2gAlJQnpJnc5*E zN|B#Ap7dB8TcuW*JbkB{6-A&&`7WW`)RT}m=PA6~?9@x4CPcVJRzE0(DH0*i5`&Ec z%PNkrwUMTHn;W;Qt}d-j`H`sRL)uj1_RXSd1PMSlXeX=vS!YmUzK{k}EJNIFj?HRu zp(V U8P zl+Hgjz`LmX`yW6WYWG0uCHPxdc6m;~%hSRg@>c(f6sHY=wEgI;W&@$uhKqAXwIQ^y zx78@}chB>w)L?{tPk()(Xc=wGlferVD;%qN6_kO8X}d*5?Cn|J hw%1C)n*z4TWxno4hH@AEmi+ZmZ7T_Ud g=yg<;{DNw(-#>p}uX3 z$`!$-e#S~|wQnJ;%Y=_BYf`Ode0eI#sZ%}a3E2+(sC!2pX}r?#{mx%M&A!#QA0+0H zE|Srke2Nozv6-|Yp%RDrizF58ym6vPkZ^EN4}A?ORY Nx+%jY-$}?dJLhvNUY4kAfAJLI8+e%`itRLk6*h$Is zR;SASk;c~X 7b0t0@IVJOVc6G?A4=Na)?rU$pb1Y(q8-kuGg7A`#t-bYXqEiu1 zGpv)euhUlW5q`qHlbyhtSQww5RTRuGRTJxJ1`Wgon3qFcTs|`?eirFx&r{?vbBpFs zhlmvc7y?zzOK5#<4vg{$ECnXeA~5^$bvuiG3r6&ey$2=DepFxF(D#x^T4kjqt*Ttx zQjU P`dk@+e 8UKC8`v2V8n!02`<7=s7U^#M zYiwjxHGC=}COO*HwuqxhJ2?~NqGq7IsbAFJ%@(9z^g{)~Y}Z`RoN%;YU(L@?`icG8 zoiyc9aQ5$w>KY+?Ee0p?)a}#82&|_{%!ccu9WuKE4J20HW|c_zn5(=*}MW^3|K+JG^}RWHN#u_P$m; zRD;E4u6(n88Wx4@cIni~Ih;1Usi#`x`H@TthF4p$N{G*Sp-5E*rhJM8{!gwTwof){ z+x~I`g|n^Ib(dU1x%0lhcn$22j6p5xo5y_A`YuL6<%VUX6;dWpQJ7~)e<30-er{*$ zf&6cz_}vFlIRl7A*wlM! xiwf^7p8l1ju^YWF=U9iA zzMjR073Pmrsv~h~y`d92d}30Vb$jIXx&RX6#RI;F98EA}7@*Sc@0M!Llk2S==)RlA z%{6~!1UhLuyr5_hwN&*-#MxT)IfR^!^%pzo)Y7roGGUb2!}(v1)t%!N= s0K3jf4vwFt19gw4a2mVs}iyJ3H#&(&S{HL2fWRwrKH}2`|o! zc#)j;o|2k@oHO?qdV-?#-E@nd8(#pEm&HUx8mVaCvWkk2b9q)l-*~N< OyH_)NL>X)2m86kmdW?lri6i@>=-epQ*@})``yo6o ubuit5&r mkBt3nT5VgN#8PDpQzDNZgAY>&R;JfZ=(UmJ_YznnG= Qj>;Leo&@%)rJ`CthFZf0wB%Gu4lCr;Oytx+lI2Xq zS>GNeIQm}|ihkIcadL7<%xj&m%;x{q%vN5CL+^G=WZvJX<0C#e7u%v8pY{ct{V*@( zsFj_=ZNoM#{OOOXy7~`V6fi~7R`^5X NS%i;1oL-up*>=~hsrc`QOR1YwAYOU-?AU+}+`+9ex~~;T@Dxjj zBb8^Iz*1eKXyA;W&HrANun0ub2BK6~og1!R ReFBhZ &U#9b{Ro;T0f?9|50&4k5W4eN33bgEq!T2k z+HoOIkN#u>i{hrSEwn4>&R6QTBctWFAi-*ykYoxGJrKa{yXdtHA?rc+7l!#;74yHO z-1dkQ^m*gSzq1!Z2|kdPJP~5HRMAP@^&@n834y~&A{>Sze-)uLHkh;W5;$aH%e`Kg z<)bW&SxO2}(*qDPWqcuRuZap_&0EuzkpLrwyVgOHqvU9Ya>AWY7ExrmaUB!hF+%-P zYVAQ<#v=a!fxx434D)S%=2r$1dkx?{V-(!nQHq1~LmPg{TzYC;sWS9F^JKek!IQ ztvjs{Npu+x!wznsQ_(kadXTj41SraFHUpa?F9W-){0I0oy)YfN9hrvQFkXOdrd-RJ z{2Tq>65+pA_MSxGIcjS$BKYE5TXo3^qO@rtX^9$bOKTNKvm;qn#~G#AS1Kvk1 U~9PIL=_uF!>Jbxu`JNxZzg2%|>_&a$F* z&Sn@t-~sb=ZeKcdJoM)}zc4EPQ_GrN!V0x~P!uTs!5in|+UI!JO!2IK#2@btf+<+M zax
a&Pm b^~<`92-)Iz0}xk|4H3xML!cP0ZRw2 z?WQg&k0FBci^Hw6vB^4yVoUi=mq_=+L?KbSAMYPlEef;E{rLxwO^q#4gN-U j4 z&haa3FK+kgI`U`vzkd1u{IyUIAKx!pL}TI&Ug|o)E&|$>4VDBmZObuS5D0TF)TJwL z4(%UK Jx}gVtIl`)Z$Q@=Ah?fk-@tWT5aL#{{RRm7CV0ve9&$y{6#Q2^T?vv z&L9s(Vfwe}CiWzT5hLAx*%tBNtF4NZ+ZA|o|2-h`o;vg#6O6V-;x3 _fmnqK4G zH;BggZwLDLJY8HkFMK4QjTcPxR<7Xm@mJMApMFk`oMD1N=ADnqi+G}8>&wm#J5Jbs z_mJp;7lW9XSd$k_%R$3l`N=9a*6tZ>xU?fQ`yt-G3Ns)nDcq$?qrK}qK)MQnLER)_ zrYDZi<-~eGad7Mn{_gg6 (({R7n8mJk2BX2E+714A#st2bYSIe#AybUN#` z{POXIdJ93 zj)@6RY5`Ni5K;azW|y6@5t!Evms;1kG0x11;TQ*{MfjwqWem#V7E!-AzT#X8@uYhz zN`e}njhL4;=cQ|01y62ZF^+E}-lo)fUTls@QH4!X!Fc_3|5`4~vKM3n$r3}^Y1wc< zruZNxKw@LVG?_m>4>oS*1{OYt08y24OrR>A>d^D9uRIoIpd@l#@a}>kXaPz4HR&1P zLDxb%K-KLP07qgv;BxB52HVqnej)#poiu89WY_Hm+$_J=sW-XK!>CRF8~Z;d!T;oW zuvAaz?he=$<>mGDW@qyblPkY6+=@|l`^M)a9v JGW52R;f_W${NA`ABdkCV-qUz q9mKZAq;wD8u_EHCVN#fx+xpqjC?#xEILunZUACfH6U1i^ut+2#Hu`{ NEgnt*HiJcryw%cns9GHwjsZaWxLXtXsmaWnxPP5O7SlJa4C%JxQ+fqsn z4Mv>yw$H|A;W{s4l*`^<*pOA1yApS8U ma#9C(0aTI|90Zkxc> z7I4RS8B0W3neUWVhoUllR3>CK0s_l*;iwSB=uhF^`R|0&J%Y-$AnWuT1-0g#R)hL^ z=Q6a?Z$MPRaDhC)^%+RRi}FcwA}bmzK7UHU@TGlhz_}9(_dW5ift=Dq1x)1YD!2ln zInSg=B=r5l3c(JpURxzM$T=udXJf2X?h0x=i5c_1L2|cZqaB~_&He8;)3v}AF<+fq z$mQ-`(?!l5Yq{+|fQ|UQNs93V?Cbe~$pPz9@yXs??BC4R;``j&^8h1XH4NEwEvyC} zP(Dy@3-0t8R)Kj7fi?a+>#@=aYgpNRrWAv<`*alF5w%Wlj5+-OZ2Y49BH;+Td3b w^zB*m?1GhS`~(#OVSpbC5EAcq&KAv+rT4 zUb>qXHe7g0=YwB_z|47mReru(FwRHHT-jG}R$*ZUhvo?%zZpr^ DzTb8iur(bfj$Qu0+`5eW{_j{Smr-xts=@rp?i;$Ny|279JTu~G z^M&s3GGRAur5 Date: Thu, 17 Oct 2019 22:17:17 +0800 Subject: [PATCH 10/17] Update MySQL.md --- docs/database/MySQL.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/database/MySQL.md b/docs/database/MySQL.md index 0619c629..64dfad2f 100644 --- a/docs/database/MySQL.md +++ b/docs/database/MySQL.md @@ -286,6 +286,12 @@ InnoDB 存储引擎在 **分布式事务** 的情况下一般会用到 **SERIALI 详细内容可以参考: MySQL大表优化方案: [https://segmentfault.com/a/1190000006158186](https://segmentfault.com/a/1190000006158186) +### 解释一下什么是池化设计思想。什么是数据库连接池?为什么需要数据库连接池? + +池话设计应该不是一个新名词。我们常见的如java线程池、jdbc连接池、redis连接池等就是这类设计的代表实现。这种设计会初始预设资源,解决的问题就是抵消每次获取资源的消耗,如创建线程的开销,获取远程连接的开销等。就好比你去食堂打饭,打饭的大妈会先把饭盛好几份放那里,你来了就直接拿着饭盒加菜即可,不用再临时又盛饭又打菜,效率就高了。除了初始化资源,池化设计还包括如下这些特征:池子的初始值、池子的活跃值、池子的最大值等,这些特征可以直接映射到java线程池和数据库连接池的成员属性中。——这篇文章对[池化设计思想](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485679&idx=1&sn=57dbca8c9ad49e1f3968ecff04a4f735&chksm=cea24724f9d5ce3212292fac291234a760c99c0960b5430d714269efe33554730b5f71208582&token=1141994790&lang=zh_CN#rd)介绍的还不错,直接复制过来,避免重复造轮子了。 + +数据库连接本质就是一个 socket 的连接。数据库服务端还要维护一些缓存和用户权限信息之类的 所以占用了一些内存。我们可以把数据库连接池是看做是维护的数据库连接的缓存,以便将来需要对数据库的请求时可以重用这些连接。为每个用户打开和维护数据库连接,尤其是对动态数据库驱动的网站应用程序的请求,既昂贵又浪费资源。**在连接池中,创建连接后,将其放置在池中,并再次使用它,因此不必建立新的连接。如果使用了所有连接,则会建立一个新连接并将其添加到池中。**连接池还减少了用户必须等待建立与数据库的连接的时间。 + ### 分库分表之后,id 主键如何处理? 因为要是分成多个表之后,每个表都是从 1 开始累加,这样是不对的,我们需要一个全局唯一的 id 来支持。 From 342fdb5c267f77b3d4d2cba34b17be2a97e5f52e Mon Sep 17 00:00:00 2001 From: SnailClimb Date: Thu, 17 Oct 2019 23:22:58 +0800 Subject: [PATCH 11/17] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 02a7956b..13862a20 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,9 @@ Sponsor
-+
+推荐使用 https://snailclimb.top/JavaGuide/ 在线阅读(访问速度慢的话,请使用 https://snailclimb.gitee.io/javaguide ),在线阅读内容本仓库同步一致。这种方式阅读的优势在于:有侧边栏阅读体验更好,Gitee pages 的访问速度相对来说也比较快。 From 9961fd85a410576fa08ecd1b154b93a36953d5e5 Mon Sep 17 00:00:00 2001 From: SnailClimb+
Date: Thu, 17 Oct 2019 23:24:34 +0800 Subject: [PATCH 12/17] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 13862a20..7f59f970 100644 --- a/README.md +++ b/README.md @@ -22,9 +22,9 @@ Sponsor
-++
-
Date: Thu, 17 Oct 2019 23:49:27 +0800 Subject: [PATCH 13/17] =?UTF-8?q?Update=20Java=E5=9F=BA=E7=A1=80=E7=9F=A5?= =?UTF-8?q?=E8=AF=86.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/java/Java基础知识.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/java/Java基础知识.md b/docs/java/Java基础知识.md index 1dfe750c..08191f60 100644 --- a/docs/java/Java基础知识.md +++ b/docs/java/Java基础知识.md @@ -3,8 +3,6 @@ - [1. 面向对象和面向过程的区别](#1-面向对象和面向过程的区别) - - [面向过程](#面向过程) - - [面向对象](#面向对象) - [2. Java 语言有哪些特点?](#2-java-语言有哪些特点) - [3. 关于 JVM JDK 和 JRE 最详细通俗的解答](#3-关于-jvm-jdk-和-jre-最详细通俗的解答) - [JVM](#jvm) @@ -49,8 +47,9 @@ - [异常处理总结](#异常处理总结) - [33 Java序列化中如果有些字段不想进行序列化,怎么办?](#33-java序列化中如果有些字段不想进行序列化怎么办) - [34 获取用键盘输入常用的两种方法](#34-获取用键盘输入常用的两种方法) -- [35 Java 中 IO 流分为几种?BIO,NIO,AIO 有什么区别?](#35-java-中-io-流分为几种bionioaio-有什么区别) - - [java 中 IO 流分为几种?](#java-中-io-流分为几种) +- [35 Java 中 IO 流](#35-java-中-io-流) + - [Java 中 IO 流分为几种?](#java-中-io-流分为几种) + - [既然有了字节流,为什么还要有字符流?](#既然有了字节流为什么还要有字符流) - [BIO,NIO,AIO 有什么区别?](#bionioaio-有什么区别) - [36. 常见关键字总结:static,final,this,super](#36-常见关键字总结staticfinalthissuper) - [37. Collections 工具类和 Arrays 工具类常见方法总结](#37-collections-工具类和-arrays-工具类常见方法总结) @@ -478,9 +477,9 @@ BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); String s = input.readLine(); ``` -## 35 Java 中 IO 流分为几种?BIO,NIO,AIO 有什么区别? +## 35 Java 中 IO 流 -### java 中 IO 流分为几种? +### Java 中 IO 流分为几种? - 按照流的流向分,可以分为输入流和输出流; - 按照操作单元划分,可以划分为字节流和字符流; @@ -500,6 +499,12 @@ Java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很  +### 既然有了字节流,为什么还要有字符流? + +问题本质想问:**不管是文件读写还是网络发送接收,信息的最小存储单元都是字节,那为什么 I/O 流操作要分为字节流操作和字符流操作呢?** + +回答:字符流是由 Java 虚拟机将字节转换得到的,问题就出在这个过程还算是非常耗时,并且,如果我们不知道编码类型就很容易出现乱码问题。所以, I/O 流就干脆提供了一个直接操作字符的接口,方便我们平时对字符进行流操作。如果音频文件、图片等媒体文件用字节流比较好,如果涉及到字符的话使用字符流比较好。 + ### BIO,NIO,AIO 有什么区别? - **BIO (Blocking I/O):** 同步阻塞I/O模式,数据的读取写入必须阻塞在一个线程内等待其完成。在活动连接数不是特别高(小于单机1000)的情况下,这种模型是比较不错的,可以让每一个连接专注于自己的 I/O 并且编程模型简单,也不用过多考虑系统的过载、限流等问题。线程池本身就是一个天然的漏斗,可以缓冲一些系统处理不了的连接或请求。但是,当面对十万甚至百万级连接的时候,传统的 BIO 模型是无能为力的。因此,我们需要一种更高效的 I/O 处理模型来应对更高的并发量。 @@ -529,3 +534,4 @@ Java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很 **Java工程师必备学习资源:** 一些Java工程师常用学习资源公众号后台回复关键字 **“1”** 即可免费无套路获取。  + From 4cf015d890bcdd59fc3db1547cfda6f7feeedfdf Mon Sep 17 00:00:00 2001 From: Kou Shuang Date: Fri, 18 Oct 2019 07:47:25 +0800 Subject: [PATCH 14/17] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f59f970..6d85d41f 100644 --- a/README.md +++ b/README.md @@ -215,6 +215,7 @@ * **[【备战面试4】Github上开源的Java面试/学习相关的仓库推荐](docs/essential-content-for-interview/PreparingForInterview/JavaInterviewLibrary.md)** * **[【备战面试5】如果面试官问你“你有什么问题问我吗?”时,你该如何回答](docs/essential-content-for-interview/PreparingForInterview/如果面试官问你"你有什么问题问我吗?"时,你该如何回答.md)** * **[【备战面试6】美团面试常见问题总结(附详解答案)](docs/essential-content-for-interview/PreparingForInterview/美团面试常见问题总结.md)** +* **[【备战面试7】一些刁难的面试问题总结](https://xiaozhuanlan.com/topic/9056431872)** ### 常见面试题总结 From 0ffa5601ff772b8a23a1f74a3af093e1e28afe53 Mon Sep 17 00:00:00 2001 From: Kou Shuang Date: Fri, 18 Oct 2019 11:19:46 +0800 Subject: [PATCH 15/17] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d85d41f..23756eb7 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,9 @@ Sponsor
-
推荐使用 https://snailclimb.top/JavaGuide/ 在线阅读(访问速度慢的话,请使用 https://snailclimb.gitee.io/javaguide ),在线阅读内容本仓库同步一致。这种方式阅读的优势在于:有侧边栏阅读体验更好,Gitee pages 的访问速度相对来说也比较快。 From 651e037a9028af1d843b20fdce60bced0103d9ac Mon Sep 17 00:00:00 2001 From: zhuliangcai <1024955966@qq.com> Date: Sat, 19 Oct 2019 16:16:33 +0800 Subject: [PATCH 16/17] =?UTF-8?q?jvm=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jvm参数.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 jvm参数.md diff --git a/jvm参数.md b/jvm参数.md new file mode 100644 index 00000000..4529e858 --- /dev/null +++ b/jvm参数.md @@ -0,0 +1,13 @@ + +无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎。不管是工作还是面试中,JVM都是必考题。如果不懂JVM的话,薪酬会非常吃亏(近70%的面试者挂在JVM上了)。 + + +掌握了JVM机制,就等于学会了深层次解决问题的方法。对于Java开发者而言,只有熟悉底层虚拟机的运行机制,才能通过JVM日志深入到字节码的层次去分析排查问题,发现隐性的系统缺陷,进而提升系统性能。 + + +一些技术人员开发工具用得很熟练,触及JVM问题时却是模棱两可,甚至连内存模型和内存区域,HotSpot和JVM规范,都混淆不清。工作很长时间,在生产时还在用缺省参数来直接启动,以致系统运行时出现性能、稳定性等问题时束手无措,不知该如何追踪排查。久而久之,这对自己的职业成长是极为不利的。 + + +掌握JVM,是深入Java技术栈的必经之路。 + + From 031e172100c035e0b74a889d26aec05f46c56a73 Mon Sep 17 00:00:00 2001 From: SnailClimb+ +
+
Date: Mon, 21 Oct 2019 10:59:39 +0800 Subject: [PATCH 17/17] =?UTF-8?q?Delete=20jvm=E5=8F=82=E6=95=B0.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jvm参数.md | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 jvm参数.md diff --git a/jvm参数.md b/jvm参数.md deleted file mode 100644 index 4529e858..00000000 --- a/jvm参数.md +++ /dev/null @@ -1,13 +0,0 @@ - -无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎。不管是工作还是面试中,JVM都是必考题。如果不懂JVM的话,薪酬会非常吃亏(近70%的面试者挂在JVM上了)。 - - -掌握了JVM机制,就等于学会了深层次解决问题的方法。对于Java开发者而言,只有熟悉底层虚拟机的运行机制,才能通过JVM日志深入到字节码的层次去分析排查问题,发现隐性的系统缺陷,进而提升系统性能。 - - -一些技术人员开发工具用得很熟练,触及JVM问题时却是模棱两可,甚至连内存模型和内存区域,HotSpot和JVM规范,都混淆不清。工作很长时间,在生产时还在用缺省参数来直接启动,以致系统运行时出现性能、稳定性等问题时束手无措,不知该如何追踪排查。久而久之,这对自己的职业成长是极为不利的。 - - -掌握JVM,是深入Java技术栈的必经之路。 - -