- 博客(19)
- 收藏
- 关注
原创 SpringMVC
一.Spring MVC九大组件HandlerMappings 存储url与handler的映射,handler就是一个被@RequestMapping标记的方法 HandlerAdapters 适配器,就是将传入的参数转换成被@RequestMapping标记的方法的入参 HandlerExceptionResolvers 抛出的异常渲染转化器,将handler抛出...
2019-05-07 21:38:25 187
原创 SpringAOP
一.AOP基本概念切面(Aspect) 面向规则,具有相同规则的方法的集合体(设置一个匹配规则) 通知(Advice) 回调 切入点(Pointcut) 需要代理的具体方法 目标对象(Target Object) 被代理对象 AOP代理(AOP Proxy) 主要两种方式:JDK,CGLib 前置通知(Before Advice) 在in...
2019-05-04 19:44:13 247
原创 SpringDI
一.依赖注入发生的时间1.当用户第一次调用getBean()方法时,IOC容器触发依赖注入2.当用户在配置文件中将<bean>元素配置lazy-init=false属性,即让容器在解析注册Bean定义时进行预实例化,触发依赖注入二.SpringDI时序图...
2019-05-03 15:42:49 297
原创 手写Mini版SpringMVC
一.SpringMVC前期准备1.IOC基本执行原理(流程):ioc就是一个MAP(key:beanName,value:Object(反射的实例))a.先配置包扫描路径(例:cn.com.bardream,demo->扫描demo包下所有.class类)b.识别出被标记上的@MYController@MYService注解的类c.通过反射实例化被标记的类后,加载到ioc容器...
2019-04-21 19:26:27 454
原创 各设计模式总结与对比
各设计模式总结与对比设计模式总结应用工厂模式将创建对象过程封装BeanFactoryCalendar原型模式复制,克隆PrototypeBean单例模式当前进程内独一无二ApplicationContextCalendar适配器模式兼容转换AdvisorAdapterHandlerAdapter装饰者模式通过构造函数,层层包装Bu...
2019-04-14 18:13:40 172
原创 观察者模式
一.观察者模式观察者模式:对象之间的一对多依赖,让多个观察者对象同时监听一个主体对象,当主体对象发生变化时,观察者对象收到通知并更新二.观察者模式-示例朋友圈关注-JDK实现当我们设置关注某一个人时,ta的朋友圈更新,我们也会收到消息提醒1.新建一个朋友圈消息类// 朋友圈消息public class WechatMessage { // 发朋友圈的名字 ...
2019-04-14 01:15:27 132
原创 装饰者模式
一.装饰者模式装饰者模式:通过构造函数,一直对一个基本类进行装饰.二.装饰者模式-示例-点餐我们在点餐时,都是在一份米饭上加不同的东西,鸡肉,香菇,等1.新建一IOrder接口public interface IOrder { public int order();}2.新建一被装饰类---接下来的所有操作都是在一份米饭上进行的public class ...
2019-04-07 15:18:48 176
原创 适配器模式
一.适配器模式适配器模式:在不改变旧有代码的实现逻辑的同时,又将原有接口的方法进行增强或转换,去适配新的需求二.适配器模式-示例1.新建IDao接口---有增,改,查方法public interface IDao { public int insert(int id, String name); public int updateById(int id, St...
2019-04-07 00:25:27 251
原创 模板模式
一.模板模式模板模式:就是步骤的复用,将特性化的东西,交给子类去实现.如果代码中有多段处理逻辑是一摸一样的代码,但却含有着各自特性的地方,就可以将步骤抽象出一个抽象类,将特性化的地方,用抽象方法代替,交由子类去实现各自特性化的东西.二.模板模式-示例-水果榨汁比方我们有苹果,西瓜,需要榨汁1.不采用模板模式public class LowTest { public...
2019-04-06 20:58:21 207
原创 策略模式
一.策略模式策略模式:根据不同选择,进行不同算法切换二.策略模式-示例以游戏中的段位匹配进行示例展示-比如青铜的只能匹配青铜到白银,等1.不采用策略模式写法public class Test { public static void main(String[] args) { String level = "青铜"; int num ...
2019-04-06 14:30:38 179
原创 委派模式
一.委派模式委派模式:负责任务的调度和分配任务,也就是当任务下来了,找人干活!二.委派模式-示例1.新建一IExecute接口,用于下发命令public interface IExecute { public void execute(String cmd);}2.新建一员工A类实现IExecute接口-进行命令的具体实现-只会削苹果// 该员工只会削苹果...
2019-04-06 11:48:51 646
原创 动态代理
一.动态代理动态代理的作用:就是在不破坏已经写好的类的情况下,去增强其中某些方法的功能,比如在调用方法之前或之后,做一些额外的操作.(像权限校验,等)动态代理的两种实现: 1.根据接口实现的动态代理(JDK) 2.根据类实现的动态代理(CGLIB)二.JDK中的proxy-使用1.先创建需要被代理的接口--其中eat()方法public int...
2019-04-05 20:34:01 256
原创 原型模式
一.原型模式原型模式,即克隆模式,主要采用浅克隆和深克隆,两种模式进行,省去创建对象的初始化时间和代码1.浅克隆新建一苹果类,有名称以及颜色属性public class Apple { public Apple(String color, String name) { this.color = color; this.name = nam...
2019-04-01 22:20:00 169
原创 单例模式
一.单例模式概念单例模式:为在程序运行期间,仅存在唯一实例构成:1.私有化构造函数,不允许其被实例化多次2.提供全局访问点二.单例模式-懒汉式和饿汉式两种1.饿汉式:在调用该单例之前,就已经进行了实例化public class HungrySingleton { private static HungrySingleton hungrySingleton =...
2019-03-31 22:35:14 187
原创 工厂模式-简单工厂,工厂方法,抽象工厂
一.简单工厂模式抽象工厂模式为:根据用户传入参数创建不同对象简单工厂类图:首先,定义一个车类产品对象抽象类public abstract class Car { public abstract void driver();}再分别定义其两个子类,一类为宝马车类,一类为奔驰车类,并实现其抽象方法driver()public class BenzCar ex...
2019-03-26 22:38:36 295
原创 JAVA最简单的根据版本号动态切换业务实现逻辑
/** * @ClassName Version * @Description 父类为抽象类,定义一个抽象方法,子类通过重写此方法完成各自业务逻辑 * @author LBQ * @Date 2019年3月8日 下午3:18:58 * @version 1.0.0 */public abstract class Version { public abstract Stri...
2019-03-08 15:31:51 1350
原创 如何排查CPU占用过高以及常见的几种情况
在最近上线过程中遇到cpu占用率过高问题由于问题已解决,此时仅重现操作方法1.先用top命令,找到cpu占用最高的进程 PID 如上图2.再用ps -mp pid -o THREAD,tid,time 查询进程中,那个线程的cpu占用率高 记住TID3.jstack 29099 >> xxx.log 打印出该进程下线程日志4.sz xxx.log 将日志文件下载到本地5.将查...
2018-05-16 10:44:06 34228 3
原创 红黑树插入修正和删除修正详解
红黑树概念请戳:点击打开链接-http://www.sohu.com/a/201923614_466939红黑树代码请戳:点击打开链接-https://www.cnblogs.com/skywang12345/p/3624343.html---------------------------------------------------------------------------------...
2018-03-05 20:37:53 1656 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人