JUnit源码分析(三)——TemplateMethod模式在JUnit执行测试时,我们经常需要初始化一些环境供测试代码使用,比如数据库连接、mock对象等等,这些初始化代码应当在每一个测试之前执行并在测试方法运行后清理。在JUnit里面就是相应的setUp和tearDown方法。如果没有这两个方法,那么我们要在每个测试方法的代码内写上一大堆重复的初始化和清理代码,这是多么愚蠢的做法。那么JUnit是怎么让setUp和tearDown在测试执行前后被调用的
系统 2019-08-12 09:29:29 2298
访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由地演化。数据结构的每一个节点都可以接受一个访问者的调用,此节点向访问者对象传入节点对象,而访问者对象则反过来执行节点对象的操作。这样的过程叫做"双重分派"。节点调用访问者,将它自己传入,访问者则将某算法针对此节点执行。双重
系统 2019-08-12 09:29:28 2298
LDAP协议基础概念1.从用途上阐述LDAP,它是一个存储静态相关信息的服务,适合“一次记录多次读取”。经常使用LDAP服务存储的信息:公司的物理设备信息(如打印机,它的IP地址、存放位置、厂商、购买时间等)公开的员工信息(地址、电话、电子邮件…)合同和账号信息(客户信息、产品交付日期、投标信息、项目信息…)凭证信息(认证凭证、许可证凭证…)2.从数据结构上阐述LDAP,它是一个树型结构,能有效明白的描写叙述一个组织结构特性的相关信息。在这个树型结构
系统 2019-08-12 09:27:16 2298
1博弈论简介2博弈论基础知识34(一)巴什博奕(BashGame):56只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜.78若(m+1)|n,则先手必败,否则先手必胜。910显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜.因此我们发现了如何取胜的法则:如果n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者
系统 2019-08-12 09:27:07 2298
分布式事务必须使用的数据库支持并且提供XA连接驱动如mysql的5.0+版本驱动中就有com.mysql.jdbc.jdbc2.optional.MysqlXAConnection等这些对XA分布事务支持的连接,所以理所当然我们要使用XA事务就必须使用这种XA连接,mysql5.1是支持分布事务的,mysql驱动需要5.0+Atomikos分两个:一个是开源的TransactionEssentials,一个是商业的ExtremeTransactions。T
系统 2019-08-12 09:27:02 2298
http://blog.sina.com.cn/s/blog_539d361e0100xcy9.htmlhttp://stackoverflow.com/questions/6923071/lucene-is-it-the-right-answer-for-huge-indexhttp://www.hpl.hp.com/techreports/2008/HPL-2008-64.htmlhttp://www.gossamer-threads.com/list
系统 2019-08-12 09:26:40 2298
在Oracle10g以前的版本,更改表空间名字是几乎不可能的事情,除非删除,重新创建,大费周章。Oracle10g新添加了一项更改表空间名字的功能,使得更改表空间名字瞬间即可完成。是个较为人性化的功能。SQL>SELECTfile_name,tablespace_nameFROMdba_data_files;FILE_NAMETABLESPACE--------------------------------------------------------
系统 2019-08-12 01:54:38 2298
在sql语句中替换NotIn的方法:前言:今天在写一条sql查询语句,其需要从一个表A中返回所有A不再表B中的结果集,当然,这种实现最方便的方法就是用NOTIN。如:selecta.*fromawherea.idnotin(selectidfrombwhere…..)我们大家都知道很多sql方面的文章都建议大家尽量不要使用NOTIN的方法,因为这种方法的效率不高。那有没有替代的办法呢?(声明因为当时的情况要求不能使用储存过程,所以只有写sql语句)和同事实
系统 2019-08-12 01:54:34 2298
1简介2简单编译2.1预处理2.2编译为汇编代码(Compilation)2.3汇编(Assembly)2.4连接(Linking)3多个程序文件的编译4检错5库文件连接5.1编译成可执行文件5.2链接5.3强制链接时使用静态链接库1简介GCC的意思也只是GNUCCompiler而已。经过了这么多年的发展,GCC已经不仅仅能支持C语言;它现在还支持Ada语言、C++语言、Java语言、ObjectiveC语言、Pascal语言、COBOL语言,以及支持函数
系统 2019-08-12 01:33:07 2298
在VisualBasic中,常用的数据访问接口有下列三种:数据库访问对象(DAO,DataAccessObject)、远程数据库对象(RDO,RemoteDataObject)和ActiveX数据对象(ADO,ActiveXDataObject)。数据库访问技术一直在不断进步,而这三种接口的每一种都分别代表了该技术的不同发展阶段。最新的是ADO,它是比RDO和DAO更加简单,然而更加灵活的对象模型。正因如此,越来越多的人在用VB开发数据库软件时使用ADO作
系统 2019-08-12 01:33:02 2298