<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CoderJu的博客]]></title><description><![CDATA[一个学习、交流、共同进步的程序员博客]]></description><link>https://blog.youkuaiyun.com/system_obj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; system_obj]]></copyright><item><title><![CDATA[Spring中@Autowired自动装配总结]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105472327</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105472327</guid><author>system_obj</author><pubDate>Sun, 12 Apr 2020 18:01:07 +0800</pubDate><description><![CDATA[自动装配
spring利用依赖注入（DI）,完成对IOC容器中各个组件依赖关系的赋值。
@Autowired(Spring独有的)

默认优先按照类型去容器中找对应的组件，也就是 applicationContext.getBean(Person.class)；
如果找到多个相同类型的组件，再使用属性名称作为组件id去容器中查找也就是 applicationContext.getBean(“per...]]></description><category></category></item><item><title><![CDATA[Spring中Bean的生命周期自定义销毁和初始化方法实现详解]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105470469</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105470469</guid><author>system_obj</author><pubDate>Sun, 12 Apr 2020 16:20:17 +0800</pubDate><description><![CDATA[生命周期
所谓的生命周期就是bean从创建到初始化到销毁的一个过程，而spring中bean的生命周期都是交给容器进行管理的。因此我们可以自动以初始化和销毁方法，容器在bean进行到当前生命周期的时候来调用我们自定义的初始化和销毁方法，下面就演示下如何自定义初始化方法和销毁方法的几种方式。

通过@Bean是定destroyMethod和initMethod，这种方式相当于在之前的配置文件中编写i...]]></description><category></category></item><item><title><![CDATA[Spring容器中注入组件的几种方式]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105459937</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105459937</guid><author>system_obj</author><pubDate>Sat, 11 Apr 2020 21:43:52 +0800</pubDate><description><![CDATA[包扫描+注解
针对我们自己开发的类，一般采用包扫描+注解的方式注入，类似@Controller @Service…等等这些注解。实例如下：

@Configuration
@ComponentScans(value = {
		//定义扫描的包
        @ComponentScan(basePackages = {"Spring"}
        })
})
public class ...]]></description><category></category></item><item><title><![CDATA[Spring中@Conditional注解的说明]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105459185</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105459185</guid><author>system_obj</author><pubDate>Sat, 11 Apr 2020 20:49:27 +0800</pubDate><description><![CDATA[@Conditional
它的作用是按照一定的条件进行判断，满足注解中的条件就给容器注册bean。其他则不注入。这个注解既可以写在方法上也可以写在类上。这个注解被大量的使用在spring Boot中。
实现condition

首先定义一个配置类

@Configuration
//定义在类上
@Conditional(WindowCondition.class)
public class MyC...]]></description><category></category></item><item><title><![CDATA[Spring中FilterType的说明]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105454473</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105454473</guid><author>system_obj</author><pubDate>Sat, 11 Apr 2020 16:42:58 +0800</pubDate><description><![CDATA[说明
我们在使用spring配置文件或者是注解的时有时会看到以下内容:

配置文件：

  &lt;!--包扫描 扫描后注入@Controller @Service @Component @Repository到容器中--&gt;
   &lt;context:component-scan base-package="Spring" &gt;
       &lt;!--&lt;context:e...]]></description><category></category></item><item><title><![CDATA[二叉排序树删除节点]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105421524</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105421524</guid><author>system_obj</author><pubDate>Thu, 09 Apr 2020 22:09:19 +0800</pubDate><description><![CDATA[/**
 * @Description 二叉排序树的节点
 * @auther Eleven
 * @create 2020-04-09 20:43
 **/
public class Node {
    int value;
    Node left;
    Node right;

    public Node(int value) {
        this.value = val...]]></description><category></category></item><item><title><![CDATA[二叉排序树]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105419872</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105419872</guid><author>system_obj</author><pubDate>Thu, 09 Apr 2020 21:01:37 +0800</pubDate><description><![CDATA[二叉排序树
二叉查找树、二叉搜索树 BST；对于二叉树中的任何非叶子节点 要求左子节点比当前节点值小，右子节点比当前节点值大。
实现
/**
 * @Description 二叉排序树的节点
 * @auther Eleven
 * @create 2020-04-09 20:43
 **/
public class Node {
    int value;
    Node left;
   ...]]></description><category></category></item><item><title><![CDATA[赫夫曼编码进行压缩和解码]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105398057</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105398057</guid><author>system_obj</author><pubDate>Wed, 08 Apr 2020 21:47:50 +0800</pubDate><description><![CDATA[package com.eleven.binaryTree.huffman.code;

import java.util.*;

/**
 * @Description 用赫夫曼编码进行压缩和解码
 * @auther Eleven
 * @create 2020-04-07 23:12
 **/
public class HuffManCodeCus {

    public static ...]]></description><category></category></item><item><title><![CDATA[数据压缩之使用赫夫曼编码]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105377554</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105377554</guid><author>system_obj</author><pubDate>Wed, 08 Apr 2020 00:24:56 +0800</pubDate><description><![CDATA[/**
 * @Description 用赫夫曼编码进行压缩
 * @auther Eleven
 * @create 2020-04-07 23:12
 **/
public class HuffManCodeCus {

    public static void main(String[] args) {
        HuffManCodeCus huffManCodeCus = ne...]]></description><category></category></item><item><title><![CDATA[创建简单的赫夫曼树]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105344412</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105344412</guid><author>system_obj</author><pubDate>Mon, 06 Apr 2020 16:22:15 +0800</pubDate><description><![CDATA[概述
赫夫曼树是一种最优二叉树，权值越大的节点离根节点越近的二叉树才是最优二叉树。
创建赫夫曼树
/**
 * @Description 赫夫曼树中的节点
 * @auther Eleven
 * @create 2020-04-06 15:31
 **/
public class Node  implements Comparable{

    int value;

    Node lef...]]></description><category></category></item><item><title><![CDATA[堆排序]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105335258</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105335258</guid><author>system_obj</author><pubDate>Sun, 05 Apr 2020 22:35:11 +0800</pubDate><description><![CDATA[/**
 * @Description 堆排序
 * 对排序是将集合转化成二叉树的一种排序方式 其中有大顶堆(每个结点的值都大于或等于其左右孩子结点的值)和
 * 小顶对(每个结点的值都小于或等于其左右孩子结点的值),一般升序用大顶堆，降序用小顶堆
 * @auther Eleven
 * @create 2020-04-05 21:57
 **/
public class HeadSort {
...]]></description><category></category></item><item><title><![CDATA[二叉树的遍历、查找和删除]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105333202</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105333202</guid><author>system_obj</author><pubDate>Sun, 05 Apr 2020 20:54:26 +0800</pubDate><description><![CDATA[/**
 * @Description 定义一个二叉树
 * @auther Eleven
 * @create 2020-04-05 19:27
 **/
public class BinaryTree {

    TreeNode rootNode;

    public void setRootNode(TreeNode rootNode) {
        this.rootNode...]]></description><category></category></item><item><title><![CDATA[基数排序]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105329033</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105329033</guid><author>system_obj</author><pubDate>Sun, 05 Apr 2020 16:39:21 +0800</pubDate><description><![CDATA[/**
 * @Description 基数排序
 * 就是先将对应的数据的从最低位的数据往最高位排序
 * 一次将对应的数据放到对应的容器中
 * @auther Eleven
 * @create 2020-04-05 15:22
 **/
public class RadixSort {

    public static void main(String[] args) {
      ...]]></description><category></category></item><item><title><![CDATA[归并排序]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105327015</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105327015</guid><author>system_obj</author><pubDate>Sun, 05 Apr 2020 14:54:55 +0800</pubDate><description><![CDATA[/**
 * @Description 归并排序
 * 递归排序就是在逻辑上将一个数组分成两个数组，再将两个数组再各自拆分成两个数组，
 * 以此类推，然后再进行排序
 * @auther Eleven
 * @create 2020-04-05 14:02
 **/
public class MergeSort {

    public static void main(String[] ar...]]></description><category></category></item><item><title><![CDATA[简单的选择排序]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105325751</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105325751</guid><author>system_obj</author><pubDate>Sun, 05 Apr 2020 13:22:19 +0800</pubDate><description><![CDATA[/**
 * @Description 选择排序，就是设定某个元素为当前集合的最小值，然后将当前元素所在位置的后面的所有
 * 元素与这个元素比较，如果后面某个元素比这个元素小，就将当前元素和后面一个元素替换位置
 * @auther Eleven
 * @create 2020-04-05 13:11
 **/
public class SelectSort {
    public stati...]]></description><category></category></item><item><title><![CDATA[希尔排序]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105323107</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105323107</guid><author>system_obj</author><pubDate>Sun, 05 Apr 2020 10:56:33 +0800</pubDate><description><![CDATA[public class ShellSort {
    public static void main(String[] args) {
        ShellSort shellSort = new ShellSort();
        int[] arr = new int[]{1,9,5,2,6,7,10,11};
        System.out.println(Array...]]></description><category></category></item><item><title><![CDATA[简单的插入排序]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105319331</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105319331</guid><author>system_obj</author><pubDate>Sat, 04 Apr 2020 22:44:53 +0800</pubDate><description><![CDATA[/**
 * @Description 插入排序
 * 插入排序是从前往后分段排序的算法，已经经过排序部分都是有序的
 * @auther Eleven
 * @create 2020-04-04 21:58
 **/
public class insertSort {

    public static void main(String[] args) {
        int[] arr ...]]></description><category></category></item><item><title><![CDATA[简单的快速排序]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105318255</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105318255</guid><author>system_obj</author><pubDate>Sat, 04 Apr 2020 21:54:10 +0800</pubDate><description><![CDATA[/**
 * @Description 简单的快速排序
 * @auther Eleven
 * @create 2020-04-04 20:46
 **/
public class QuickSort {
    public static void main(String[] args) {
        int[] arr = new int[]{8,9,5,2,6,7,10,11};
 ...]]></description><category></category></item><item><title><![CDATA[简单的冒泡排序算法]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105316487</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105316487</guid><author>system_obj</author><pubDate>Sat, 04 Apr 2020 20:35:09 +0800</pubDate><description><![CDATA[/**
 * @Description 实现一个简单的冒泡排序算法
 * 所谓的冒泡排序就是指集合中的元素两两比较，如果前面的比后面的大就交换彼此的位置，交换后继续比较
 * @auther Eleven
 * @create 2020-04-04 20:24
 **/
public class BubbleSort {
    public static void main(String[] a...]]></description><category></category></item><item><title><![CDATA[简单的斐波那契数列和汉诺塔游戏]]></title><link>https://blog.youkuaiyun.com/system_obj/article/details/105315349</link><guid>https://blog.youkuaiyun.com/system_obj/article/details/105315349</guid><author>system_obj</author><pubDate>Sat, 04 Apr 2020 19:26:07 +0800</pubDate><description><![CDATA[斐波那契数列指的是这样一个数列：

这个数列从第3项开始，每一项都等于前两项之和。

汉诺塔游戏

汉诺塔（又称河内塔）问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子，在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定，在小圆盘上不能放大圆盘，在三根柱子之间一次只能移动一个圆盘

/**
 *...]]></description><category></category></item></channel></rss>