- 博客(14)
- 收藏
- 关注
原创 线程与进程
1.如何理解进程和线程进程:操作系统进行资源调度和分配的一个基本单位(浏览器,APP,JVM)线程:进程中最小执行单位(可以理解为一个顺序执行流) 说明:多个线程可以共享所属进程的所有资源2.如何理解多线程的并行与并发并发:多线程抢占CPU,可能不同时执行,侧重于各个任务交替执行并行:线程可以不共享CPU,可每个线程一个CPU同时执行多个任务 并行只出现在多CPU或多核CPU中...
2019-07-27 16:25:19 119
原创 装饰模式
1.如何理解装饰模式油漆工模式基于目标对象添加额外职责(功能扩展)2.装饰模式场景分析IO(BufferReader) new BufferedReader(new FileReader)mybatis
2019-07-27 09:26:22 98
原创 模板方法模式
1.如何理解模板方法模式基于算法步骤进行封装(算法骨架)算法步骤中的部分实现交给子类2.场景分析Mybatis(SqlSessionTemplate,BaseExecutor)Spring(JDBCTemplate)3.模板方法角色抽象产品(AbstractObject)具体产品(ConcreteObject)4.应用分析优势:提高代码的复用性劣势:对于静态方法而...
2019-07-26 16:37:57 82
原创 策略模式
1.如何理解策略模式基于面向对象中封装变化的思想将算法进行封装基于多态性实现策略的灵活变化2.策略模式场景分析Mybatis(Executor,Cache)Spring(AOP)3.策略模式角色构成Context:环境类(抽象策略持有者)Strategy:抽象策略类(定义了策略的抽象类或接口)ConcreteStrategy:具体策略类(实现了具体策略的对象)4.策...
2019-07-26 16:20:00 81
原创 代理模式
1.如何理解代理模式基于目标对象(Target)创建代理对象(Proxy),并由代理对象控制目标对象的执行基于OCP原则扩展目标对象的功能(装饰模式也可以实现,但是装饰模式不可以控制目标对象)2.代理模式场景分析mybatis(为接口创建代理对象,拦截器应用)spring(AOP,JDK动态代理,CGLIB代理)3.代理模式角色构成Subject:抽象主题角色(可以省略,基...
2019-07-26 16:05:50 87
原创 适配器模式
1.如何理解适配器模式(Adapter)适配器模式(Adapter Pattern) 将一个接口转换为客户希望的另一个接口,以解决接口不兼容问题又可以叫包装器模式分为类适配器,对象适配器2.适配器模式场景分析Mybatis(Log接口)Spring(HandlerAdapter,AdviserAdapter,HandlerInterceptorAdapter)AdviserAda...
2019-07-26 15:30:55 73
原创 单例模式
1.如何理解单例模式保证一个类的实例在"“特定范围”"只有一份(例如一个JVM内部,一个线程内部),并且提供一个全局访问点可以访问到这份实例2.单例模式应用场景Spring(Singleton作用域的Bean对象) BeanFactory.getBean访问点Mybatis(ErrorContext对象是每个线程一份此类实例)常量池,连接池,线程池等3.单例模式对象角色构成...
2019-07-26 14:26:27 77
原创 建造模式
1.如何理解(Builder)也可以理解为构建模式,通常用于构建相对比较复杂的对象,构建过程复杂(很多过程又重复比较多)对象依赖关系复杂2.建造模式应用分析Mybatis(XmlConfigBuilder,XmlStatementBuilder)Spring(XmlBeanDefinitionReader)3.建造模式对象角色分析抽象建造者对象角色(Builder):可能...
2019-07-26 10:00:31 64
原创 工厂方法模式的理解
1.工厂方法模式的理是一种创建型模式基于抽象工厂扩展具体工厂然后创建产品对象2.工厂方法模式应用场景Mybatis(SqlSessionFactoryBean)Shiro(ShiroFilterFactoryBean)Spring(DataSourceFactory,TransactionFactory)3.工厂方法模式角色抽象产品(Product)具体产品(Concr...
2019-07-25 20:31:18 172
原创 反射应用及理解
如何理解反射1)java中一种特有的技术2)java中自省特性的一种实现(对象运行时动态发现对象及成员)3)可以实现java动态编程,提高了框架编程的通用性应用场景1)构建对象2)方法调用总之:反射不能预知未来,但可以驾驭未来,通过反射可以构建编程框架,实现通用性编程,简化代码编写反射应用起点引用发射的起点为字节码文件Class对象1)类名.class2)Clas...
2019-07-25 17:39:38 157
原创 序列化和反序列化
1.概念序列化:把对象转为字节或者字符的过程反序列化:把字节或者字符转为对象的过程2.序列化应用场景(1)网络通讯(微服务架构中,服务之间的调用Dubbo框架中的RPC调用)(2)存储数据(文件或者缓存)3.java中如何序列化和反序列化(1)对象实现serializable接口(2)添加序列化id(为反序列化提供保障)(3)借助流对象完成序列化与反序列化4...
2019-07-25 15:56:30 100
原创 如何理解泛型
1.泛型的理解JDK1.5出现的一种新特性,可以理解为参数化类型2.为何使用泛型提高代码的通用性,程序运行时的性能(泛型编译时有效,运行时无效)3.泛型的应用可以修饰类,接口,方法4.泛型的通配符(?)主要是用于变量的定义5.泛型上下界<? extends Object> 表示上界是Object类型,即传入的类型必须继承Obejct,也可以是Obej...
2019-07-25 14:50:44 358
原创 谈谈你对spring MVC的理解
spring MVC是一种分层设计思想目标是将复杂的应用系统按照分层处理进行设计和规划,通过这种设计方式达到分而治之的效果,从而降低程序开发的难度,提高代码的可维护性....
2019-07-24 11:30:35 2198
原创 谈谈你对spring框架中IOC的理解
What?When?Why?How?spring框架的IOC是一种控制反转思想,基于这种思想可以科学管理对象资源,降低对象之间的耦合性,提高应用对象的灵活性,spring框架的核心就是IOC思想的实现,spring中所有的模块都是基于IOC,更重要的是基于IOC整合各种资源,例如Hibenate,AOP,Redis,Shiro等...
2019-07-24 11:21:32 217
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人