1.缘起:对于需要进行线程同步的地方,我们经常用的就是.NET内置的lock关键字和ReaderWriterLock类。lock的功能相对简单,因为它不区分读写,也就是说如果都在lock块中,读线程都会阻塞另一个读线程,在很多读远远多于写的应用中,这会极大地折损性能。所以我们也经常需要使用读写分离的锁ReaderWriterLock,使用它,我们可以明确的指定是要获取“读”锁还是“写”锁。而且,当前的“读”线程是不会阻塞其它的“读”线程的。lock的使用非
系统 2019-08-29 22:05:23 2168
近来在研究maplefetionapi,试着制作一个简单的飞信登录程序.当应用login()方法,进行异步客户端登录飞信时,登陆状态一起停留在"获取自适应系统配置"(SEETING_LOAD_DOING)状态上.开始以为是没有处理好用于监听飞信事件的线程.找了好久,都没找出什么毛病.结果用作者solosky提供的demo:SimpleFetion.java,MapleFetion.java发现也是如此.但是,用他提供的MapleFetionDemo.bat
系统 2019-08-12 09:30:13 2168
JVM内存机制资料笔记参考JDK5.0垃圾收集优化之--Don'tPausehttp://blog.csdn.net/calvinxiu/archive/2007/05/18/1614473.aspxJVM内存模型以及垃圾回收http://hi.baidu.com/xuwanbest/blog/item/0587d82f2c44a73d1e30892e.html对jvm内存的一些理解http://www.blogjava.net/midstr/archiv
系统 2019-08-12 09:30:04 2168
Webdriver同步设置常用等待类主要如下图所示注:support.ui包内类主要实现显性等待功能,timeouts()内方法主要实现隐性等待功能一.线程休眠Thread.sleep(longmillis)二.隐形等待隐性等待:设置一次,driver整个生命周期中都在使用,不需要针对元素明确设置driver.manage().timeouts().implicitlyWait(longoutTime,TimeUnitunit);全局设置,设置driver
系统 2019-08-12 09:27:30 2168
显式等待ExplicitwaitFunctionwaitFn=newFunction(){@OverridepublicBooleanapply(WebDriverdriver){PointnewPos=page.getWDGAttrDetail().getLocation();returnnewPos.getY()!=prePos.getY();}};SeleniumUtil.c
系统 2019-08-12 09:27:24 2168
Aspose.Words是一个极其强大的Word操作组件,包括.Net和Java两个版本,这里介绍的是.Net版本。Aspose.Words的详细介绍在其官方网站上有介绍,但比较少有对Word模板的描述。可以在官方网站上下载例子程序,其中包含了不少Word模板。Aspose.Words主要通过Words里域(Fields)来控制内容,基本方式就是新建一个新Word文件,在菜单中选择插入->域,选择MergeField,属性->域名中输入和数据库表字段相同的
系统 2019-08-12 09:27:20 2168
使用WinPcap编程创建一个使用wpcap.dll的应用程序用MicrosoftVisualC++创建一个使用wpcap.dll的应用程序,需要按以下步骤:在每一个使用了库的源程序中,将pcap.h头文件包含(include)进来。如果你在程序中使用了WinPcap中提供给Win32平台的特有的函数,记得在预处理中加入WPCAP的定义。如果你的程序使用了WinPcap的远程捕获功能,那么在预处理定义中加入HAVE_REMOTE。不要直接把remote-e
系统 2019-08-12 09:27:12 2168
3常用命令3.1.启动ZK服务:bin/zkServer.shstart3.2.查看ZK服务状态:bin/zkServer.shstatus3.3停止ZK服务:bin/zkServer.shstop3.4.重启ZK服务:bin/zkServer.shrestart3.5连接服务器zkCli.sh-server127.0.0.1:21813.6查看根目录ls/3.7创建testnode节点,关联字符串"zz"create/zk/testnode"zz"3.8
系统 2019-08-12 09:27:07 2168
1.尽量使用事务处理更新数据库VB的事务处理包括以BeginTrans开始,以CommitTrans或Rollback结尾的多条数据库操作指令。事务处理除了能很好的保证数据库的完整性以外,同时能大大提高数据库批量更新的效率。这是因为如果数据库更新操作没有使用事务处理,则每次Update操作都会引起数据库写盘一次。使用事务处理后,更新只在内存缓冲区内进行,执行CommitTrans时才将所有修改一次写回到磁盘中。使用事务处理要注意一下几点:(1)事务处理要有
系统 2019-08-12 01:52:14 2168
--测试数据CREATETABLEtb(col1varchar(10),col2int)INSERTtbSELECT'a',2UNIONALLSELECT'a',3UNIONALLSELECT'a',6UNIONALLSELECT'a',7UNIONALLSELECT'a',8UNIONALLSELECT'b',3UNIONALLSELECT'b',5UNIONALLSELECT'b',6UNIONALLSELECT'b',7GO--已用编号分布查询SEL
系统 2019-08-12 01:51:40 2168