搜索到与相关的文章
编程技术

ESBasic 可复用的.NET类库(10) -- 简易的读

1.缘起:对于需要进行线程同步的地方,我们经常用的就是.NET内置的lock关键字和ReaderWriterLock类。lock的功能相对简单,因为它不区分读写,也就是说如果都在lock块中,读线程都会阻塞另一个读线程,在很多读远远多于写的应用中,这会极大地折损性能。所以我们也经常需要使用读写分离的锁ReaderWriterLock,使用它,我们可以明确的指定是要获取“读”锁还是“写”锁。而且,当前的“读”线程是不会阻塞其它的“读”线程的。lock的使用非

系统 2019-08-29 22:05:23 2277

编程技术

【排序结构1】插入排序

1、基本概念介绍(1)如果待排序列中有两个相同的关键字Ki=Kj,其顺序是Ki在Kj之前。如果经过排序之后,Ki和Kj的顺序颠倒了,则说明这个排序方法是不稳定的。否则则是稳定排序。(2)在内存中就可以完成的排序过程,称为内部排序。如果待排数据量很大,内存不够容纳全部数据,在排序过程中必须对外存进行访问,则叫做外部排序。实际上,由于数据量级别不同。排序的方法会有很大的改变,思考排序效率的角度也不一样。这个专题系列未经特殊注明,都属于内部排序方法。2、直接插入

系统 2019-08-29 21:59:45 2277

编程技术

(原创)一个优秀软件开发人员的必修课:GRASP

我偶然在google或yahoo这样的搜索引擎搜索GRASP发现,除了国外的网站,国内网站多介绍和讨论GoF而很少介绍GRASP,即使这少量的文章也讲解非常粗略。个人认为作为优秀的开发人员,理解GRASP比GoF更重要,故写此文章。前面我在《(原创)一个优秀软件开发人员的必修课:GRASP软件开发模式浅析》中介绍了使用GRASP的目的,今天允许我调换一下顺序,先从低耦合讲起,因为诸如创建者模式、信息专家模式的根本目的就是降低耦合。1.低耦合(LowCoup

系统 2019-08-29 21:58:58 2277

编程技术

谈birt

1.格式化:这是一个内容广泛的主题,常见的需求:需求解决办法(以上为例)显示报表列头为中文设置报表外观对于报表数据列进行处理分页页眉和页脚如:将userid显示为"用户标识"。选择"userid",输入"用户标识"。选择对应的报表项,通过"属性编辑器"调整。如:将userid和username,显示成:userid:username。双击row["userid"],出现"表达式生成器",输入:row["userid"]+":"+row["username"

系统 2019-08-12 09:30:13 2277

编程技术

Hibernate使用Map实现多对多映射

数据库结构:createtableteam2(idvarchar(50)primarykey,namevarchar(50));createtablemember2(idvarchar(50)primarykey,namevarchar(50),agevarchar(50));createtablememberAtTeams2(membervarchar(50),teamvarchar(50),teamRolesvarchar(50));实体对象:pack

系统 2019-08-12 09:29:53 2277

各行各业

分支预测

昨天看到伯乐在线的一篇文章《为什么处理有序数组比无序数组快?》提到了分支预测,然后放狗搜了一下。试着说说我的理解。百科上解释分支预测是解决处理分支指令(if-then-else)导致流水线失败的数据处理方法,由CPU来判断程序分支的进行方向,能够加快运算速度。现在的CPU都是流水线型处理指令,比如执行指令顺序是A->B->C,在执行A指令的同时会译码B指令,同时读取C指令。这样可以加快指令执行速度。但是条件判断语句会破环流水线过程,CPU无法确定下一条指令

系统 2019-08-12 09:27:25 2277

各行各业

abiword架构分析笔记

源码版本:2.4.6打开文件文件操作:响应函数:UT_ErrorAP_Frame::loadDocument(constchar*szFilename,intieft,boolcreateNew)加载操作:loadDocument::errorCode=_loadDocument(szFilename,static_cast(ieft),createNew);打开word文件代码段UT_ErrorPD_Document::readF

系统 2019-08-12 09:27:14 2277

各行各业

用实例浅谈WCF消息队列

消息队列不同于传统的请求响应模式,它是客户端把消息发送给请求消息队列,服务可以稍后对消息进行处理并把处理结果发送给响应队列,而后客户端从响应队列读取服务处理后的消息。而且使用消息队列可以使客户端实现脱机工作。脱机应用程序必须有本地缓存数据,要采用异步通讯而且要把消息持久化,在与服务器联机后将消息发送出去。WCF是使用NetMsmqBinding来支持消息队列的,传输消息不是通过TCP或HTTP等,而是通过微软消息队列(MSMQ),这是Windows组件,可

系统 2019-08-12 09:26:53 2277

各行各业

邯郸市信息产业局关于参加2007’中国河北软件与

各县(市、区)、邯郸经济开发区、马头生态工业城管委会信息产业主管部门,有关企业:为进一步促进我省软件与信息服务业发展,增强全省软件企业与国内外软件和服务外包企业间的沟通与合作,2007年11月28-29日在我市邯郸宾馆举办2007’中国?河北软件与信息服务业发展国际论坛。本次论坛由河北省信息产业厅和邯郸市人民政府主办,邯郸市信息产业局等单位承办。现将有关事项通知如下:一、论坛内容论坛以“新趋势、新机遇、新挑战”为主题,旨在推动我省软件与信息服务产业快速发展

系统 2019-08-12 09:26:39 2277

数据库相关

实用的存储过程

笔者工作的公司采用的是SQLServer数据库,每天都要处理大量的数据,由于笔者进公司的时间比较晚,公司现有的大部分的程序都是以前的程序员留下的,因为他们没有相关的文档,笔者对于后台数据库的很多表的结构和数据都不甚了解,给日常的维护造成了很大的麻烦。在对后台数据库进行研究的过程中,我需要得到数据库的某些相关信息,比如,我希望知道各个用户表占用多少磁盘空间,并且排列出来,可以让我知道哪些表比较大,数据比较多等等——我相信,这可能也是不少数据库管理员所关心的问

系统 2019-08-12 01:54:02 2277