<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[看风人Z的博客]]></title><description><![CDATA[少看看别人，多提升自己。]]></description><link>https://blog.youkuaiyun.com/fOrLOveDoit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fOrLOveDoit]]></copyright><item><title><![CDATA[学习设计模式——责任链模式]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/79845277</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/79845277</guid><author>fOrLOveDoit</author><pubDate>Sat, 07 Apr 2018 21:25:53 +0800</pubDate><description><![CDATA[本文所有源代码都在我的Github，并且持续更新中…欢迎Star DesignPattern



示例代码

假设我现在有个事件需要上交给政府处理，但是不可能所有小到街坊吵架的事件都交给国家处理，也不可能 
大到南水北运的事件交给市级政府处理。所以最先想到用下面的代码来模拟这个情形:

模拟事件类型



public class Event {

    public int eventTyp...]]></description><category></category></item><item><title><![CDATA[学习设计模式——适配器模式]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/79845273</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/79845273</guid><author>fOrLOveDoit</author><pubDate>Sat, 07 Apr 2018 21:25:17 +0800</pubDate><description><![CDATA[本文所有源代码都在我的Github，并且持续更新中…欢迎Star DesignPattern



示例代码

假如我原先的系统都工作在高电压下，代码如下：



public interface HighOutput {


    void workInHigh();

}



public class HighOutPutObject implements HighOutput {
   ...]]></description><category></category></item><item><title><![CDATA[学习Tomcat(一)Tomcat启动做了什么]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/79445856</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/79445856</guid><author>fOrLOveDoit</author><pubDate>Mon, 05 Mar 2018 14:55:58 +0800</pubDate><description><![CDATA[本章内容着着讲解tomcat启动的时候都做了哪些事,只大概讲解下次序问题 ,后续文章将会进行深入分析.

Bootstrap中的main方法是Tomcat启动的入口。 




   public static void main(String args[]) {

        System.out.println(&quot;sa&quot;);
        if (daemon == null) {
  ...]]></description><category></category></item><item><title><![CDATA[jquery对象和dom对象的转换和区别]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/61914369</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/61914369</guid><author>fOrLOveDoit</author><pubDate>Mon, 13 Mar 2017 10:52:21 +0800</pubDate><description><![CDATA[如何由下面这串html字符串获得h1里面的text ”你好“ 呢
你好sd
var t  =  "你好sd";

var dom = $(t).get(0);//dom对象           $(t)是jquery对象 $(t).get(0)或$(t)[0]则是dom对象
alert($(dom).text()); $(dom)则是一个jquery对象
以下内容转载自http://blog]]></description><category></category></item><item><title><![CDATA[Tomcat Lifecycle]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/56017493</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/56017493</guid><author>fOrLOveDoit</author><pubDate>Mon, 20 Feb 2017 19:38:34 +0800</pubDate><description><![CDATA[Catalina 由多个组件组成，当 Catalina 启动的时候，这些组件也会启动。当Catalina 停止的时候，这些组件也必须有机会被清除。例如，当一个容器停止工作的时候，它必须唤醒所有加载的 servlet 的 destroy 方法，而 session 管理器要保存 session 到二级存储器中。保持组件启动和停止一致的的机制通过实现org.apache.catalina.Lifecyc...]]></description><category></category></item><item><title><![CDATA[Executors的四种线程池]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/55209741</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/55209741</guid><author>fOrLOveDoit</author><pubDate>Thu, 16 Feb 2017 13:35:47 +0800</pubDate><description><![CDATA[线程池是一种多线程处理形式，处理过程中将任务添加到队列，然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小，以默认的优先级运行，并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙，但队列中包含挂起的工作，则线程池将在一段时间后创建另一个辅助线程但线程的数目永]]></description><category></category></item><item><title><![CDATA[Unable to create a Configuration, because no Bean Validation provider could be found.]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/54233063</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/54233063</guid><author>fOrLOveDoit</author><pubDate>Sun, 08 Jan 2017 12:09:21 +0800</pubDate><description><![CDATA[Spring+Mybatis+SpringMVC整合项目中 启动报错
javax.validation.ValidationException: Unable to create a Configuration,
 because no Bean Validation provider could be found. Add a provider like Hibernate Validato]]></description><category></category></item><item><title><![CDATA[c++函数指针和类函数指针]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53992907</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53992907</guid><author>fOrLOveDoit</author><pubDate>Tue, 03 Jan 2017 11:50:35 +0800</pubDate><description><![CDATA[#include 

using namespace std;
typedef int (*fun)(int);
//定义函数指针类型 此时fun为函数指针类型


int demo(int a){
    cout<<a<<endl;
    return a;

}
int main()
{
    //直接定义函数指针变量
    int (*func)(int);
   // func =]]></description><category></category></item><item><title><![CDATA[java scanner]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53979292</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53979292</guid><author>fOrLOveDoit</author><pubDate>Mon, 02 Jan 2017 15:33:22 +0800</pubDate><description><![CDATA[scanner(System.in)一旦调用close方法关闭之后，无法再调用
	Scanner s1 = new Scanner(System.in);
		Scanner s2 = new Scanner(System.in);
		String msg1 = s1.nextLine();
		System.out.println(msg1);
//	1	
		s1.close();
		S]]></description><category></category></item><item><title><![CDATA[NIO之SocketChannel简单使用]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53841474</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53841474</guid><author>fOrLOveDoit</author><pubDate>Fri, 23 Dec 2016 16:51:13 +0800</pubDate><description><![CDATA[客户端:
import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.channels.SocketChannel;
import java.nio.charset.Charset;
im]]></description><category></category></item><item><title><![CDATA[C语言实现二叉排序树的增删查操作]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53781542</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53781542</guid><author>fOrLOveDoit</author><pubDate>Wed, 21 Dec 2016 10:44:35 +0800</pubDate><description><![CDATA[#include 
#include 
typedef struct TreeNode{
    struct TreeNode* lchild;
    struct TreeNode* rchild;
    int val;

}TreeNode;

//构造树节点
TreeNode* createTreeNode(int val){
    TreeNode *node;
    node]]></description><category></category></item><item><title><![CDATA[ThreadLocal的一些自己的理解]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53437596</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53437596</guid><author>fOrLOveDoit</author><pubDate>Fri, 02 Dec 2016 19:09:50 +0800</pubDate><description><![CDATA[有关于ThreadLocal的原理的源代码解释在下面已经说的很清楚了 源代码也很清晰易懂
http://www.cnblogs.com/dolphin0520/p/3920407.html




个人对于ThreadLocal类的一些总结:
1.
ThreadLocal类并不是将线程和所存储的对象进行键值保存的和进行取值的(这是我第一反应以为的)
而是将存储的值保存到对应Thr]]></description><category></category></item><item><title><![CDATA[springmvc 源码学习 handlerInterceptor]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53414953</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53414953</guid><author>fOrLOveDoit</author><pubDate>Wed, 30 Nov 2016 22:40:59 +0800</pubDate><description><![CDATA[转载自
http://www.360doc.com/content/14/1024/23/18637323_419613988.shtml]]></description><category></category></item><item><title><![CDATA[C语言以邻接表为存储结构的图的构造以及广度优先，深度优先遍历]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53413000</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53413000</guid><author>fOrLOveDoit</author><pubDate>Wed, 30 Nov 2016 20:12:26 +0800</pubDate><description><![CDATA[关于广度和深度搜索的思路 在上一篇文章已经说过了 
如果大家对我的代码有提议以及不正确的地方 还请在文章下方评论出来~轻喷
#include 
#include 


#define MAX_VALUE 10


typedef struct EdgeNode{//边顶点
    int index;//该顶点下标
    struct EdgeNode *next;//存储下一个边顶点


]]></description><category></category></item><item><title><![CDATA[C语言以邻接矩阵为存储结构的图的构造以及广度优先，深度优先遍历]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53411748</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53411748</guid><author>fOrLOveDoit</author><pubDate>Wed, 30 Nov 2016 18:37:20 +0800</pubDate><description><![CDATA[#include 
#include 
#define MAX_VALUE 10
#define HAVE_PATH 1
#define NO_PATH 0
typedef struct{
    char vexs[MAX_VALUE];//存储顶点元素
    int arc[MAX_VALUE][MAX_VALUE];//存储图结构路径的矩阵
    int vexnum ;//当前定点数
]]></description><category></category></item><item><title><![CDATA[mybatis一对多查询过程只查询了一个结果]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53380751</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53380751</guid><author>fOrLOveDoit</author><pubDate>Mon, 28 Nov 2016 18:16:04 +0800</pubDate><description><![CDATA[新学mybatis，在一对多关联查询过程中出现了一点bug
首先附上我的代码
User.java
public class User
{

	public User()
	{
		// TODO Auto-generated constructor stub
	}

	private String userName;
	private String passWord;
	private in]]></description><category></category></item><item><title><![CDATA[java动态代理]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53239645</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53239645</guid><author>fOrLOveDoit</author><pubDate>Sun, 20 Nov 2016 11:25:54 +0800</pubDate><description><![CDATA[最近在研究spring事务管理器的一些东西
偶然在知乎上看到一篇文章
链接如下 https://www.zhihu.com/question/36948563





其中有一段话:


Spring事务处理逻辑是以切面的方式织入到业务（代理）对象中的。
如果一个业务对象中两个方法（a，b）都配置了事务逻辑，如果在业务对象中方法a中直接调用了方法b，则这只是简单的方法级别]]></description><category></category></item><item><title><![CDATA[springmvc中controller注入request的线程安全问题]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53204667</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53204667</guid><author>fOrLOveDoit</author><pubDate>Thu, 17 Nov 2016 18:46:53 +0800</pubDate><description><![CDATA[本文全部转载于http://www.cnblogs.com/developer-ios/p/5918999.htmlSpringMvc学习心得（四）springmvc中request的线程安全问题    servlet是单例的，而tomcat则是在多个线程中调用servlet的处理方法。因此如果servlet存在实例对象，那么就会引出线程安全的问题。而springmvc允许在controller类...]]></description><category></category></item><item><title><![CDATA[java对图片进行缩略和得到视频的缩略图]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53056637</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53056637</guid><author>fOrLOveDoit</author><pubDate>Sun, 06 Nov 2016 21:24:18 +0800</pubDate><description><![CDATA[要求对大图和视频文件进行缩略 以方便列表 学习过后做了点小总结 


对图片进行缩略的话网上现成的代码很多
我这里只尝试了其中一种
直接贴代码了
public class PicHelper
{

	

	/**
	 * Title: ImageUtil 
	 * Description: 
	 * Email: icerainsoft@hotmail.com  
	 * @autho]]></description><category></category></item><item><title><![CDATA[C语言进行二叉树的递归遍历和非递归遍历]]></title><link>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53053213</link><guid>https://blog.youkuaiyun.com/fOrLOveDoit/article/details/53053213</guid><author>fOrLOveDoit</author><pubDate>Sun, 06 Nov 2016 10:25:45 +0800</pubDate><description><![CDATA[#include 
#include 
typedef struct{
    struct TreeNode *left;
    struct TreeNode *right;
    char val;
    int visitCount;

}TreeNode;




typedef struct {
    TreeNode *base;
    TreeNode *top;
   ]]></description><category></category></item></channel></rss>