提交 0208e4ee 编写于 作者: 冰 河's avatar 冰 河

Update master to output generated at 4475638

上级 30e40806
...@@ -29,14 +29,14 @@ ...@@ -29,14 +29,14 @@
<meta name="keywords" content="冰河,冰河技术, 编程语言,开发技术,分布式,微服务,高并发,高可用,高可扩展,高可维护,JVM技术,MySQL,分布式数据库,分布式事务,云原生,大数据,云计算,渗透技术,各种面试题,面试技巧"> <meta name="keywords" content="冰河,冰河技术, 编程语言,开发技术,分布式,微服务,高并发,高可用,高可扩展,高可维护,JVM技术,MySQL,分布式数据库,分布式事务,云原生,大数据,云计算,渗透技术,各种面试题,面试技巧">
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<link rel="preload" href="/assets/css/0.styles.06e10c60.css" as="style"><link rel="preload" href="/assets/css/styles.css?v=1666058408218" as="style"><link rel="preload" href="/assets/js/cg-styles.js?v=1666058408218" as="script"><link rel="preload" href="/assets/js/cg-app.js?v=1666058408218" as="script"><link rel="preload" href="/assets/js/cg-10.js?v=1666058408218" as="script"><link rel="preload" href="/assets/js/cg-5.js?v=1666058408218" as="script"><link rel="preload" href="/assets/js/cg-6.js?v=1666058408218" as="script"> <link rel="preload" href="/assets/css/0.styles.06e10c60.css" as="style"><link rel="preload" href="/assets/css/styles.css?v=1666068289072" as="style"><link rel="preload" href="/assets/js/cg-styles.js?v=1666068289072" as="script"><link rel="preload" href="/assets/js/cg-app.js?v=1666068289072" as="script"><link rel="preload" href="/assets/js/cg-10.js?v=1666068289072" as="script"><link rel="preload" href="/assets/js/cg-5.js?v=1666068289072" as="script"><link rel="preload" href="/assets/js/cg-6.js?v=1666068289072" as="script">
<link rel="stylesheet" href="/assets/css/0.styles.06e10c60.css"><link rel="stylesheet" href="/assets/css/styles.css?v=1666058408218"> <link rel="stylesheet" href="/assets/css/0.styles.06e10c60.css"><link rel="stylesheet" href="/assets/css/styles.css?v=1666068289072">
</head> </head>
<body> <body>
<div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>How did we get here?</blockquote> <a href="/" class="router-link-active"> <div id="app" data-server-rendered="true"><div class="theme-container"><div class="theme-default-content"><h1>404</h1> <blockquote>That's a Four-Oh-Four.</blockquote> <a href="/" class="router-link-active">
Take me home. Take me home.
</a></div></div><div class="global-ui"><div class="read-more-wrap" style="display:none;position:absolute;bottom:0px;z-index:9999;width:100%;margin-top:-100px;font-family:PingFangSC-Regular, sans-serif;"><div id="read-more-mask" style="position: relative; height: 200px; background: -webkit-gradient(linear, 0 0%, 0 100%, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));"></div> <a id="read-more-btn" target="_self" style="position: absolute; left: 50%; top: 70%; bottom: 30px; transform: translate(-50%, -50%); width: 160px; height: 36px; line-height: 36px; font-size: 15px; text-align: center; border: 1px solid rgb(222, 104, 109); color: rgb(222, 104, 109); background: rgb(255, 255, 255); cursor: pointer; border-radius: 6px;">阅读全文</a> <div id="btw-modal-wrap" style="display: none;"><div id="btw-mask" style="position: fixed; top: 0px; right: 0px; bottom: 0px; left: 0px; opacity: 0.7; z-index: 999; background: rgb(0, 0, 0);"></div> <div id="btw-modal" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 300px; text-align: center; font-size: 13px; background: rgb(255, 255, 255); border-radius: 10px; z-index: 9999; font-family: PingFangSC-Regular, sans-serif;"><span id="btw-modal-close-btn" style="position: absolute; top: 5px; right: 15px; line-height: 34px; font-size: 34px; cursor: pointer; opacity: 0.2; z-index: 9999; color: rgb(0, 0, 0); background: none; border: none; outline: none;">×</span> <p id="btw-modal-header" style="margin-top: 40px; line-height: 1.8; font-size: 13px;"> </a></div></div><div class="global-ui"><div class="read-more-wrap" style="display:none;position:absolute;bottom:0px;z-index:9999;width:100%;margin-top:-100px;font-family:PingFangSC-Regular, sans-serif;"><div id="read-more-mask" style="position: relative; height: 200px; background: -webkit-gradient(linear, 0 0%, 0 100%, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));"></div> <a id="read-more-btn" target="_self" style="position: absolute; left: 50%; top: 70%; bottom: 30px; transform: translate(-50%, -50%); width: 160px; height: 36px; line-height: 36px; font-size: 15px; text-align: center; border: 1px solid rgb(222, 104, 109); color: rgb(222, 104, 109); background: rgb(255, 255, 255); cursor: pointer; border-radius: 6px;">阅读全文</a> <div id="btw-modal-wrap" style="display: none;"><div id="btw-mask" style="position: fixed; top: 0px; right: 0px; bottom: 0px; left: 0px; opacity: 0.7; z-index: 999; background: rgb(0, 0, 0);"></div> <div id="btw-modal" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 300px; text-align: center; font-size: 13px; background: rgb(255, 255, 255); border-radius: 10px; z-index: 9999; font-family: PingFangSC-Regular, sans-serif;"><span id="btw-modal-close-btn" style="position: absolute; top: 5px; right: 15px; line-height: 34px; font-size: 34px; cursor: pointer; opacity: 0.2; z-index: 9999; color: rgb(0, 0, 0); background: none; border: none; outline: none;">×</span> <p id="btw-modal-header" style="margin-top: 40px; line-height: 1.8; font-size: 13px;">
扫码或搜索:<span style="color: #E9405A; font-weight: bold;">冰河技术</span> <br>发送:<span id="fustack-token" class="token" style="color: #e9415a; font-weight: bold; font-size: 17px; margin-bottom: 45px;">290992</span> <br>即可<span style="color: #e9415a; font-weight: bold;">立即永久</span>解锁本站全部文章</p> <img src="/images/personal/qrcode.png" style="width: 180px; margin-top: 10px; margin-bottom: 30px; border: 8px solid rgb(230, 230, 230);"></div></div></div><div class="pay-read-more-wrap" style="display:none;position:absolute;bottom:0px;z-index:9999;width:100%;margin-top:-100px;font-family:PingFangSC-Regular, sans-serif;"><div id="pay-read-more-mask" style="position: relative; height: 200px; background: -webkit-gradient(linear, 0 0%, 0 100%, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));"></div> <a id="pay-read-more-btn" target="_blank" style="position: absolute; left: 50%; top: 70%; bottom: 30px; transform: translate(-50%, -50%); width: 160px; height: 36px; line-height: 36px; font-size: 15px; text-align: center; border: 1px solid rgb(222, 104, 109); color: rgb(222, 104, 109); background: rgb(255, 255, 255); cursor: pointer; border-radius: 6px;">付费阅读</a></div></div></div> 扫码或搜索:<span style="color: #E9405A; font-weight: bold;">冰河技术</span> <br>发送:<span id="fustack-token" class="token" style="color: #e9415a; font-weight: bold; font-size: 17px; margin-bottom: 45px;">290992</span> <br>即可<span style="color: #e9415a; font-weight: bold;">立即永久</span>解锁本站全部文章</p> <img src="/images/personal/qrcode.png" style="width: 180px; margin-top: 10px; margin-bottom: 30px; border: 8px solid rgb(230, 230, 230);"></div></div></div><div class="pay-read-more-wrap" style="display:none;position:absolute;bottom:0px;z-index:9999;width:100%;margin-top:-100px;font-family:PingFangSC-Regular, sans-serif;"><div id="pay-read-more-mask" style="position: relative; height: 200px; background: -webkit-gradient(linear, 0 0%, 0 100%, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));"></div> <a id="pay-read-more-btn" target="_blank" style="position: absolute; left: 50%; top: 70%; bottom: 30px; transform: translate(-50%, -50%); width: 160px; height: 36px; line-height: 36px; font-size: 15px; text-align: center; border: 1px solid rgb(222, 104, 109); color: rgb(222, 104, 109); background: rgb(255, 255, 255); cursor: pointer; border-radius: 6px;">付费阅读</a></div></div></div>
<script src="/assets/js/cg-styles.js?v=1666058408218" defer></script><script src="/assets/js/cg-10.js?v=1666058408218" defer></script><script src="/assets/js/cg-5.js?v=1666058408218" defer></script><script src="/assets/js/cg-6.js?v=1666058408218" defer></script><script src="/assets/js/cg-app.js?v=1666058408218" defer></script> <script src="/assets/js/cg-styles.js?v=1666068289072" defer></script><script src="/assets/js/cg-10.js?v=1666068289072" defer></script><script src="/assets/js/cg-5.js?v=1666068289072" defer></script><script src="/assets/js/cg-6.js?v=1666068289072" defer></script><script src="/assets/js/cg-app.js?v=1666068289072" defer></script>
</body> </body>
</html> </html>
...@@ -182,6 +182,7 @@ ...@@ -182,6 +182,7 @@
* [《RPC手撸专栏》第16章:服务消费者回调方法的实现](https://articles.zsxq.com/id_7nlqbj3z8rgw.html) * [《RPC手撸专栏》第16章:服务消费者回调方法的实现](https://articles.zsxq.com/id_7nlqbj3z8rgw.html)
* [《RPC手撸专栏》第17章:服务消费者实现动态代理功能屏蔽构建请求协议对象的细节](https://articles.zsxq.com/id_bv0jkh6fhr1w.html) * [《RPC手撸专栏》第17章:服务消费者实现动态代理功能屏蔽构建请求协议对象的细节](https://articles.zsxq.com/id_bv0jkh6fhr1w.html)
* [《RPC手撸专栏》第18章:服务消费者整合动态代理实现直接调用接口返回结果数据](https://articles.zsxq.com/id_r6u3xt22wf67.html) * [《RPC手撸专栏》第18章:服务消费者整合动态代理实现直接调用接口返回结果数据](https://articles.zsxq.com/id_r6u3xt22wf67.html)
* [《RPC手撸专栏》第19章:服务消费者动态代理实现异步调用](https://articles.zsxq.com/id_ciz8m2zcl6nt.html)
### 精通高并发系列 ### 精通高并发系列
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
(window.webpackJsonp=window.webpackJsonp||[]).push([[130],{420:function(t,v,_){"use strict";_.r(v);var s=_(7),a=Object(s.a)({},(function(){var t=this,v=t._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h1",{attrs:{id:"一张图彻底理解spring如何解决循环依赖"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#一张图彻底理解spring如何解决循环依赖"}},[t._v("#")]),t._v(" 一张图彻底理解Spring如何解决循环依赖")]),t._v(" "),v("h1",{attrs:{id:"写在前面"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#写在前面"}},[t._v("#")]),t._v(" 写在前面")]),t._v(" "),v("blockquote",[v("p",[t._v("最近,在看Spring源码,看到Spring解决循环依赖问题的源码时,不得不说,源码写的太烂了。像Spring这种顶级的项目源码,竟然存在着这种xxx的代码。看了几次都有点头大,相信很多小伙伴都会跟我有一样的感受。怎么办呢?还是踏下心来,慢慢啃源码。最终,我将Spring如何解决循环依赖的源码总结成下面的流程图,这样,根据流程图读源码就清晰多了!!")])]),t._v(" "),v("h2",{attrs:{id:"图解spring循环依赖"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#图解spring循环依赖"}},[t._v("#")]),t._v(" 图解Spring循环依赖")]),t._v(" "),v("p",[t._v("Spring解决循环依赖问题的源码写的确实挺烂的,就是一顿 if + else 的嵌套操作。暂时还是不给小伙伴们上源码了。我将Spring解决循环依赖问题的源码总结成下面的流程图,看起来就清晰多了,结合流程图看Spring源码,事半功倍。")]),t._v(" "),v("p",[t._v("不多说了,上图:")]),t._v(" "),v("p",[v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20201127004404830.jpg",loading:"lazy"}})]),t._v(" "),v("p",[t._v("说句实在话,看Spring源码,总结,画图。输出上面这张图就花了我将近3个小时。小伙们结合这张图看Spring源码吧,相信一定不会让你失望。如果对你有帮助的话,请点个赞、给个在看和转发。")]),t._v(" "),v("p",[v("strong",[t._v("好了,今天就到这儿吧,我是冰河,我们下期见~~")])]),t._v(" "),v("h2",{attrs:{id:"冰河原创pdf"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#冰河原创pdf"}},[t._v("#")]),t._v(" 冰河原创PDF")]),t._v(" "),v("p",[t._v("关注 "),v("strong",[t._v("冰河技术")]),t._v(" 微信公众号:")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("并发编程")]),t._v("” 领取《深入理解高并发编程(第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("并发源码")]),t._v("” 领取《并发编程核心知识(源码分析篇 第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 ”"),v("strong",[t._v("限流")]),t._v("“ 领取《亿级流量下的分布式解决方案》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("设计模式")]),t._v("” 领取《深入浅出Java23种设计模式》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("Java8新特性")]),t._v("” 领取 《Java8新特性教程》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("分布式存储")]),t._v("” 领取《跟冰河学习分布式存储技术》 PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("Nginx")]),t._v("” 领取《跟冰河学习Nginx技术》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("互联网工程")]),t._v("” 领取《跟冰河学习互联网工程技术》PDF文档。")]),t._v(" "),v("h2",{attrs:{id:"重磅福利"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#重磅福利"}},[t._v("#")]),t._v(" 重磅福利")]),t._v(" "),v("p",[t._v("微信搜一搜【冰河技术】微信公众号,关注这个有深度的程序员,每天阅读超硬核技术干货,公众号内回复【PDF】有我准备的一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套简历模板(不断更新中),希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!")]),t._v(" "),v("p",[t._v("另外,我开源的各个PDF,后续我都会持续更新和维护,感谢大家长期以来对冰河的支持!!")]),t._v(" "),v("h2",{attrs:{id:"写在最后"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#写在最后"}},[t._v("#")]),t._v(" 写在最后")]),t._v(" "),v("blockquote",[v("p",[t._v("如果你觉得冰河写的还不错,请微信搜索并关注「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号文章,吊打面试官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!")])]),t._v(" "),v("p",[v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20200906013715889.png",loading:"lazy"}})])])}),[],!1,null,null,null);v.default=a.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[130],{421:function(t,v,_){"use strict";_.r(v);var s=_(7),a=Object(s.a)({},(function(){var t=this,v=t._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h1",{attrs:{id:"一张图彻底理解spring如何解决循环依赖"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#一张图彻底理解spring如何解决循环依赖"}},[t._v("#")]),t._v(" 一张图彻底理解Spring如何解决循环依赖")]),t._v(" "),v("h1",{attrs:{id:"写在前面"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#写在前面"}},[t._v("#")]),t._v(" 写在前面")]),t._v(" "),v("blockquote",[v("p",[t._v("最近,在看Spring源码,看到Spring解决循环依赖问题的源码时,不得不说,源码写的太烂了。像Spring这种顶级的项目源码,竟然存在着这种xxx的代码。看了几次都有点头大,相信很多小伙伴都会跟我有一样的感受。怎么办呢?还是踏下心来,慢慢啃源码。最终,我将Spring如何解决循环依赖的源码总结成下面的流程图,这样,根据流程图读源码就清晰多了!!")])]),t._v(" "),v("h2",{attrs:{id:"图解spring循环依赖"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#图解spring循环依赖"}},[t._v("#")]),t._v(" 图解Spring循环依赖")]),t._v(" "),v("p",[t._v("Spring解决循环依赖问题的源码写的确实挺烂的,就是一顿 if + else 的嵌套操作。暂时还是不给小伙伴们上源码了。我将Spring解决循环依赖问题的源码总结成下面的流程图,看起来就清晰多了,结合流程图看Spring源码,事半功倍。")]),t._v(" "),v("p",[t._v("不多说了,上图:")]),t._v(" "),v("p",[v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20201127004404830.jpg",loading:"lazy"}})]),t._v(" "),v("p",[t._v("说句实在话,看Spring源码,总结,画图。输出上面这张图就花了我将近3个小时。小伙们结合这张图看Spring源码吧,相信一定不会让你失望。如果对你有帮助的话,请点个赞、给个在看和转发。")]),t._v(" "),v("p",[v("strong",[t._v("好了,今天就到这儿吧,我是冰河,我们下期见~~")])]),t._v(" "),v("h2",{attrs:{id:"冰河原创pdf"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#冰河原创pdf"}},[t._v("#")]),t._v(" 冰河原创PDF")]),t._v(" "),v("p",[t._v("关注 "),v("strong",[t._v("冰河技术")]),t._v(" 微信公众号:")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("并发编程")]),t._v("” 领取《深入理解高并发编程(第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("并发源码")]),t._v("” 领取《并发编程核心知识(源码分析篇 第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 ”"),v("strong",[t._v("限流")]),t._v("“ 领取《亿级流量下的分布式解决方案》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("设计模式")]),t._v("” 领取《深入浅出Java23种设计模式》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("Java8新特性")]),t._v("” 领取 《Java8新特性教程》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("分布式存储")]),t._v("” 领取《跟冰河学习分布式存储技术》 PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("Nginx")]),t._v("” 领取《跟冰河学习Nginx技术》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("互联网工程")]),t._v("” 领取《跟冰河学习互联网工程技术》PDF文档。")]),t._v(" "),v("h2",{attrs:{id:"重磅福利"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#重磅福利"}},[t._v("#")]),t._v(" 重磅福利")]),t._v(" "),v("p",[t._v("微信搜一搜【冰河技术】微信公众号,关注这个有深度的程序员,每天阅读超硬核技术干货,公众号内回复【PDF】有我准备的一线大厂面试资料和我原创的超硬核PDF技术文档,以及我为大家精心准备的多套简历模板(不断更新中),希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!")]),t._v(" "),v("p",[t._v("另外,我开源的各个PDF,后续我都会持续更新和维护,感谢大家长期以来对冰河的支持!!")]),t._v(" "),v("h2",{attrs:{id:"写在最后"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#写在最后"}},[t._v("#")]),t._v(" 写在最后")]),t._v(" "),v("blockquote",[v("p",[t._v("如果你觉得冰河写的还不错,请微信搜索并关注「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号文章,吊打面试官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!")])]),t._v(" "),v("p",[v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20200906013715889.png",loading:"lazy"}})])])}),[],!1,null,null,null);v.default=a.exports}}]);
\ No newline at end of file \ No newline at end of file
此差异已折叠。
此差异已折叠。
(window.webpackJsonp=window.webpackJsonp||[]).push([[133],{423:function(t,v,_){"use strict";_.r(v);var s=_(7),a=Object(s.a)({},(function(){var t=this,v=t._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h1",{attrs:{id:"一张图带你窥探「spring注解系列」到底要更新些啥"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#一张图带你窥探「spring注解系列」到底要更新些啥"}},[t._v("#")]),t._v(" 一张图带你窥探「Spring注解系列」到底要更新些啥?")]),t._v(" "),v("p",[v("strong",[t._v("大家好,我是冰河~~")])]),t._v(" "),v("p",[t._v("说实话,「Spring注解系列」这个专题的内容是去年开始更新的,期间,基本上已经更新完IOC容器相关的内容了。在即将更新AOP相关的内容时,由于种种原因吧,也有很多小伙伴在微信上催更其他技术文章,导致「Spring注解系列」专题文章停更了。最近很多小伙伴催更「Spring注解系列」专题,那我接下来就将「Spring注解系列」专题的文章更新完吧。")]),t._v(" "),v("p",[t._v("在「Spring注解系列」专题的规划中,总共分为五大部分,分别是:IOC容器、AOP切面、声明式事务、扩展原理和WEB相关。大部分内容以实战为主,期间会适当的讲解Spring原理和源码相关的知识。但是,在扩展原理中,就主要写Spring的底层原理和源码知识了。")]),t._v(" "),v("p",[t._v("我把「Spring注解系列」专题的内容梳理成了下面的脑图,小伙伴们自行查看吧。\n"),v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20210309202443210.png",loading:"lazy"}})]),t._v(" "),v("p",[t._v("后面,我会继续按照这张图的结构更新「Spring注解系列」专题。")]),t._v(" "),v("p",[v("strong",[t._v("好了,今天就到这儿吧,我是冰河,大家有啥问题可以在下方留言,也可以加我微信:sun_shine_lyz,我拉你进群,一起交流技术,一起进阶,一起牛逼~~")])]),t._v(" "),v("p",[v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20210102235308513.jpg",loading:"lazy"}})]),t._v(" "),v("h2",{attrs:{id:"冰河原创pdf"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#冰河原创pdf"}},[t._v("#")]),t._v(" 冰河原创PDF")]),t._v(" "),v("p",[t._v("关注 "),v("strong",[t._v("冰河技术")]),t._v(" 微信公众号:")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("并发编程")]),t._v("” 领取《深入理解高并发编程(第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("并发源码")]),t._v("” 领取《并发编程核心知识(源码分析篇 第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("我要进大厂")]),t._v("” 领取《我要进大厂系列之面试圣经(第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 ”"),v("strong",[t._v("限流")]),t._v("“ 领取《亿级流量下的分布式解决方案》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("设计模式")]),t._v("” 领取《深入浅出Java23种设计模式》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("Java8新特性")]),t._v("” 领取 《Java8新特性教程》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("分布式存储")]),t._v("” 领取《跟冰河学习分布式存储技术》 PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("Nginx")]),t._v("” 领取《跟冰河学习Nginx技术》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("互联网工程")]),t._v("” 领取《跟冰河学习互联网工程技术》PDF文档。")]),t._v(" "),v("h2",{attrs:{id:"写在最后"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#写在最后"}},[t._v("#")]),t._v(" 写在最后")]),t._v(" "),v("p",[t._v("如果你觉得冰河写的还不错,请微信搜索并关注「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号文章,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!")]),t._v(" "),v("p",[v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20200906013715889.png",loading:"lazy"}})])])}),[],!1,null,null,null);v.default=a.exports}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[133],{424:function(t,v,_){"use strict";_.r(v);var s=_(7),a=Object(s.a)({},(function(){var t=this,v=t._self._c;return v("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[v("h1",{attrs:{id:"一张图带你窥探「spring注解系列」到底要更新些啥"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#一张图带你窥探「spring注解系列」到底要更新些啥"}},[t._v("#")]),t._v(" 一张图带你窥探「Spring注解系列」到底要更新些啥?")]),t._v(" "),v("p",[v("strong",[t._v("大家好,我是冰河~~")])]),t._v(" "),v("p",[t._v("说实话,「Spring注解系列」这个专题的内容是去年开始更新的,期间,基本上已经更新完IOC容器相关的内容了。在即将更新AOP相关的内容时,由于种种原因吧,也有很多小伙伴在微信上催更其他技术文章,导致「Spring注解系列」专题文章停更了。最近很多小伙伴催更「Spring注解系列」专题,那我接下来就将「Spring注解系列」专题的文章更新完吧。")]),t._v(" "),v("p",[t._v("在「Spring注解系列」专题的规划中,总共分为五大部分,分别是:IOC容器、AOP切面、声明式事务、扩展原理和WEB相关。大部分内容以实战为主,期间会适当的讲解Spring原理和源码相关的知识。但是,在扩展原理中,就主要写Spring的底层原理和源码知识了。")]),t._v(" "),v("p",[t._v("我把「Spring注解系列」专题的内容梳理成了下面的脑图,小伙伴们自行查看吧。\n"),v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20210309202443210.png",loading:"lazy"}})]),t._v(" "),v("p",[t._v("后面,我会继续按照这张图的结构更新「Spring注解系列」专题。")]),t._v(" "),v("p",[v("strong",[t._v("好了,今天就到这儿吧,我是冰河,大家有啥问题可以在下方留言,也可以加我微信:sun_shine_lyz,我拉你进群,一起交流技术,一起进阶,一起牛逼~~")])]),t._v(" "),v("p",[v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20210102235308513.jpg",loading:"lazy"}})]),t._v(" "),v("h2",{attrs:{id:"冰河原创pdf"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#冰河原创pdf"}},[t._v("#")]),t._v(" 冰河原创PDF")]),t._v(" "),v("p",[t._v("关注 "),v("strong",[t._v("冰河技术")]),t._v(" 微信公众号:")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("并发编程")]),t._v("” 领取《深入理解高并发编程(第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("并发源码")]),t._v("” 领取《并发编程核心知识(源码分析篇 第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("我要进大厂")]),t._v("” 领取《我要进大厂系列之面试圣经(第1版)》PDF文档。")]),t._v(" "),v("p",[t._v("回复 ”"),v("strong",[t._v("限流")]),t._v("“ 领取《亿级流量下的分布式解决方案》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("设计模式")]),t._v("” 领取《深入浅出Java23种设计模式》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("Java8新特性")]),t._v("” 领取 《Java8新特性教程》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("分布式存储")]),t._v("” 领取《跟冰河学习分布式存储技术》 PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("Nginx")]),t._v("” 领取《跟冰河学习Nginx技术》PDF文档。")]),t._v(" "),v("p",[t._v("回复 “"),v("strong",[t._v("互联网工程")]),t._v("” 领取《跟冰河学习互联网工程技术》PDF文档。")]),t._v(" "),v("h2",{attrs:{id:"写在最后"}},[v("a",{staticClass:"header-anchor",attrs:{href:"#写在最后"}},[t._v("#")]),t._v(" 写在最后")]),t._v(" "),v("p",[t._v("如果你觉得冰河写的还不错,请微信搜索并关注「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号文章,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 "),v("strong",[t._v("冰河技术")]),t._v(" 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!")]),t._v(" "),v("p",[v("img",{staticClass:"lazy",attrs:{alt:"","data-src":"https://img-blog.csdnimg.cn/20200906013715889.png",loading:"lazy"}})])])}),[],!1,null,null,null);v.default=a.exports}}]);
\ No newline at end of file \ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册