<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaolong_java的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaolong_java</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaolong_java]]></copyright><item><title><![CDATA[java中的BIO、NIO、AIO]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/129342685</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/129342685</guid><author>xiaolong_java</author><pubDate>Sun, 05 Mar 2023 17:09:15 +0800</pubDate><description><![CDATA[java 中的BIO/NIO/AIO 模型]]></description><category></category></item><item><title><![CDATA[Redis工作原理与机制]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124860100</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124860100</guid><author>xiaolong_java</author><pubDate>Wed, 01 Jun 2022 23:05:58 +0800</pubDate><description><![CDATA[redis 怎么说呢，在项目中经常用，但是仅仅只是限于用它常用的一些api至于它里面的原理也是一直都没有搞清楚今天就来具体探究一下redis内部的工作机制和底层原理吧Redis 是一个开源的key-value 存储系统，no-sql 数据库支持存储的value类型 可以包括String(字符串), list(链表), set(集合)，zset(sorted set --有序集合)和  hash(哈希类型)这些数据类型支持 push/pop、add/remove 及取交集并集和差集及更多操作，且这些操作都是原]]></description><category></category></item><item><title><![CDATA[Spring Aop流程源码分析]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124859448</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124859448</guid><author>xiaolong_java</author><pubDate>Thu, 19 May 2022 11:33:29 +0800</pubDate><description><![CDATA[终于来到了我们的Spring Aop的位置，为什么非要剖析一下这个源码呢？是因为之前在这块遇到过坑儿啊。图片  之前一直也没有搞明白是怎么回事，现在终于是弄懂了
书接上回，话说Spring启动之后，创建初始化Bean的时候 使用了 BeanPostProcessor 对Bean 对象进行了增强，
Spring Aop 也不例外，也是基于 BeanPostProcessor 做的增强扩展，将原来的Bean 实例对象，切换成了具有增强功能的代理对象
当然底层是基于之前我们讲过的Jdk的动态代理和CGlib的代理]]></description><category></category></item><item><title><![CDATA[Spring源码编译Could not find method compile()的问题]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124832549</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124832549</guid><author>xiaolong_java</author><pubDate>Tue, 17 May 2022 23:20:35 +0800</pubDate><description><![CDATA[Spring源码编译Could not find method compile()]]></description><category></category></item><item><title><![CDATA[Spring Ioc启动流程分析]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124832030</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124832030</guid><author>xiaolong_java</author><pubDate>Tue, 17 May 2022 23:03:34 +0800</pubDate><description><![CDATA[上一篇我们解析了设计模式的代理模式，在这里再做一次Spring Ioc启动流程的分析，然后再引入到SpringAOP 的原理上来
ok，我们先看下Spring Ioc启动的大致流程吧
目前Spring 启动流程大致分析如图
在测试类中 ApplicationContext ac = new ClassPathXmlApplicationContext(“applicationContext.xml”);
找到启动的入口：

在 ClassPathXmlApplicationContext 的实例化方法中，找]]></description><category></category></item><item><title><![CDATA[java 代理模式[Proxy]--AOP]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124789915</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124789915</guid><author>xiaolong_java</author><pubDate>Sun, 15 May 2022 23:03:33 +0800</pubDate><description><![CDATA[一直都想解读一下关于SpringAop源码的部分，但是要解析看懂SpringAop的前置基础是得需要了解Spring运行的大致流程和设计模式的代理模式和Aop的原理思想
那么今天咱们就先来了解一下代理模式和Aop的基本概念吧，后续再来解读SpringAOP的原理吧
一、代理模式
代理类和被代理类实现同一个接口
在使用时通过代理类的对象来调用被代理类的具体方法即可，相当于在被代理类外层又包装了一层
比如：一个Tank(坦克)的实体类 实现了Movable可移动的接口
再创建一个TankProxy坦克代理类，同]]></description><category></category></item><item><title><![CDATA[java冒泡排序]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124720777</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124720777</guid><author>xiaolong_java</author><pubDate>Wed, 11 May 2022 22:41:53 +0800</pubDate><description><![CDATA[最近一直有在看java相关的资料更深入的学习进步，但是越往深处里面学习，越觉得自己缺少的东西还是有点多，要想搞好编程，数据结构和算法的功力是必不可少的，所以还是哪里不会写哪里，开整：
研究一下 冒泡排序：Bubble Sort
原理：比较两个相邻的元素，将数值大的元素交换至右端
思路： 依次比较相邻的两个数，将小数放在前面，大数放在后面。第一趟：首先比较第1个和第2个数，将小数放前，大数放后。然后比较第2个数和第3个数，将小数放前，大数放后，如此继续，直至比较最后两个数，将小数放前，大数放后。重复第一趟步骤]]></description><category></category></item><item><title><![CDATA[配置Springboot支持https和http协议]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124701434</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124701434</guid><author>xiaolong_java</author><pubDate>Wed, 11 May 2022 01:37:25 +0800</pubDate><description><![CDATA[记录一下关于springboot 同时支持https和http协议的问题
在网上看了关于微信小程序的教程，要发布小程序的后端必须要支持https服务的，所以在后端springboot项目中添加了支持https服务的相关配置
在网上查了一下资料，又在我本地实践了一把，it works
1.用jdk自带的keytool生成一个.keystore的文件

设置秘钥口令 key-store-password
我在此设置的是: gexiaolong
-genkey 生成key
-validity 3600 有效期限3]]></description><category></category></item><item><title><![CDATA[Spring中BeanFactory与FactoryBean的区别]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124656208</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124656208</guid><author>xiaolong_java</author><pubDate>Sun, 08 May 2022 22:42:56 +0800</pubDate><description><![CDATA[Spring中BeanFactory与FactoryBean的区别
为了搞明白这个问题，下载了spring源码在本地ide编译调试，debug进去一步步跟踪查看spring的启动流程，运行机制。
之前一直有在小破站看过spring源码的课程，但spring的源码还是太过强大，类库多，各种设计模式灵活运用，有时候一个小的方法跟进去就有好多相关的扩展代码，跟着跟着就偏离了原来的的代码逻辑，方法的调用链很深，幸好看过spring源码的课程讲解，对spring源码的整体启动流程和大体逻辑有所了解，不然看spring]]></description><category></category></item><item><title><![CDATA[java类加载机制]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124524814</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124524814</guid><author>xiaolong_java</author><pubDate>Wed, 04 May 2022 12:13:30 +0800</pubDate><description><![CDATA[java类的加载机制]]></description><category></category></item><item><title><![CDATA[去除WinRar压缩 迷你页]]></title><link>https://blog.youkuaiyun.com/xiaolong_java/article/details/124491708</link><guid>https://blog.youkuaiyun.com/xiaolong_java/article/details/124491708</guid><author>xiaolong_java</author><pubDate>Fri, 29 Apr 2022 11:56:03 +0800</pubDate><description><![CDATA[去除WinRAR压缩软件启动的迷你页]]></description><category></category></item></channel></rss>