设计模式
文章平均质量分 92
HelloWorld搬运工
HelloWorld是学习程序的第一个程序,搬运工是将一件东西从一个地方运到另一个地方。HelloWorld搬运工,分享技术知识,有原创也有转发,彼此交流,一起学习,共同进步。
展开
-
Observer 观察者模式
简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。一、观察者模式的结构 本模式的类图结构如下: 在观察者模式里有如下的角色:抽象主题(Subject)角色:主题角色把所有的观察者对象的引用保存在一个列表里;每个主题都可以有任何数量...原创 2017-07-17 18:54:07 · 535 阅读 · 0 评论 -
spring ApplicationListener实现Observer观察者模式
什么是ApplicationContext?它是spring的核心,Context我们通常解释为上下文环境,但是理解成容器会更好些。 ApplicationContext则是应用的容器。Spring把Bean(object)放在容器中,需要用就通过get方法取出来。ApplicationEvent是个抽象类,里面只有一个构造函数和一个长整型的timestamp。...原创 2017-07-17 19:22:54 · 836 阅读 · 0 评论 -
Java中三种代理方式—— 静态代理与两种动态代理的实现机制
1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明...原创 2020-03-18 21:15:49 · 17853 阅读 · 7 评论 -
排序算法:冒泡排序
冒泡排序是一种交换排序。什么是交换排序呢?交换排序:两两比较待排序的关键字,并交换不满足次序要求的那对数,直到整个表都满足次序要求为止。算法思想它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名。假...原创 2018-08-27 21:07:36 · 5141 阅读 · 2 评论 -
深入理解Java ClassLoader
ClassLoader 做什么的? 延迟加载 各司其职 ClassLoader 传递性 双亲委派 Class.forName 自定义加载器 Class.forName vs ClassLoader.loadClass 钻石依赖 分工与合作 Thread.contextClassLoaderClassLoader 是 Java 届最为神秘的技术之一,无数人被它伤透了脑筋,摸不清...原创 2019-02-17 20:26:19 · 615 阅读 · 0 评论