<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Crazer_cy的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Crazer_cy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Crazer_cy]]></copyright><item><title><![CDATA[【spring源码】@Import在SpringBoot自动装配技术中的应用]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/116916471</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/116916471</guid><author>Crazer_cy</author><pubDate>Mon, 17 May 2021 09:53:40 +0800</pubDate><description><![CDATA[上一篇文章写了spring中的工厂后置处理器（ConfigurationClassPostProcessor）所做的事情：
【Spring源码】工厂后置处理器之ConfigurationClassPostProcessor
其中说到了@Import注解，它可以引入三种类，第一种是普通类，第二种是实现了ImportSelector接口的类，第三种是实现了ImportBeanDefinitionRegistrar接口的类。我准备写2篇文章来分别说一下，引入普通类比较简单，就糅合在本文中了；
也说到了这个注解也.]]></description><category></category></item><item><title><![CDATA[【Spring源码系列】工厂后置处理器之ConfigurationClassPostProcessor]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/116666942</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/116666942</guid><author>Crazer_cy</author><pubDate>Tue, 11 May 2021 19:39:27 +0800</pubDate><description><![CDATA[上一篇文章对spring的工厂后置处理器做了简单的介绍，对工厂后置处理器还不了解的可以看看噢，传送门：
聊聊spring中的工厂后置处理器
今天就聊聊spring到底是如何使用工厂后置处理器的。

1.spring是怎么执行到ConfigurationClassPostProcessor的？
首先spring会在ApplicationContext的构造方法里去往beanDefinitionMap放几个spring内置的工厂后置处理器，其中最重要的就是今天要聊的ConfigurationClassPost.]]></description><category></category></item><item><title><![CDATA[聊聊spring中的工厂后置处理器]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/116456977</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/116456977</guid><author>Crazer_cy</author><pubDate>Thu, 06 May 2021 16:33:34 +0800</pubDate><description><![CDATA[昂，有好久没有写文章了，不知从何写起…想起之前学习过的spring源码都快忘了，后续就写一写spring源码的文章吧。今天从工厂后置处理器开头，后续的文章会引出spring是如何利用工厂后置处理器去扫描bean的。
其实我一直都喜欢读一些简短精悍的文章，因为太长了看着太累，然后就没啥兴趣了…不知大家是不是也这样呢？所以我决定写点简短没有精悍的的文章~
对spring源码有兴趣的可以关注一下。

1.BeanFactoryPostProcessor
这个是spring中工厂后置器的顶级接口，里面只提供了一个.]]></description><category></category></item><item><title><![CDATA[《算法》系列—动态规划，你学废了吗？]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/112763511</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/112763511</guid><author>Crazer_cy</author><pubDate>Mon, 18 Jan 2021 10:19:35 +0800</pubDate><description><![CDATA[1.前言
今天聊一聊动态规划的问题，动态规划问题的一般形式就是求最值。在这类问题中，可能会有多个解，但是我们希望找到最优的解。
动态规划算法与前面的分治算法类似，基本思想也是将求解的问题分解为子问题求解。与分治算法不同的是，适合动态规划算法来求解的问题，分解得到的子问题太多，有的子问题还会被重复计算很多次。如果把计算过的子问题的结果保存，就能够避免大量重复的计算，这就是动态规划算法的基本思想。
解决动态规划问题的三步骤一般如下：
a.找子问题；
b.定义状态；
c.列状态（DP）方程；
本文将解决两个动态规]]></description><category></category></item><item><title><![CDATA[《算法》系列-深度、广度优先搜索]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/112095331</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/112095331</guid><author>Crazer_cy</author><pubDate>Fri, 08 Jan 2021 11:38:42 +0800</pubDate><description><![CDATA[1.广度优先搜索（BFS）
定义：又叫做层次遍历，从上往下对每一层，从左往右（也可以从右往左）访问节点，访问完一层就进入下一层，直至没有节点为止。
用图来直观的看一下：

先来说一下解题思路：
广度优先遍历是一层一层的往下去遍历，我们可以用一个队列（先进先出）来存储每一层的节点，在遍历每一个节点时，取它下一层的节点，放到队列的末尾，遍历完一层时，下一层的节点也放到了队列中。我们在放入节点时，记录下一层的节点数量，就可以在队列中区分出每一层的节点了，这样就完成了广度优先遍历。
下面来看一下广度优先遍历的代码模]]></description><category></category></item><item><title><![CDATA[《算法》系列—大白话聊分治、回溯，手撕八皇后]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/111982553</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/111982553</guid><author>Crazer_cy</author><pubDate>Wed, 30 Dec 2020 14:06:09 +0800</pubDate><description><![CDATA[1.分治
分治就是分而治之，即把一个问题分解成很多个子问题，且这些问题与原问题结构相似，然后递归解决子问题，最后合并子问题的结果，得到原来问题的结果。
分治解题三个步骤：
分解：将问题分解成与原问题结构相似的子问题
解决：递归求解各个子问题，当子问题足够小，直接返回结果（问题分解到足够小，分解终止条件）
合并：将子问题的结果合并，得到原问题的结果

分治算法也是一种递归，之前有写到过递归的模板，这里也贴一下分治算法的模板。

接下来看个问题，深入了解一下分治算法，并套用一下模板。

首先按照分治解题的三个步]]></description><category></category></item><item><title><![CDATA[《算法》系列—递归]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/111709202</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/111709202</guid><author>Crazer_cy</author><pubDate>Fri, 25 Dec 2020 21:35:05 +0800</pubDate><description><![CDATA[引言

学妹问我递归是什么？应该怎么写？


递归就是在运行过程中调用自己。
构成递归需具备的条件：
1.子问题须与原始问题为同样的事，且更为简单；
2.不能无限制地调用本身，须有个出口，化简为非递归状况处理。

当我们遇到一个递归问题的时候，不要人肉递归！不要人肉递归！不要人肉递归！

方法
1.找最近的重复子问题；

学妹：什么是重复的子问题呢？
我：就是找到解决问题的过程中的【重复的事件】，这个【重复的事件】可以理解为我们的递归函数，虽然递归函数的处理逻辑是一样的，但是所用到的参数的值不一样（参数的值]]></description><category></category></item><item><title><![CDATA[Java的学习路线和历程]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/111561646</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/111561646</guid><author>Crazer_cy</author><pubDate>Thu, 24 Dec 2020 09:19:13 +0800</pubDate><description><![CDATA[Java的学习路线和历程

前言


不知道各位大大在Java这条路上走了多久了，我17年毕业的嘛，毕业了就干这一行，也一直做到了现在。我本专业是微电子专业的，怎么就走上了Java这条路呢？说来话长，哈哈哈哈... 做技术嘛，枯燥且有趣。也不知道能在这条路上走多远，路漫漫其修远兮，不谈上下而求索，只要做得开心就好。

这是我写得第一篇文章，写得些许潦草，各位客官多多包涵。主要是想重头开始整理一下，包括了Java后端的学习路线，也想顺着这条路线写后续的文章，记录一下自己的所学所得。这篇文章也涵盖了大量的面试问]]></description><category></category></item><item><title><![CDATA[python简单爬虫简介（爬取csdn图文课程标题和作者）]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/89380015</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/89380015</guid><author>Crazer_cy</author><pubDate>Thu, 18 Apr 2019 15:51:17 +0800</pubDate><description><![CDATA[1.正则表达式简介：

a.元字符：

. 匹配任意字符（不包括换行符）
	^ 匹配开始位置，多行模式下匹配每一行的开始
	$ 匹配结束位置，多行模式下匹配每一行的结束
	* 匹配前一个元字符0到多次
	+ 匹配前一个元字符1到多次
	? 匹配前一个元字符0到1次
	{m,n} 匹配前一个元字符m到n次
	\d 匹配一个数字，相当与[0-9]
	\D 匹配一个非数字
	\s 匹配任意空白字符
	\...]]></description><category></category></item><item><title><![CDATA[Apollo简介]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/88707740</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/88707740</guid><author>Crazer_cy</author><pubDate>Thu, 21 Mar 2019 10:06:47 +0800</pubDate><description><![CDATA[Apollo

原理：





上图简要描述了Apollo客户端的实现原理：

客户端和服务端保持了一个长连接，从而能第一时间获得配置更新的推送。（通过Http Long Polling实现）
	客户端还会定时从Apollo配置中心服务端拉取应用的最新配置。

	这是一个fallback机制，为了防止推送机制失效导致配置不更新
		客户端定时拉取会上报本地版本，所以一般情况下，对于定时拉取的操作...]]></description><category></category></item><item><title><![CDATA[数据结构与算法（C、C++、Java）]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/83624512</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/83624512</guid><author>Crazer_cy</author><pubDate>Thu, 01 Nov 2018 17:55:27 +0800</pubDate><description><![CDATA[转载地址：http://www.cnblogs.com/skywang12345/p/3603935.html

 

 

 

最近抽空整理了&quot;数据结构和算法&quot;的相关文章。在整理过程中，对于每种数据结构和算法分别给出&quot;C&quot;、&quot;C++&quot;和&quot;Java&quot;这三种语言的实现；实现语言虽不同，但原理如出一辙。因此，读者在了解和学习的过程中，择其一即可！

下面是整理数据数据和算法的目录表，对于每一种按照C...]]></description><category></category></item><item><title><![CDATA[数据结构与算法（Java）]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/83624250</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/83624250</guid><author>Crazer_cy</author><pubDate>Thu, 01 Nov 2018 17:41:56 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/column/details/datastructureinjava.html 
目录 （1）数据结构与算法概念解析 （2）数据结构之数组 （3）数据结构之栈 （4）数据结构之队列 （5）数据结构之链表 （6）数据结构之二叉树 （7）数据结构之霍夫曼树 （8）数据结构之红黑树（一）——基础分析 （9）数据结构之红黑树（二）——插入操作 （10）数据结...]]></description><category></category></item><item><title><![CDATA[计算机网络资料]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/82804915</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/82804915</guid><author>Crazer_cy</author><pubDate>Fri, 21 Sep 2018 17:34:21 +0800</pubDate><description><![CDATA[码分复用解码与编码（小白强推）

http://read.pudn.com/downloads64/doc/comm/223842/CDMA.pdf

计算机网络面试考点整理

https://hit-alibaba.github.io/interview/basic/network/

计算机网络gitbook

https://book.gitlore.com/java/JavaAndroid...]]></description><category></category></item><item><title><![CDATA[MongoDB简介和基本概念]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/82769160</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/82769160</guid><author>Crazer_cy</author><pubDate>Wed, 19 Sep 2018 11:06:51 +0800</pubDate><description><![CDATA[NoSQL简介

　　NoSQL(Not Only SQL )，意即“不仅仅是SQL” ,指的是非关系型的数据库 。是一项全新的数据库革命性运动，早期就有人提出，发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储，相对于铺天盖地的关系型数据库运用，这一概念无疑是一种全新的思维的注入。 
　　关系型数据库中的表都是存储一些结构化的数据，每条记录的字段的组成都一样，即使不是每...]]></description><category></category></item><item><title><![CDATA[在Mac上安装MongoDB]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/82768918</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/82768918</guid><author>Crazer_cy</author><pubDate>Wed, 19 Sep 2018 10:55:36 +0800</pubDate><description><![CDATA[1.访问MongoDB官方下载地址 http://www.mongodb.org/downloads



 

2.点击“DOWNLOAD(tgz)”按钮：



 

3.将下载的文件压缩包解压后剪切到你的Mac中某个位置：



4.配置环境变量，打开终端，输入“open -e .bash_profile”：



5.定义MONGODB_HOME变量，这个值就是你刚才解压文件夹的存放地址，...]]></description><category></category></item><item><title><![CDATA[成为java高级程序员需要掌握哪些]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/80726593</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/80726593</guid><author>Crazer_cy</author><pubDate>Mon, 18 Jun 2018 21:12:48 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/zhibuguonicuo/article/details/60345715section 11.Core Java，就是Java基础、JDK的类库，很多童鞋都会说，JDK我懂，但是懂还不足够，知其然还要知其所以然，JDK的源代码写的非常好，要经常查看，对使用频繁的类，比如String，集合类（List，Map，Set）等数据结构要知道它们的实现，...]]></description><category></category></item><item><title><![CDATA[使用IntelliJ IDEA创建简单的Dubbo实例]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/80397649</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/80397649</guid><author>Crazer_cy</author><pubDate>Mon, 21 May 2018 21:30:01 +0800</pubDate><description><![CDATA[Zookeeper为dubbo的注册中心，dubbo服务的生产者和消费者都需要在Zookeeper进行注册；下载zookeeper压缩包并解压；进入conf目录将 zoo_sample.cfg 改名为 zoo.cfg；进入bin目录双击zkServer.cmd，若启动成功，则windows单机版zookeeper搭建成功！ 使用IntelliJ IDEA搭建Dubbo:创建一个maven空项目，作...]]></description><category></category></item><item><title><![CDATA[zookeeper教程]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/80397466</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/80397466</guid><author>Crazer_cy</author><pubDate>Mon, 21 May 2018 20:38:27 +0800</pubDate><description><![CDATA[转自：http://www.cnblogs.com/ggjucheng/p/3352614.htmlZooKeeper是一个高可用的分布式数据管理与系统协调框架。基于对Paxos算法的实现，使该框架保证了分布式环境中数据的强一致性，也正是基于这样的特性，使得ZooKeeper解决很多分布式问题。网上对ZK的应用场景也有不少介绍，本文将结合作者身边的项目例子，系统地对ZK的应用场景进行一个分门归类的...]]></description><category></category></item><item><title><![CDATA[设计模式——单例模式中的问题及优化方法]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/80380142</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/80380142</guid><author>Crazer_cy</author><pubDate>Sun, 20 May 2018 10:27:20 +0800</pubDate><description><![CDATA[单例模式是一种简单常用的设计模式，但是越简单的东西，其中包含的东西越不能忽略。首先是线程不安全的单例模式：public class UnsafeLazyInitialization {    
    private static Instance instance;
    
    public static Instance getInstance(){
        if(instanc...]]></description><category></category></item><item><title><![CDATA[nginx简单教程]]></title><link>https://blog.youkuaiyun.com/Crazer_cy/article/details/80329012</link><guid>https://blog.youkuaiyun.com/Crazer_cy/article/details/80329012</guid><author>Crazer_cy</author><pubDate>Tue, 15 May 2018 20:41:15 +0800</pubDate><description><![CDATA[概述什么是nginx?Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件（IMAP/POP3）代理服务器。什么是反向代理？反向代理（Reverse Proxy）方式是指以代理服务器来接受internet上的连接请求，然后将请求转发给内部网络上的服务器，并将从服务器上得到的结果返回给internet上请求连接的客户端，此时代理服务器对外就表现为一个反向代理服务...]]></description><category></category></item></channel></rss>