- 博客(8)
- 收藏
- 关注
原创 不变模式
不变模式只涉及一个类;此类的内部状态创建后,整个生命周期都不会发生变化;如何改变一个不变对象的状态?新建一个该对象,并在创建时将状态存储到该对象中;弱不变模式、强不变模式弱不变模式:一个类的实例状态是不可变的,但是其子类实例却是可以变的;①满足条件<1>对象的改变只能在构造方法中调用,无任何方法可以改变对象的状态,即当通过构造方法后...
2020-01-22 12:49:34 221
原创 HandlerAdapter
1、HandlerAdapter是一个接口,是具体使用Handler来干活的;2、方法:<1>supports:传入一个Object类型的handler判断是否支持处理该handler;<2>handle:具体使用handler处理请求的过程,返回类型为ModelAndView;<3>getLastModified:获取资源上一次更改的时间;...
2020-01-16 00:16:31 2529
原创 HandlerExceptionResolver
用于解析请求处理过程中出现的异常;主要功能:给ModelAndView设置内容、设置response相关的属性;子类:AbstractHandlerExceptionResolverAbstractHandlerExceptionResolver:1、实现类Order,有先后顺序; 2、其他HandlerExceptionResolver的父类,定义了通用的解析流程,使...
2020-01-13 20:16:32 2764
原创 多级缓存
缓存算法、热点数据与更新缓存、更新缓存与原子性、缓存崩溃与快速恢复合理应用缓存也是一个选择问题;多级缓存:Nginx本地缓存、分布式缓存(底层为redis/redis主从架构)、tomcat堆缓存nginx本地缓存解决热点缓存问题;分布式缓存减少访问回源率;tomcat堆缓存解决缓存失效/崩溃之后的冲击;过期与不过期:①不设置过期时...
2020-01-29 00:26:06 568
原创 FlashMapManager、FlashMap---springmvc重定向
用于重定向时传递数据;一般情况下重定向时不传送数据的,如果一定要传送数据,可以采用拼接url的方式传递,但是存在安全和长度问题(即传送的数据量会受到限制);底层实现为将session中的参数用FlashMap来保存,参数有多个,所以用了List<FlashMap>1、实现类:2、两个方法:FlashMap retrieveAndUpdate(re...
2020-01-21 11:08:26 548
原创 重构-改善既有代码的设计之重新组织函数
Extract Method 提炼函数1、函数过长时或者一段代码需要进行注释时提炼出来; 2、函数的复用度也会较大; 3、不同的函数做的事情不同,通过名字就可以看出; 4、如果提炼出来的函数会涉及多个变量的改动,使用Split Temporary Variable后再进行提炼;或者使用Replace Temp with Query;Inline Method:内联函数...
2020-01-14 08:27:12 245
原创 ViewResolver
用来将视图名(viewName)和Locale解析为View类型的视图;resolveViewName(String viewName, Locale locale);Locale用来表示不同的区域;ViewResolver用来选择用哪种模板以及何种方式填入数据到模板中;四种类型:AbstractCachingViewResolver、BeanNameViewR...
2020-01-11 01:35:35 608
原创 ParameterizedType
Parameterizedtype参数化类型,所有泛型参数的类型都是ParameterizedTypegetActualTypeArguments()获取所有的泛型参数例如HashMap<K, V> ,结果为此方法只会获取第一层的,例如List<Map<String, Integer>>,结果为getR...
2020-01-03 17:43:47 415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人