摘要: Jms即java消息服务javamessage service,所谓的面向消息编程,主要应用在企业内部各个系统之间做接口,以异步方式传递消息数据。Jms有2种传送模式,先来看第一种,即点对点传送模式首先是参与整个过程的系统,总共有3个,分别是发送方系统、jms服务器、接收方系统,原理很简单,基本步骤如下:1、 发送方将jms消息发送到jms服务器;2、 Jms服务器有一个消息队列,所谓队列就是先进先出;jms服务器接收到消息后,把消息放到消息队列中;3、 接收方主动的去jms服务器的消息队列中查询消息;以上步骤中,有几个关键点,理解了这几个关键点,就理解原理了。关键点如下:1、 发送方把消息发 阅读全文
posted @ 2014-03-03 17:21 外星猿 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 文章转自:http://www.cnblogs.com/adslg/archive/2012/06/23/2559206.html 感谢作者的分享摘要:本文对B树索引的结构、内部管理等方面做了一个全面的介绍。同时深入探讨了一些与B树索引有关的广为流传的说法,比如删除记录对索引的影响,定期重建索引能解决许多性能问题等。1.B树索引的相关概念 索引与表一样,也属于段(segment)的一种。里面存放了用户的数据,跟表一样需要占用磁盘空间。只不过,在索引里的数据存放形式与表里的数据存放形式非常的不一样。在理解索引时,可以想象一本书,其中书的内容就相当于表里的数据,而书前面的目录就相当于该表的索引。同 阅读全文
posted @ 2014-02-24 15:05 外星猿 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。第二部分结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。第三部分根据上面 阅读全文
posted @ 2014-02-24 00:26 外星猿 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 军规一:【避免在程序中使用魔鬼数字,必须用有意义的常量来标识。】军规二:【明确方法的功能,一个方法仅完成一个功能。】军规三:【方法参数不能超过5个】军规四:【方法调用尽量不要返回null,取而代之以抛出异常,或是返回特例对象(SPECIAL CASE object,SPECIAL CASE PATTERN);对于以集合或数组类型作为返回值的方法,取而代之以空集合或0长度数组。】军规五:【在进行数据库操作或IO操作时,必须确保资源在使用完毕后得到释放,并且必须确保释放操作在finally中进行。】军规六:【异常捕获不要直接catch (Exception ex) ,应该把异常细分处理。】军规七: 阅读全文
posted @ 2014-01-12 17:15 外星猿 阅读(220) 评论(0) 推荐(0) 编辑
摘要: import java.util.Random;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class ThreadReadWriteLock { /** * 读写锁 * 读得时候还能读 * 读的时候不能写 * 写的时候不能读 * 写的时候不能写 */ publi... 阅读全文
posted @ 2012-12-10 21:58 外星猿 阅读(160) 评论(0) 推荐(0) 编辑
摘要: http://developer.apple.com/library/ios/samplecode/Birthdays/Birthdays.ziphttp://developer.apple.com/library/ios/samplecode/ClockControlPalette/ClockControlPalette.ziphttp://developer.apple.com/library/ios/samplecode/MVCNetworking/MVCNetworking.ziphttp://developer.apple.com/library/ios/samplecode/Mov 阅读全文
posted @ 2012-06-05 23:03 外星猿 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:第一,控制资源的使用,通过线程同步来控制资源的并发访问;第二,控制实例的产生,以达到节约资源的目的;第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信。2. 尽量避免随意使用静态 阅读全文
posted @ 2012-06-03 22:23 外星猿 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 在Java中一种更好的单例实现方式 根据上面的分析,常见的两种单例实现方式都存在小小的缺陷,那么有没有一种方案,既能够实现延迟加载,又能够实现线程安全呢? 还真有高人想到这样的解决方案了,这个解决方案被称为Lazy initialization holder class模式,这个模式综合使用了Jav... 阅读全文
posted @ 2012-02-12 00:24 外星猿 阅读(174) 评论(0) 推荐(0) 编辑
摘要: TCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SY 阅读全文
posted @ 2012-01-09 13:30 外星猿 阅读(190) 评论(0) 推荐(0) 编辑