摘要:
目录信息检索的概念信息检索技术的分类全文检索与数据库查询对比全文检索工具一般由三部分构成全文检索中建立索引和进行检索的流程索引里面究竟存什么如何创建索引如何对索引进行检索Lucene系统结构与源码组织图Lucene索引文件的概念组成和结构组成1、信息检索的概念信息检索就是从信息集合中找出与用户需求相关的信息。被检索出的信息除了文本外,还有图像、音频、视频等多媒体信息。2、信息检索技术的分类目前信息检索技术可分为3类:全文检索:把用户的查询请求和全文中的每一个词进行比较,不考虑查询请求与文本语义上的匹配。在信息检索工具中,全文检索是最具通用性和实用性的。数据检索:查询要求和信息系统中数据都遵循一 阅读全文
2013年6月22日 #
摘要:
Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。Java NIO出现不只是一个技术 阅读全文
摘要:
五、迷惑不解:为什么要自己消耗资源?令人不解的是为什么我们的Java的New I/O要设计成这个样子?如果说老的I/O不能多路复用,如下图所示,要开N多的线程去挨个侦听每一个Channel (文件描述符),如果这样做很费资源,且效率不高的话。那为什么在新的I/O机制依然需要自己连接自己,而且,还是重复连接,消耗双倍的资源?通过WEB搜索引擎没有找到为什么。只看到N多的人在报BUG,但SUN却没有任何解释。下面一个图展示了,老的IO和新IO的在网络编程方面的差别。看起来NIO的确很好很强大。但似乎比起C/C++来说,Java的这种实现会有一些不必要的开销。六、它山之石:从Apache的Mina框 阅读全文
摘要:
一、前言自从J2SE 1.4版本以来,JDK发布了全新的I/O类库,简称NIO,其不但引入了全新的高效的I/O机制,同时,也引入了多路复用的异步模式。NIO的包中主要包含了这样几种抽象数据类型:Buffer:包含数据且用于读写的线形表结构。其中还提供了一个特殊类用于内存映射文件的I/O操作。Charset:它提供Unicode字符串影射到字节序列以及逆映射的操作。Channels:包含socket,file和pipe三种管道,都是全双工的通道。Selector:多个异步I/O操作集中到一个或多个线程中(可以被看成是Unix中select()函数的面向对象版本)。我的大学同学赵锟在使用NIO类库 阅读全文