上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 28 下一页
摘要: 这也是篇老文了,相信很多人也看过。前面那些废话就不翻译了,直接切入正题吧~结构型模式:适配器模式:用来把一个接口转化成另一个接口。java.util.Arrays#asList()javax.swing.JTable(TableModel)java.io.InputStreamReader(Inpu... 阅读全文
posted @ 2016-01-21 17:11 人生如若初见 阅读(1316) 评论(0) 推荐(0) 编辑
摘要: 观察者模式在Java中有两种实现方式,上文是一种方式,这种方式是自己写代码实现。另一种方式是使用Java内置的观察者模式来实现。相关的接口和类如下:java.util.Observable 主题(可观察者)------classjava.util.Observer 观察者 -------interf... 阅读全文
posted @ 2016-01-21 16:57 人生如若初见 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 本文参考Head First设计模式一书,感觉书中的例子实在很好,很贴切。对模式的知识点进行总结,并对书的源码做了一定注释。观察者模式要点有二:主题和观察者。最贴切的案例是:杂志订阅,杂志是主题,观察者是订阅者。当出版新杂志时候,这个事件会自动通知所有的订阅者。根据OO基本原则,应该针对接口编程(当... 阅读全文
posted @ 2016-01-21 16:56 人生如若初见 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 在JDK1.5中,String类增加了一个非常有用的静态函数format(String format, Objece... argues),可以将各类数据格式化为字符串并输出。其中format参数指定了输出的格式,是最复杂也是最难掌握的一点,而argues则是一系列等待被格式化的对象。该函数对c语言... 阅读全文
posted @ 2016-01-15 14:53 人生如若初见 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操... 阅读全文
posted @ 2016-01-15 11:13 人生如若初见 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。在JDK1.5中,伟大的Doug Lea给我们带来了concurrent包,从此Map也有安全的了。ConcurrentHashMap具体是怎么实现线程安全的呢,肯定不可能是每个方... 阅读全文
posted @ 2015-12-29 10:41 人生如若初见 阅读(299) 评论(0) 推荐(0) 编辑
摘要: Log4j 2的好处就不和大家说了,如果你搜了2,说明你对他已经有一定的了解,并且想用它,所以这里直接就上手了。 1. 去官方下载log4j 2,导入jar包,基本上你只需要导入下面两个jar包就可以了(xx是乱七八糟的版本号): log4j-core-xx.jar log4j-api... 阅读全文
posted @ 2015-12-18 14:18 人生如若初见 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 在我们编程过程中如果需要执行一些简单的定时任务,无须做复杂的控制,我们可以考虑使用JDK中的Timer定时任务来实现。下面LZ就其原理、实例以及Timer缺陷三个方面来解析java Timer定时器。一、简介在java中一个完整定时任务需要由Timer、TimerTask两个类来配合完成。 API中... 阅读全文
posted @ 2015-12-10 18:46 人生如若初见 阅读(680) 评论(0) 推荐(0) 编辑
摘要: 第一种(懒汉,线程不安全):1publicclassSingleton{2privatestaticSingletoninstance;3privateSingleton(){}4publicstaticSingletongetInstance(){5if(instance==null){6inst... 阅读全文
posted @ 2015-12-10 15:40 人生如若初见 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchronized同步块大家都比较熟悉,... 阅读全文
posted @ 2015-12-10 15:35 人生如若初见 阅读(172) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 28 下一页