<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[HelloWorld_Joe的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/HelloWorld_Joe</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; HelloWorld_Joe]]></copyright><item><title><![CDATA[springcloud-gateway]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/104416141</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/104416141</guid><author>HelloWorld_Joe</author><pubDate>Thu, 20 Feb 2020 20:58:34 +0800</pubDate><description><![CDATA[什么是微服务网关？

1.微服务api接口的入口，实现过滤api接口。

2.作用：实现用户的验证登录，解决跨域，日志拦截，权限控制，限流，熔断，负载均衡，黑名单和白名单机制等。

3.安全性：前后端分离架构中，前端调用接口地址都能被抓包分析到。

4.过滤器和网关的区别：过滤器适合单个服务，网关是所有服务（一个局部，一个整体）

5.gateway不依赖于springboot-start-web...]]></description><category></category></item><item><title><![CDATA[IDEA Gradle项目编译不通过踩坑]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/104413643</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/104413643</guid><author>HelloWorld_Joe</author><pubDate>Thu, 20 Feb 2020 17:09:45 +0800</pubDate><description><![CDATA[IDEA Gradle项目编译不通过踩坑



IDEA和Gradle结合用起来开发很方便，可是偶尔会调皮捣蛋，编译不通过，把红色的Build Faild丢给你，气你个半死。



项目编译不通过，setting.gradle是包含该Module，但是发现某个Moudle没有.iml文件

------------------------- 解决办法-----------------

在ID...]]></description><category></category></item><item><title><![CDATA[spring-监听器与事件]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/104170135</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/104170135</guid><author>HelloWorld_Joe</author><pubDate>Tue, 04 Feb 2020 15:19:33 +0800</pubDate><description><![CDATA[1.定义一个事件，继承事件，重写构造方法，设置源applicationContext



2.定义监听器，继承监听器，传事件泛型



3.事件源发布事件，就会触发监听器




...]]></description><category></category></item><item><title><![CDATA[spring-依赖注入和Autowired]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/104156560</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/104156560</guid><author>HelloWorld_Joe</author><pubDate>Mon, 03 Feb 2020 15:19:45 +0800</pubDate><description><![CDATA[在Spring容器中为一个bean配置依赖注入有三种方式：

1·使用属性的setter方法注入这是最常用的方式；

2·使用构造器注入；

3·使用Filed注入（用于注解方式）.



对于使用字段(Filed)注入（用注解方式）

在Spring中，注入依赖对象可以采用手工装配或自动装配，在实际应用开发中建议使用手工装配，因为自动装配会产生许多未知情况，开发人员无法预见最终的装配...]]></description><category></category></item><item><title><![CDATA[springmvc流程与源码]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/103883759</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/103883759</guid><author>HelloWorld_Joe</author><pubDate>Tue, 07 Jan 2020 23:59:09 +0800</pubDate><description><![CDATA[一个访问/index的请求发出

经过tomcat处理后

1.调用HttpServlet的service(）方法

2.service（）方法内部会调用FrameWorkServlet的doGet()方法

3.doGet（）方法内部会调用FrameWorkServlet的processRequest()方法

4.processRequest()方法内会调用DispatcherServle...]]></description><category></category></item><item><title><![CDATA[spring(二)]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/103297679</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/103297679</guid><author>HelloWorld_Joe</author><pubDate>Thu, 05 Dec 2019 22:44:16 +0800</pubDate><description><![CDATA[1.

spring容器初始化mapper接口生成容器时就已经把mapper信息给初始化完了（sql,方法名......）放到mappedStatements(MappedStatement类型的Map)里，



2.后面调mapper bean的方法时，会根据id去取mappedStatement

mybatis mapper的id的 = 对应命名空间 + 方法名









...]]></description><category></category></item><item><title><![CDATA[springcloud踩坑]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/103387465</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/103387465</guid><author>HelloWorld_Joe</author><pubDate>Wed, 04 Dec 2019 15:25:17 +0800</pubDate><description><![CDATA[对于Feign，在转发请求的时候，如果传递的参数值为null或者"",feign底层会自动将参数过滤去除。
]]></description><category></category></item><item><title><![CDATA[spring(一)实例化一个工厂DefaultListableBeanFactory流程]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/103112243</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/103112243</guid><author>HelloWorld_Joe</author><pubDate>Sun, 17 Nov 2019 19:44:25 +0800</pubDate><description><![CDATA[//实例化一个工厂DefaultListableBeanFactory
org.springframework.context.support.GenericApplicationContext-&gt;GenericApplicationContext()
  1、实力化一个AnnotatedBeanDefinitionReader
 2、ClassPathBeanDefiniti...]]></description><category></category></item><item><title><![CDATA[AES加密算法踩坑]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/102508081</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/102508081</guid><author>HelloWorld_Joe</author><pubDate>Fri, 11 Oct 2019 18:51:00 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/Darlin356230410/p/8602674.html
]]></description><category></category></item><item><title><![CDATA[linux调试好用命令]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/101764822</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/101764822</guid><author>HelloWorld_Joe</author><pubDate>Mon, 30 Sep 2019 12:48:05 +0800</pubDate><description><![CDATA[sudo strace -f -s1000 -etrace=network,read,write -p 28506



netstat -ano | grep 28506
]]></description><category></category></item><item><title><![CDATA[git  ssh失效踩坑]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/101519657</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/101519657</guid><author>HelloWorld_Joe</author><pubDate>Fri, 27 Sep 2019 11:12:00 +0800</pubDate><description><![CDATA[重新生成秘钥并设置，竟然不生效？？？？？？？？？？？？、

解决方法（粗暴）：

1、先输入$ git remote rm origin

2、再输入$ git remote add origingit@github.com:djqiang/gitdemo.git就不会报错了！

3、如果输入$ git remote rm origin还是报错的话，error: Could not remo...]]></description><category></category></item><item><title><![CDATA[git本地连接远程分支]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/101517350</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/101517350</guid><author>HelloWorld_Joe</author><pubDate>Fri, 27 Sep 2019 10:42:13 +0800</pubDate><description><![CDATA[git 关联远程分支

git branch --set-upstream-to=origin/remote_branch your_branch

其中，origin/remote_branch是你本地分支对应的远程分支；your_branch是你当前的本地分支



1、如果远程新建了一个分支，本地没有该分支。

可以利用git checkout--trackorigin/branc...]]></description><category></category></item><item><title><![CDATA[springboot全局异常处理]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/100713365</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/100713365</guid><author>HelloWorld_Joe</author><pubDate>Tue, 10 Sep 2019 21:30:41 +0800</pubDate><description><![CDATA[全局异常处理流程图：













第一种全局异常处理器：




]]></description><category></category></item><item><title><![CDATA[打破双亲委派（）SPI+线程上下文]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/100595058</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/100595058</guid><author>HelloWorld_Joe</author><pubDate>Sat, 07 Sep 2019 12:24:48 +0800</pubDate><description><![CDATA[https://blog.csdn.net/yangcheng33/article/details/52631940
]]></description><category></category></item><item><title><![CDATA[十大经典排序算法]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/100591650</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/100591650</guid><author>HelloWorld_Joe</author><pubDate>Sat, 07 Sep 2019 10:10:41 +0800</pubDate><description><![CDATA[https://blog.csdn.net/u012562943/article/details/100136531
]]></description><category></category></item><item><title><![CDATA[Springboot踩坑记录]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/100555012</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/100555012</guid><author>HelloWorld_Joe</author><pubDate>Thu, 05 Sep 2019 12:02:42 +0800</pubDate><description><![CDATA[1.重复访问拦截器重定向到error页

解决方法：1.拦截器拦截排除"/error"。

         2.继承BasicErrorController,重写error处理方法。

（治标不治本，springboot会继续交给自己的全局异常处理）


...]]></description><category></category></item><item><title><![CDATA[jvm内存结构和内存模型]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/100543908</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/100543908</guid><author>HelloWorld_Joe</author><pubDate>Wed, 04 Sep 2019 17:44:12 +0800</pubDate><description><![CDATA[JVM内存结构

《深入理解Java虚拟机（第2版）》中的描述是下面这个样子的：



JVM的内存结构大概分为：

堆（Heap）：线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。
	方法区（Method Area）：线程共享。存储类信息、常量、静态变量、即时编译器编译后的代码。
	虚拟机栈（JVM Stack）：线程私有。存储局部变量表、操作栈、动态链接、方法出口，对象指...]]></description><category></category></item><item><title><![CDATA[Cookie的设置域名domain与跨域的问题]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/100534528</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/100534528</guid><author>HelloWorld_Joe</author><pubDate>Wed, 04 Sep 2019 10:48:35 +0800</pubDate><description><![CDATA[今天研究一天发现cookie无法设置除当前域名或者其父域名之外的其他domain.

这个是浏览器出于对cookie的保护造成的，也就是cookie无法跨域设置。

对于子域名也有如下规则，当前域名只能设置当前域名以及他的父域名，不能设置子域名

如在www.wo.cao.baidu.com 域名下只能设置 cao.baidu.com,baidu.com

不能设置 da.jia.wo.cao....]]></description><category></category></item><item><title><![CDATA[多线程并发学习笔记（8） ThreadLocal]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/100521350</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/100521350</guid><author>HelloWorld_Joe</author><pubDate>Tue, 03 Sep 2019 16:24:08 +0800</pubDate><description><![CDATA[输出：



ThreadLocal内部是hashmap实现

set get是将当前线程作为key进行存储和取出










]]></description><category></category></item><item><title><![CDATA[线程并发学习笔记（7）future设计模式]]></title><link>https://blog.csdn.net/HelloWorld_Joe/article/details/100515297</link><guid>https://blog.csdn.net/HelloWorld_Joe/article/details/100515297</guid><author>HelloWorld_Joe</author><pubDate>Tue, 03 Sep 2019 14:53:17 +0800</pubDate><description><![CDATA[想象成蛋糕店买蛋糕：

买蛋糕老板开始做蛋糕（futureService.submit()）,但买了蛋糕需要等待老板给你一张凭证（future）但自己继续做蛋糕（call），你拿到凭证你可以去做其他事，做完其它事你再根据凭证找蛋糕店老板要蛋糕，这个时候要是还没做好（done=false），就继续在店里等待（wait）,直到老板蛋糕做好通知你（done=true,）












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