- 博客(30)
- 收藏
- 关注
原创 不变模式
不变模式只涉及一个类;此类的内部状态创建后,整个生命周期都不会发生变化;如何改变一个不变对象的状态?新建一个该对象,并在创建时将状态存储到该对象中;弱不变模式、强不变模式弱不变模式:一个类的实例状态是不可变的,但是其子类实例却是可以变的;①满足条件<1>对象的改变只能在构造方法中调用,无任何方法可以改变对象的状态,即当通过构造方法后...
2020-01-22 12:49:34 232
原创 HandlerAdapter
1、HandlerAdapter是一个接口,是具体使用Handler来干活的;2、方法:<1>supports:传入一个Object类型的handler判断是否支持处理该handler;<2>handle:具体使用handler处理请求的过程,返回类型为ModelAndView;<3>getLastModified:获取资源上一次更改的时间;...
2020-01-16 00:16:31 2549
原创 HandlerExceptionResolver
用于解析请求处理过程中出现的异常;主要功能:给ModelAndView设置内容、设置response相关的属性;子类:AbstractHandlerExceptionResolverAbstractHandlerExceptionResolver:1、实现类Order,有先后顺序; 2、其他HandlerExceptionResolver的父类,定义了通用的解析流程,使...
2020-01-13 20:16:32 2783
原创 Dubbo导出服务之远程导出
导出到远程入口private void doExportUrlsFor1Protocol(ProtocolConfig protocolConfig, List<URL> registryURLs) { /** * 前面的代码省略,从导出服务到远程的入口开始分析 */ //导出服务的scope,即决定服务导...
2019-07-22 17:44:00 553
原创 yc博客项目创建-白手起家
注意点:server.servlet.context-path。②如果配置,则访问的根路径为/配置的值,例如。①如果不配置,则访问的根路径为/,例如。
2023-04-16 17:08:05 145
原创 从实现过程来理解SpringCloud Feign
希望写的每一篇博客都能帮助到各位同学,我也会坚持不定期的记录我的点滴理解;欢迎关注公众号:杜甫之心对于熟悉spring源代码的同学,应该是很容易就懂的,无非就是如何将feign用到的类装入ioc容器中,以及如何生成代理类,最后如何调用;涉及到的技术:ioc容器 aop,jdk动态代理 http请求分为两部分:1、加载配置生成代理类;代理类的产生是在依赖注入的时候;...
2020-04-25 14:18:58 222
原创 简单理解TCP/IP、Http、Socket、UDP、Servlet
TCP/IP协议一系列规则;IP:网络层;负责找到地址TCP:传输层;负责传输;TCP:三次握手,四次握手关闭连接;可靠;与UDP相对;Http的底层传输默认协议;UDP:不可靠,速度快;Socket:TCP/IP的一个具体实现;具体发送数据;Http协议:应用层;包装即将要发出去的数据;解析接收到的数据;...
2020-04-06 00:20:29 257
原创 SpringAOP拦截器调用
ReflectiveMethodInvocation用来处理AOP拦截器链的调用;<1>proceed方法①方法返回值为Object②//判断拦截器是否已经处理到最后一个了如果是,则通过反射方法直接调用目标方法 if(this.currentInterceptorIndex == this.interceptorAndDynamicMethodMatcher...
2020-02-13 00:17:07 525
原创 多级缓存
缓存算法、热点数据与更新缓存、更新缓存与原子性、缓存崩溃与快速恢复合理应用缓存也是一个选择问题;多级缓存:Nginx本地缓存、分布式缓存(底层为redis/redis主从架构)、tomcat堆缓存nginx本地缓存解决热点缓存问题;分布式缓存减少访问回源率;tomcat堆缓存解决缓存失效/崩溃之后的冲击;过期与不过期:①不设置过期时...
2020-01-29 00:26:06 702
原创 FlashMapManager、FlashMap---springmvc重定向
用于重定向时传递数据;一般情况下重定向时不传送数据的,如果一定要传送数据,可以采用拼接url的方式传递,但是存在安全和长度问题(即传送的数据量会受到限制);底层实现为将session中的参数用FlashMap来保存,参数有多个,所以用了List<FlashMap>1、实现类:2、两个方法:FlashMap retrieveAndUpdate(re...
2020-01-21 11:08:26 560
原创 重构-改善既有代码的设计之重新组织函数
Extract Method 提炼函数1、函数过长时或者一段代码需要进行注释时提炼出来; 2、函数的复用度也会较大; 3、不同的函数做的事情不同,通过名字就可以看出; 4、如果提炼出来的函数会涉及多个变量的改动,使用Split Temporary Variable后再进行提炼;或者使用Replace Temp with Query;Inline Method:内联函数...
2020-01-14 08:27:12 257
原创 ViewResolver
用来将视图名(viewName)和Locale解析为View类型的视图;resolveViewName(String viewName, Locale locale);Locale用来表示不同的区域;ViewResolver用来选择用哪种模板以及何种方式填入数据到模板中;四种类型:AbstractCachingViewResolver、BeanNameViewR...
2020-01-11 01:35:35 622
原创 ParameterizedType
Parameterizedtype参数化类型,所有泛型参数的类型都是ParameterizedTypegetActualTypeArguments()获取所有的泛型参数例如HashMap<K, V> ,结果为此方法只会获取第一层的,例如List<Map<String, Integer>>,结果为getR...
2020-01-03 17:43:47 431
原创 springmvc接收Date类型的参数
1、org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'; nested exception is org.springfr...
2019-10-26 15:05:34 1161
原创 springcloud启动错误
1、Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigu...
2019-10-13 18:08:56 1035 1
原创 springcloud zuul整合oauth2错误
1、2019-10-13 17:57:31.684 WARN 5036 --- [nio-8003-exec-6] .m.m.a.ExceptionHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.security.oauth2.provider.NoSu...
2019-10-13 18:06:57 876
原创 Springboot项目错误二
1、This application has no explicit mapping for /error, so you are seeing this as a fallback.There was an unexpected error (type=Not Found, status=404).如果出现此错误,查看是否需要@ResponseBody注解原因:不加@Respons...
2019-09-02 22:57:14 1322
原创 Dubbo之Dubbo SPI
首先介绍下java的SPI机制SPI:Service Provider Interface是一种服务发现机制,SPI的本质是将接口实现类的全限定名配置在文件中,然后又资源加载器读取配置文件,从而加载实现类,这样的好处是可以动态的为接口替换实现类。JAVA SPI示例1、首先定义一个接口public interface Robot { void sayHel...
2019-08-16 17:03:35 168
原创 Spring--IOC容器初始化之Resource定位
IOC容器初始化主要分三步,第一步是Resource定位,即首先要找到要加载的BeanDefinition的资源在哪对于每一种等待被加载的资源都会有与之相匹配的ApplicationContext的实现类来进行加载,例如加载文件用到的FileSystemXmlApplicationContext类,以及ClasspathXmlApplicationContext等接下来将以FIleSyst...
2019-08-15 23:38:15 452
原创 Spring--IOC容器之BeanFactory和ApplicationContext
BeanFactory是一个接口,提供最基本的容器功能,其他具体容器都要实现或者继承该接口,以实现具体的逻辑方法1、Object getBean(String name) throws BeansException传入name从容器中获取具体的bean,如果获取不到,则抛BeanException异常2、<T> T getBean(String name, Cl...
2019-07-08 19:20:47 271
原创 Java反射之Class类一
Class类所在包为java.langpublic final class Class<T> implements java.io.Serializable, GenericDeclaration, Type, ...
2019-06-18 17:46:08 165
原创 java项目错误集锦(一)
1、Could not read document: Can not deserialize instance of java.lang.String out of START_OBJECT tokenorg.springframework.http.converter.HttpMessageNotReadableException: Could not read document...
2019-06-02 17:45:04 682
原创 springboot个人项目之整合spring security
1、pom文件配置<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- spring security 依赖 --&...
2019-06-02 17:35:09 348
原创 Springboot项目启动错误一
1、Consider defining a bean of type 'com.yc.ux.dao.UserMapper' in your configuration没有在接口上添加@Mapper注解@Mapper@Componentpublic interface UserMapper {2、org.apache.ibatis.binding.BindingExcepti...
2019-05-21 22:58:32 348
原创 HashMap
1、HashMap1.1、属性table:Node类型的键值对。存储数据entrySet:Set类型的参数size:int类型,表示hashMap的大小modCount:int类型,fail-fast标识threshold:int类型,阈值,当hashMap的实际容量大于阈值时,要进行扩容。loadFactor:float类型,加载因子1.2、底层存储结构实际存...
2019-05-17 19:28:00 224
原创 Proxy
1、ProxyClassFactoryProxy的内部类,功能为创建代理类1.1、apply(ClassLoader loader, Class<?>[] interfaces)创建代理类的实际过程使用IdetityHashMap存储并检测接口的Class是否重复检测传经来的接口的Class是否与Class.forName()通过指定的类加载器加载的一致。检测C...
2019-05-17 19:21:44 354
原创 http、tcp、ip、udp
http协议是建立在tcp的基础上http协议定义传输的数据格式与规范tcp协议规定数据传输和连接方式Socket连接 建立Socket连接时可以指定传输协议,即TCP或UDP协议TCP连接: 建立tcp连接需要经过三次握手过程HTTP连接: 在建立TCP连接的基础上,再建立HTTP连接HT...
2019-05-12 15:12:52 238
原创 类加载器
Bootstrap ClassLoader 最顶层的类加载器,主要加载核心类库Extention ClassLoader 扩展的类加载器AppClass Loader 又叫SystemAppClass,加载当前应用的classpath的所有类一个ClassLoader创建时如果没有指定parent,那么它的parent默认就是...
2019-05-12 10:25:51 127
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人