编程技术

架构设计:生产者/消费者模式

2009-03作者:编程随想来源:编程随想的博客[0]:概述今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。由于该模式很重要,打算分几个帖子来介绍。今天这个帖子先来扫盲一把。如果你对这个模式已经比较了解,请跳过本扫盲帖,直接看下一个帖子(关于该模式的具体应用)。看到这里,可能有同学心中犯嘀咕了:在四人帮(GOF)的23种模式里面似乎没听说过这种嘛!其实GOF那经典的23种模式主要是基于OO的(从书名《DesignPattern

系统 2019-08-29 23:11:47 2279

编程技术

CheckStyle中文文档(自己乱翻译的)

CheckStyle是一个很有趣的开源框架,他可以帮助检查Java代码中的代码规范,传统的代码检查是一种很无聊的工作,而且无法全面的去检查,而大公司一般都会定期的进行代码检查,不想做也不行,怕被别人找麻烦。而CheckStyle就是一个可以帮助我们自动去检查Java代码的工具,替我们分担了不少无聊(但也是重要)的工作。CheckStyle是一个高度可配置(通过XML配置需要检查的规范),他不但是免费的软件,而且还是一个开源的软件在CheckStyle的软件

系统 2019-08-29 23:02:20 2279

编程技术

基于消息的分布式架构

案例分析:基于消息的分布式架构DEC27TH,2012|COMMENTS美国计算机科学家,LaTex的作者LeslieLamport说:“分布式系统就是这样一个系统,系统中一个你甚至都不知道的计算机出了故障,却可能导致你自己的计算机不可用。”一语道破了开发分布式系统的玄机,那就是它的复杂与不可控。所以MartinFowler强调:分布式调用的第一原则就是不要分布式。这句话看似颇具哲理,然而就企业应用系统而言,只要整个系统在不停地演化,并有多个子系统共同存在

系统 2019-08-29 22:57:35 2279

编程技术

Jetty 服务器架构分析(下)

说过了服务器启动,最后来看一下请求处理过程,服务器启动好后,处于待命状态,请求来了,请求处理过程由分两个建阶段:请求连接建立过程(以NIO为例)前面有提到,从线程池中固定分配了一个线程专门用于等待新连接,就是上图的监听线程,没有请求来时,该线程是阻塞在accept()方法上的,当新连接来建立连接时,accept方法分配了一个socket,并将其设置为nonblocking,最后要做的就是将该socket丢给某个Acceptor线程(基本上机会均等)处理,然

系统 2019-08-29 22:16:55 2279

编程技术

这种需求,大家看看有没有比较好的解决方案

在我们的应用中,碰到了如图所示的一种网络结构。重新描述一下吧。网络A和网络B之间有防火墙进行隔离,网络B不能对网络A发起任何形式的连接访问,网络A中的服务器A上运行了一套数据迁移程序以及该数据迁移程序的Web监测控制台(其作用是对数据迁移程序进行监测和控制,比如查看其运行状态、数据处理日志等,这是监测。另外还有控制,比如数据迁移程序的停止、启动、重启、程序更新部署等),数据迁移程序可以通过jdbc连接网络B中部署的数据库服务器,除此之外,网络A和网络B不能

系统 2019-08-29 22:09:59 2279

编程技术

SIP Presence and Instant Message Example

ThisexampleshowshowSIPisusedinapresenceandinstantmessagingapplication.Presenceinformationcanbethoughtofasthestateofauserordeviceataparticularinstant.Itcanbeassimpleaswhetheraparticularuserissignedinornot,whethertheyareactiveatthei

系统 2019-08-29 22:06:56 2279

编程技术

分享8个最佳的代码片段在线测试网站

Itsourpleasuretosharebestresources/toolsforwebdevelopersanddesigner.Todaywearegoingtosharebestsitesfortestingcodesnippets,thesesitesprovidethebestplacewherewebdeveloperscantesttheircodefastandeasily.Overtheinternet,herearesomegrea

系统 2019-08-29 22:06:15 2279

编程技术

Using Subversion via TextPad

IfyoueditwithTextPadalot,youprobablywanttokeepbackupsoftheinbetweenversions.Insteadofmakingazipattheendoftheday,Irecommendtouseaversioncontrolsystem,likeSubversion.Moreover,it'sveryeasytocallitfromTextpaditself,andhenceyoucanmakei

系统 2019-08-29 22:04:08 2279

编程技术

【Lucene3.0 初窥】索引文件格式(5):posting数

★.frq词语频率数据文件.prx词语位置数据文件1、frq保存了词语所在文档的文档列表(docID)和该词语出现在文档中的频率信息。FreqFile(.frq)-->TermCountfrq文件包含TermCount个项。每一项都代表一个词,按照tis中的term的顺序排列。它分成两个部分:一部分是倒排表本身,也即一串的文档号及词频;另一部分是跳跃表,为了更快的访问和定位倒排表中文档号及词频的位置。TermFreq

系统 2019-08-29 21:59:39 2279

编程技术

算法系列15天速成——第一天 七大经典排序【上】

算法就好比程序开发中的利剑,所到之处,刀起头落。针对现实中的排序问题,算法有七把利剑可以助你马道成功。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Diagnostics;usingSystem.Threading;namespaceBubbleSort{publicclassProgram{staticvoidMain(s

系统 2019-08-12 09:30:27 2279

编程技术

struts2.0学习心得

:property等类似标签,访问的只是bean中的GETSET方法而非变量。//******************************************************************************使用equals时,如果需要与常量比较,那么将常量放在前面,这样会防止出现nullPoint异常。if(null==username||username.length()<6||username.length()>10)第

系统 2019-08-12 09:30:05 2279

编程技术

软件特征功能测试过程分析

作者:崔启亮原始出处:“中国本地化网www.giltworld.com”软件功能特征测试是国际化软件测试最先开始并且贯穿于整个软件开发

系统 2019-08-12 09:29:44 2279

编程技术

图解著名IT公司研发和产品之一:IBM,Apple,微

图解著名IT公司研发和产品之一:IBM,Apple,微软和谷歌(阿布达2012.06.23端午节于上海)花了2天时间,整理了一下目前IT公司的四大--IBM,Apple,微软和谷歌的研发和产品概况,以获得一些启示......图解著名IT公司研发和产品之一:IBM,Apple,微软和谷歌

系统 2019-08-12 01:33:04 2279

Python

Python中itertools模块用法详解

本文实例讲述了Python中itertools模块用法,分享给大家供大家参考。具体分析如下:一般来说,itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包含迭代器(如生成器和生成器表达式)的函数联合使用。chain(iter1,iter2,...,iterN):给出一组迭代器(iter1,iter2,...,iterN),此函数创建一个新迭代器来将所有的迭代器链接起

系统 2019-09-27 17:56:33 2278