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

Lucene-2.2.0 源代码阅读学习(32)

关于SpanQuery(跨度搜索),它是Query的子类,但是SpanQuery仍然是一个抽象类,它有6个直接子类实现类。继承关系如图所示:其中SpanTermQuery是一个最基础的跨度搜索实现类,SpanTermQuery与SpanQuery的关系,就如同TermQuery与Query的关系:SpanTermQuery是为SpanQuery其它的具体实现子类服务的,其实TermQuery也是为Query的具体子类实现类服务的,例如构造一个Boolean

系统 2019-08-29 22:57:59 2337

编程技术

memcache一致性 hash 算法(consistent hashing)

consistenthashing算法早在1997年就在论文Consistenthashingandrandomtrees中被提出,目前在cache系统中应用越来越广泛;1基本场景比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache;hash(object)%N一切都运行正常,再考虑如下的两种情况;1一个ca

系统 2019-08-29 22:47:02 2337

编程技术

数字的全排列 问题

这个不解释,DFS的经典应用,不过很容易超时最好用文件输出,貌似dev上显示的排列不全#include#include#include#include#includeintvis[20];intA[20];intn;voiddfs(intcur){if(cur==n+1){inti;for(i=1;i<=n;i

系统 2019-08-29 22:34:25 2337

编程技术

PNG格式文件结构详解

前言我们都知道,在进行J2ME的手机应用程序开发的时候,在图片的使用上,我们可以使用PNG格式的图片(甚至于在有的手机上,我们只可以使用PNG格式的图片),尽管使用图片可以为我们的应用程序增加不少亮点,然而,只支持PNG格式的图片却又限制了我们进一步发挥的可能性(其实,应该说是由于手机平台上的处理能力有限)。在MIDP2中,或者某些厂商(如NOKIA)提供的API中,提供了drawPixels/getPixels的方法,这些方法进一步提高了开发者处理图片的

系统 2019-08-29 22:32:15 2337

编程技术

给华育国际的学员分讲了一堂课:如何做技术

受朋友所托,傍晚的时候,给“华育国际”的中关村校区的一些学员讲了一堂课。主要内容是讲“如何学技术”,顺便在最后也翻了翻自己的特长,侃了部分有关workflow的知识。但主要还是讲如何成为一个好的技术员。给这些“孩子们”讲课还挺难的。称他们孩子,那是有根据的。这帮学员都刚刚高中毕业没多久,大学没读上,家长送到“华育国际”这种IT培训机构,希望短时间学点IT技能可以找个工作糊口。IT原先是很“高雅”的工作,不过现在真的已经是一个“普通”行当了。跟那些培训机构培

系统 2019-08-29 22:28:50 2337

编程技术

ESBasic 可复用的.NET类库(07) -- 回调定时

1.缘起:举个例子也许就能够说清楚回调定时器的用途。假设我的订单系统接收各种不同类型的订单,当订单A进来时,系统根据订单的类型和其它特征进行综合判断后,决定A订单要在2秒之后被方法M1处理;接下来收到的B订单经过同样的判断后,决定要在10秒后被方法M2处理,……。这时候就可以用回调定时器来管理这些将要被延迟一定时间再执行的任务。当然,我们可以使用定时器或前面介绍的循环引擎来实现这样的功能,只不过我们自己需要手动管理注册的定时回调任务,并且定时检查每一个未处

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

编程技术

ibatis源码分析(一)

最近读ibatis的源码,记一下笔记。以后可以看看。先来看看ibatis的接口包com.ibatis.sqlmap.client,也是程序的灵魂。SqlMapClient是ibatis框架的入口接口,它实现类是一个线程安全的类,它继承了SqlMapExecutor接口和SqlMapTransactionManager接口,其中SqlMapExecutor主要负责sqlstatement语句执行,也是我们平常所操作的CRUD。SqlMapTransactio

系统 2019-08-29 22:00:10 2337

编程技术

多线程编程

多线程是Java程序设计语言的一个亮点,它使用户可以很方便地编写多线程程序,虽然编写多线程代码需要考虑诸如安全、死锁、资源共享的问题,但是总体上讲Java在编写多线程程序上比其他语言都要简洁。使用多线程最直接的例子是具有用户界面的程序。如果用户界面上设计了一个按钮,一旦单击该按钮程序会自动在网络上搜索指定数据,当然这个过程会持续一段时间。如果没有多线程实现技术,就会出现用户界面无法控制的局面,即在网络数据搜索完之前,用户界面根本不响应其他界面输入。整个界面

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

编程技术

shell编程:对话 UNIX: 更多 shell 脚本技术

尽管在近两年使用过UNIX的一些人可能尝试过shell脚本编程,但是他们很可能只是研究操作系统的细节,并不精通shell脚本编程。本文针对那些希望进一步了解shell脚本,并开始编写更高级脚本的读者。本文提供脚本编程的基础知识,包括如何简化脚本、如何尽可能保持脚本的灵活性、如何编写干净的脚本、在脚本内编写注释以及调试脚本。保持简单在人们学习如何编写shell脚本时,常常遇到的一个问题是,重复他们在另一个脚本中已经做过的工作。他们其实不需要复制原来的脚本并修

系统 2019-08-12 09:29:54 2337