上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 17 下一页
摘要: 标题一眼看过去可能不是很明白要讲什么,先来看看下面一段代码。 这段代码可以说是相当的熟悉。当有很多可选参数时,我们常常采用“重叠构造器”模式,在上例中也就是第一个只有必要参数的构造器,第二第三个均为可选。当然还有下面这种更为简单的写法——Javabeans模式。 这种不用多说,简单粗暴。下面就是不采 阅读全文
posted @ 2017-02-14 00:02 OKevin 阅读(613) 评论(0) 推荐(0)
摘要: //此文基于《Java并发编程实践》 我们都知道在应用程序中合理地使用缓存,能更快的访问我们之前的计算结果,从而提高吞吐量。例如Redis和Memcached基于内存的数据存储系统等。此篇文章介绍如何实现简单缓存。 首先定义一个Computable接口A是输入,V是输出。 实现这个接口,也即是在Ex 阅读全文
posted @ 2016-12-25 20:32 OKevin 阅读(2446) 评论(0) 推荐(0)
摘要: 栅栏CyclicBarrier和闭锁CountDownLatch类似,可以说它们都是用来计数,都能阻塞一组线程知道某个事件发生。不同的是闭锁用于等待事件,而栅栏用于等待其他线程。 在前一篇《CountDownLatch——闭锁的实现之一》中提到,在CountDownLatch里有一个计数器,一个线程 阅读全文
posted @ 2016-12-19 23:26 OKevin 阅读(457) 评论(0) 推荐(0)
摘要: 关于多线程,我们接触对多的,最基础,入门的可能就是实现Runnable接口继承Thead类,因为Java单继承的原因,通常建议是实现Runnable接口。但这种“简单”的线程会带来一个问题,写过的人都知道,不管是实现Runnable还是继承Thread类,他们都是实现public void run( 阅读全文
posted @ 2016-12-18 01:46 OKevin 阅读(1222) 评论(0) 推荐(0)
摘要: CountDownLatch实际上是一种闭锁实现。闭锁:是一种同步工具类,可以延迟线程的进度直到其到达终止状态——《Java并发编程实战》。这个怎么解释呢?简单来说,就是有1个线程需要等待其余10个线程都执行完毕后再执行,这个时候就可以使用闭锁,也即CountDownLatch(当然闭锁的实现并不止 阅读全文
posted @ 2016-12-15 00:01 OKevin 阅读(1077) 评论(0) 推荐(0)
摘要: 在上一篇博客中提到MyBatis是如何实现代理类MapperProxy,并抛出了一个问题——是怎么执行一个具体的sql语句的,在文末中提到了MapperMethod的execute采用命令模式来判断是何种sql语句,并将具体语句的执行交由SqlSession处理。所以此篇博客正是要讲到SqlSess 阅读全文
posted @ 2016-11-17 23:55 OKevin 阅读(25975) 评论(6) 推荐(0)
摘要: 在前面两篇的MyBatis源码解读中,我们一路跟踪到了MapperProxy,知道了尽管是使用了动态代理技术使得我们能直接使用接口方法。为巩固加深动态代理,我们不妨再来回忆一遍何为动态代理。 我相信在初学MyBatis的时候几乎每个人都会发出一个疑问,为什么明明是XXXDao接口,我没有用任何代码实 阅读全文
posted @ 2016-11-16 23:52 OKevin 阅读(4394) 评论(0) 推荐(0)
摘要: SqlSession可以说是整个MyBatis的重中之重,在SqlSession中涉及到前一篇四大对象:Executor、StatementHandler、ParameterHandler、ResultHandler,所以在此先只对SqlSession有一个大概的了解。 在代码中我们可以看到当我们构 阅读全文
posted @ 2016-11-15 23:44 OKevin 阅读(9891) 评论(0) 推荐(1)
摘要: 在前面对MyBatis稍微有点了解过后,现在来对MyBatis的源码试着解读一下,并不是解析,暂时定为解读。所有对MyBatis解读均是基于MyBatis-3.4.1,官网中文文档:http://www.mybatis.org/mybatis-3/zh/getting-started.html,My 阅读全文
posted @ 2016-11-14 23:33 OKevin 阅读(12737) 评论(4) 推荐(4)
摘要: 因为最近重新看了泛型,又看了些反射,导致我对Object、T(以下代指泛型)、?产生了疑惑。 我们先来试着理解一下Object类,学习Java的应该都知道Object是所有类的父类,注意:那么这就意味着它的范围非常广!首先记住这点,如果你的参数类型时Object,那么的参数类型将非常广! 《Thin 阅读全文
posted @ 2016-11-12 00:19 OKevin 阅读(45484) 评论(3) 推荐(4)
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 17 下一页