摘要: 很早以前就知道JUnit也知道它用来做单元测试。今天突然又想到还是要学一下这个JUnit,不然说出去不知道怎么用JUnit做单元测试……作为一个程序员怪丢人的。第一篇JUnit不算是一个总结性的文章,只算是第一次摸索着学习JUint怎么来用。到目前来看,确实可能和网上说的一样,不过是多了几个main 阅读全文
posted @ 2016-09-18 23:48 OKevin 阅读(829) 评论(0) 推荐(0) 编辑
摘要: 原型模式涉及一个浅复制和深复制的概念。原型模式可以简单理解为“复制”,但这个复制不是代码的复制。对同一个类,我们可以实例化new三次来“复制”,但如果在初始化的时候构造函数的执行很长,多次实例化就显得效率很低效了。那我们能否只实例化一次,然后“复制”呢? 这样写吗?注意这是引用的复制,这实际上还是只 阅读全文
posted @ 2016-09-17 22:06 OKevin 阅读(5116) 评论(0) 推荐(0) 编辑
摘要: 要详细的了解Java反射,就得要了解Java的类加载以及何为运行时动态加载等等概念。本文抛开其余概念,简单介绍Java反射,详细介绍会在以后有一个系统而全面的认识过后展开。 反射是Java被视为动态语言的关键,它允许程序在运行时取得任何类的内部信息。Java的这个能力或许在Web应用中用得不是很多, 阅读全文
posted @ 2016-09-17 12:46 OKevin 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 对于建造者模式,我们首先来说明建造者模式是用来干嘛的。建造模式一般用于创建复杂对象,这些复杂对象的构建过程是稳定的,但是内部的构件通常要面临比较复杂的变化。怎么来解释呢?我们利用《大话设计模式》中的例子来解释,创建一个胖子和一个瘦子,我们需要画出头、手、脚、身体这几个部分,最没水平的写法是写两个类, 阅读全文
posted @ 2016-09-16 23:22 OKevin 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 前两篇我们自己首先实现了一个观察者模式,我们再利用Java自带的接口和类实现了观察者模式,但其实两种观察者模式存在不足的地方。之前两种观察者模式的观察者(订阅者)都是实现了一个同一个接口,实现了接口中的update方法,但是如果两个观察者风马牛不相及,完全无关呢?或者他们的方法名不一样这个时候该怎么 阅读全文
posted @ 2016-09-16 16:10 OKevin 阅读(1623) 评论(3) 推荐(0) 编辑
摘要: 对于观察者模式,其实Java已经为我们提供了已有的接口和类。对于订阅者(Subscribe,观察者)Java为我们提供了一个接口,JDK源码如下: 和我们上一篇实现的观察者一样,仅提供一个update方法用于接收通知者的通知做出相应改变。 我们再来看看Java为我们提供了一个怎样的通知者(Publi 阅读全文
posted @ 2016-09-15 00:06 OKevin 阅读(22806) 评论(0) 推荐(0) 编辑
摘要: 订阅者模式通常也成为发布-订阅模式,发布者也称为通知者,订阅者也称为观察者。通知者发出通知,各发布者则收到通知后做出相应的动作。由于存在不同的订阅者和通知者,所以将这两者抽象出来。 其实Subject和Observer是抽象类还是接口,这个是比较灵活的,取决于你的应用场景是怎样,总之就是要将它们抽象 阅读全文
posted @ 2016-09-14 00:20 OKevin 阅读(1017) 评论(0) 推荐(0) 编辑
摘要: 今天和同事聊起了单例模式的线程安全,我说如果不做任何措施,单例模式在多线程下是不安全的,得到的“单例”实际上并不是单例。但是为什么不是单例呢?由此我上网查了一下,在使用单例模式时,一定要注意线程安全问题,之前的写法没有任何问题。如下: 问题就在于,synchronized对整个方法加锁,形成同步机制 阅读全文
posted @ 2016-09-13 00:03 OKevin 阅读(15137) 评论(1) 推荐(0) 编辑
摘要: 在之前有接触过组合模式,那是第一次接触设计模式,觉得什么是组合模式啊?什么部分与整体。现在再来看组合模式,觉得实际上并没有那么神秘。 组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。这句话什么意思呢?凡是能类似树形结构的场景,均可使 阅读全文
posted @ 2016-09-11 23:05 OKevin 阅读(808) 评论(0) 推荐(0) 编辑
摘要: 这里对mybatis的入门介绍以官方最新MyBatis3.4.1为准,具体文档及jar包请访问:https://github.com/mybatis/mybatis-3/releases。 以前经常都在使用mybatis,但通常都是和Spring结合起来用,在配置的时候往往都是在网上或者东配置西配置 阅读全文
posted @ 2016-09-11 17:56 OKevin 阅读(1653) 评论(1) 推荐(0) 编辑