oscache.properties文件配置
摘要:1、cache.memory是否使用内存缓存;值为:true或false。默认为true;如设置为false,那cache只能缓存到数据库或硬盘中。2、cache.capacity缓存的最大数量。默认是不限制,cache不会移走任何缓存内容。负数被视不限制。3、cache.algorithm运算规则。为了使用规则,cache的size必须是指定的。如果cache的size不指定的话, 将不会限制缓存对象的大小。如果指定了cache的size,但不指定algorithm,那它会默认使用:com.opensymphony.oscache.base.algorithm.LRUCache有下面三种规则
阅读全文
posted @
2013-07-28 17:46
Ruthless
阅读(3818)
推荐(0) 编辑
OSCache安装
摘要:OSCache是一个基于web应用的组件,他的安装工作主要是对web应用进行配置,大概的步骤如下:1. 下载、解压缩OSCachehttps://java.net/downloads/oscache/下载合适的OSCache版本,解压缩下载的文件到指定目录。2、新建一个web应用3、将OSCache集成到web项目中: (1)从解压缩目录取得oscache.jar文件放到/WEB-INF/lib或相应类库目录中,jar文件名可能含有版本号和该版本的发布日期信息等。(2)将oscache.properties、oscache.tld放入WEB-INF\class目录(确切说是放在项目的src目录
阅读全文
posted @
2013-07-28 17:00
Ruthless
阅读(914)
推荐(0) 编辑
OSCache简介
摘要:一、简介Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能。OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存解决方案。OSCache是当前运用最广的缓存方案,JBoss,Hibernate,Spring等都对其有支持。Oscache的使用非常方便,特别是jsp cache用的非常广泛。Oscache的文档中也对jsp
阅读全文
posted @
2013-07-28 16:06
Ruthless
阅读(1285)
推荐(0) 编辑
java5 CyclicBarrier同步工具
摘要:CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点(common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier很有用。因为该barrier 在释放等待线程后可以重用,所以称它为循环的...
阅读全文
posted @
2013-07-26 16:54
Ruthless
阅读(3004)
推荐(2) 编辑
Java多线程-新特征-原子量
摘要:所谓的原子量即操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的。 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题。在Java5之前,可以通过volatile、synchronized关键字来解决并发访问的安全问题,但这样太麻烦。Java5之后,专门提供了用来进行单变量多线程并发安全访问的工具包java.util.concurrent.atomic,其中的类也很简单。package cn.thread;import java.util.concurrent.atomic.AtomicLong;public class AtomicRunnable implemen
阅读全文
posted @
2013-07-26 16:40
Ruthless
阅读(3193)
推荐(0) 编辑
java5 Condition用法--实现线程间的通信
摘要:Condition的功能类似在传统线程技术中的Object.wait()和Object.natify()的功能,传统线程技术实现的互斥只能一个线程单独干,不能说这个线程干完了通知另一个线程来干,Condition就是解决这个问题的,实现线程间的通信。比如CPU让小弟做事,小弟说我先歇着并通知大哥,大...
阅读全文
posted @
2013-07-26 16:11
Ruthless
阅读(5618)
推荐(0) 编辑
Java多线程-并发协作(生产者消费者模型)
摘要:对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。 实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产,仓满则停止生产。2、消费者仅仅在仓储有产品时候才能消费,仓空则等待。3、当消费者发现仓储没产品可消费时候会通知生产者生产。4、生产者在生产出可消费产品时候,应该通知等待的消费者去消费。package cn.thread;import java.util.concurrent.BlockingQu
阅读全文
posted @
2013-07-26 14:33
Ruthless
阅读(69419)
推荐(3) 编辑
Java多线程-新特征-阻塞栈LinkedBlockingDeque
摘要:对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。 这里要特别说明一点的是,阻塞栈是Java6的新特征。、 Java为阻塞栈定义了接口:java.util.concurrent.BlockingDeque,其实现类也比较多,具体可以查看JavaAPI文档。 下面看一个简单例子:package cn.thread;import java.util.concurrent.BlockingDeque;import java.util.concurrent.LinkedBlockingDeque;/** * 阻塞栈 * *.
阅读全文
posted @
2013-07-25 17:08
Ruthless
阅读(9524)
推荐(1) 编辑
Java多线程-新特征-阻塞队列ArrayBlockingQueue
摘要:阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素为止。 有了这样的功能,就为多线程的排队等候的模型实现开辟了便捷通道,非常有用。 java.util.concurrent.BlockingQueue继承了java.util.Queue接口,可以参看API文档。package cn.thread;import java.util.concur
阅读全文
posted @
2013-07-25 17:03
Ruthless
阅读(3811)
推荐(0) 编辑
Java多线程-新特征-信号量Semaphore
摘要:简介信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。概念Semaphore分为单值和多值两种,前者只能被一个线程获得,后者可以被若干个线程获得。以一个停车场运作为例。为了简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆不受阻碍的进入,然后放下车拦,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。这时,有一辆车离开停车场,看门人得知后,打开车拦,放入一辆,如果又离开两辆,则又可以放入两辆,如此往复。在这个停车场系统中,车位是公共资源,每辆
阅读全文
posted @
2013-07-25 16:53
Ruthless
阅读(15074)
推荐(3) 编辑
Java多线程-新特征-锁(下)
摘要:在上文中提到了Lock接口以及对象,使用它,很优雅的控制了竞争资源的安全访问,但是这种锁不区分读写,称这种锁为普通锁。为了提高性能,Java提供了读写锁,在读的地方使用读锁,在写的地方使用写锁,灵活控制,在一定程度上提高了程序的执行效率。 Java中读写锁有个接口java.util.concurrent.locks.ReadWriteLock,也有具体的实现ReentrantReadWriteLock,详细的API可以查看JavaAPI文档。 下面这个例子是在文例子的基础上,将普通锁改为读写锁,并添加账户余额查询的功能,代码如下:package cn.thread;import java.ut
阅读全文
posted @
2013-07-25 11:35
Ruthless
阅读(1993)
推荐(1) 编辑
Java多线程-新特征-锁(上)
摘要:在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Condition、Lock、ReadWriteLock。Condition: Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。Lock: Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定
阅读全文
posted @
2013-07-25 11:22
Ruthless
阅读(3397)
推荐(1) 编辑
Java多线程-新特性-有返回值的线程
摘要:在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写。或者干脆绕过这道坎,走别的路了。 现在Java终于有可返回值的任务(也可以叫做线程)了。 可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。 执行Callable任务后,...
阅读全文
posted @
2013-07-25 10:29
Ruthless
阅读(7033)
推荐(0) 编辑
Java多线程-新特性-线程池
摘要:Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。 有关Java5线程新特征的内容全部在java.util.conc...
阅读全文
posted @
2013-07-25 09:48
Ruthless
阅读(4664)
推荐(0) 编辑
java多线程-慎重使用volatile关键字
摘要:Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。public volatile boolean exit = false;在定义exit时,使用了一个Java关键字volatile,这个关键字的目的是使exit同步,也就是说在同一时刻只能由一个线程来修改exit的值.volatile关键字用于声明简单类型变量,如int、float、boolean等数据类型。如果这些简单数据类型声明为volatile,对它们的操作就会变成原
阅读全文
posted @
2013-07-24 21:28
Ruthless
阅读(2604)
推荐(1) 编辑
Java多线程-线程的同步(同步代码块)
摘要:对于同步,除了同步方法外,还可以使用同步代码块,有时候同步代码块会带来比同步方法更好的效果。 追其同步的根本的目的,是控制竞争资源的正确的访问,因此只要在访问竞争资源的时候保证同一时刻只能一个线程访问即可,因此Java引入了同步代码快的策略,以提高性能。 在上个例子的基础上,对oper方法做了改动,由同步方法改为同步代码块模式,程序的执行逻辑并没有问题。package cn.thread;/** * 线程同步方法 * * @author 林计钦 * @version 1.0 2013-7-24 上午10:12:47 */public class ThreadSynchronizedCode .
阅读全文
posted @
2013-07-24 10:37
Ruthless
阅读(4567)
推荐(0) 编辑
Java多线程-线程的同步(同步方法)
摘要:线程的同步是保证多线程安全访问竞争资源的一种手段。线程的同步是Java多线程编程的难点,往往开发者搞不清楚什么是竞争资源、什么时候需要考虑同步,怎么同步等等问题,当然,这些问题没有很明确的答案,但有些原则问题需要考虑,是否有竞争资源被同时改动的问题? 在本文之前,请参阅《Java多线程-线程的同步与锁》,本文是在此基础上所写的。 对于同步,在具体的Java代码中需要完成一下两个操作:把竞争访问的资源标识为private;同步哪些修改变量的代码,使用synchronized关键字同步方法或代码。当然这不是唯一控制并发安全的途径。 synchronized关键字使用说明synchronized只能
阅读全文
posted @
2013-07-24 10:27
Ruthless
阅读(2260)
推荐(0) 编辑
Java多线程-线程的调度(守护线程)
摘要:守护线程与普通线程写法上基本没啥区别,调用线程对象的方法setDaemon(true),则可以将其设置为守护线程。 守护线程使用的情况较少,但并非无用,举例来说,JVM的垃圾回收、内存管理等线程都是守护线程。还有就是在做数据库应用时候,使用的数据库连接池,连接池本身也包含着很多后台线程,监控连接个数、超时时间、状态等等。setDaemon方法的详细说明:public final void setDaemon(boolean on):将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,Java虚拟机退出。 该方法必须在启动线程前调用。 该方法首先调用该线程的checkA...
阅读全文
posted @
2013-07-24 10:05
Ruthless
阅读(7134)
推荐(0) 编辑
Java多线程-线程的调度(合并)
摘要:线程的合并的含义就是将几个并行线程的线程合并为一个单线程执行,应用场景是当一个线程必须等待另一个线程执行完毕才能执行时可以使用join方法。join为非静态方法,定义如下:void join(): 等待该线程终止。 void join(long millis): 等待该线程终止的时间最长为 millis 毫秒。 void join(long millis, int nanos): 等待该线程终止的时间最长为 millis 毫秒 + nanos 纳秒。package cn.thread;/** * 线程的调度(合并) * * @author 林计钦 * @version 1.0 2...
阅读全文
posted @
2013-07-24 09:53
Ruthless
阅读(5920)
推荐(0) 编辑
Java多线程-线程的调度(让步)
摘要:线程的让步含义就是使当前运行着线程让出CPU资源,但是扔给谁不知道,仅仅是让出,线程状态回到可运行状态。 线程的让步使用Thread.yield()方法,yield()为静态方法,功能是暂停当前正在执行的线程对象,并执行其他线程。package cn.thread;/** * 线程的调度(让步) * * @author 林计钦 * @version 1.0 2013-7-24 上午09:42:41 */public class ThreadYield { public static void main(String[] args) { ThreadYield thread...
阅读全文
posted @
2013-07-24 09:46
Ruthless
阅读(2148)
推荐(0) 编辑
Java多线程-线程的调度(优先级)
摘要:与线程休眠类似,线程的优先级仍然无法保障线程的执行次序。只不过,优先级高的线程获取CPU资源的概率较大,优先级低的并非没机会执行。 线程的优先级用1-10之间的整数表示,数值越大优先级越高,默认的优先级为5。 在一个线程中开启另外一个新线程,则新开线程称为该线程的子线程,子线程初始优先级与父线程相同。package cn.thread;/** * 线程的调度(优先级) * * @author 林计钦 * @version 1.0 2013-7-24 上午09:30:42 */public class ThreadPriority { public static void mai...
阅读全文
posted @
2013-07-24 09:38
Ruthless
阅读(3342)
推荐(0) 编辑
Java多线程-线程的调度(休眠)
摘要:Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。 这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。 线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换执行,当休眠一定时间后,线程会苏醒,进入准备状态等待执行。线程休眠的方法是Thread.sleep(long millis)和Thread.sleep(long millis, int nanos),均为静态方法,那调用sleep休眠的哪个线程呢?简单说,哪个线程调用sleep,就休眠哪个线程。
阅读全文
posted @
2013-07-24 09:20
Ruthless
阅读(7892)
推荐(0) 编辑
Java多线程-线程的交互
摘要:一、线程交互的基础知识void notify():唤醒在此对象监视器上等待的单个线程。 void notifyAll():唤醒在此对象监视器上等待的所有线程。 void wait():导致当前的线程等待,直到其他线程调用此对象的 notify()方法或 notifyAll()方法。 当然,wait()还有另外两个重载方法:void wait(long timeout):导致当前的线程等待,直到其他线程调用此对象的 notify()方法或 notifyAll()方法,或者超过指定的时间量。 void wait(long timeout, int nanos):导致当前的线程等待,直到其他线程调用
阅读全文
posted @
2013-07-23 16:56
Ruthless
阅读(11305)
推荐(3) 编辑
Java多线程-线程的同步与锁
摘要:一、同步问题提出线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。package cn.thread;public class Foo { private int x = 100; public int getX() { return x; } public int fix(int y) { x = x - y; return x; }}package cn.thread;public class MyRunn...
阅读全文
posted @
2013-07-23 16:38
Ruthless
阅读(50456)
推荐(17) 编辑
Java多线程-线程的生命周期
摘要:线程可以分为4个状态:New(新生),Runnable(可运行):为了方便分析,还可将其分为:Runnable与Running。blocked(被阻塞),Dead(死亡)。与人有生老病死一样,线程也同样要经历开始(等待)、运行、挂起和停止四种不同的状态。这四种状态都可以通过Thread类中的方法进行控制。下面给出了Thread类中和这四种状态相关的方法。// 开始线程 public void start( ); public void run( ); // 挂起和唤醒线程 public void resume( ); // 不建议使用 public void suspend...
阅读全文
posted @
2013-07-23 14:49
Ruthless
阅读(23284)
推荐(1) 编辑
Java多线程-概念与原理
摘要:一、操作系统中线程和进程的概念现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。 “同时”执行是线程给人的感觉,在线程之间实际上是轮换执行。 二、Java中的线程创建多线程的两种方式:继承Thread类和实现Runnable接口。 一个Thread类实例只是一个对象,像J.
阅读全文
posted @
2013-07-23 11:37
Ruthless
阅读(4723)
推荐(1) 编辑
Java堆栈解析
摘要:1、RAM和ROM区别RAM-RamdomAccessMemory随机存取存储器(断电后数据会丢失),高速存取,读写时间相等,且与地址无关,如计算机内存等。 ROM-Read Only Memory只读存储器。断电后信息不丢失,如计算机启动用的BIOS芯片。存取速度很低,(较RAM而言)且不能改写。由于不能改写信息,不能升级,现已很少使用。2、栈(stack)与堆(heap)都是Java用来在RAM中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。3、栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的
阅读全文
posted @
2013-07-22 09:25
Ruthless
阅读(3177)
推荐(1) 编辑
Java程序性能优化技巧
摘要:多线程、集合、网络编程、内存优化、缓冲、、spring、设计模式、软件工程、编程思想1、生成对象时,合理分配空间和大小new ArrayList(100);2、优化for循环Vector vect = new Vector(1000);for( inti=0; i<vect.size(); i++){ ...}for循环部分改写成:int size = vect.size();for( int i=0; i>size; i++){ ...} 如果size=1000,就可以减少1000次size()的系统调用开销,避免了循环体重复调用。3、new一个实例对象,new在什么位置(尽量在使用时再..
阅读全文
posted @
2013-07-18 22:03
Ruthless
阅读(9840)
推荐(3) 编辑
BSON入门
摘要:1、概念BSON(Binary Serialized Document Format)是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。BSON可以做为网络数据交换的一种存储形式,这个有点类似于Google的Protocol Buffer,但是BSON是一种schema-less的存储形式,它的优点是灵活性高,但它的缺点是空间利用率不是很理想。BSON有三个特点:轻量性、可遍历性、高效性。{“hello":"world"}
阅读全文
posted @
2013-07-16 09:44
Ruthless
阅读(4223)
推荐(0) 编辑
java访问共享文件夹
摘要:由于工作需要读取局域网中一台机器的共享目录中的文件,需要jcifs-1.1.11.jar的支持,使用SMB协议,以下是实现了远程读取文件的功能:package junit;import jcifs.smb.SmbFile;/** * java访问共享目录 * * @author 林计钦 * @version 1.0 2013-7-16 上午09:18:38 */public class SmbTest { public static void main(String[] args) throws Exception { //smb://xxx:xxx@192.1...
阅读全文
posted @
2013-07-16 09:39
Ruthless
阅读(16070)
推荐(1) 编辑
mongodb简介
摘要:1、简介MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。2、特点它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:*面向集合存储,易存储对象类型的数据。*模
阅读全文
posted @
2013-07-15 22:25
Ruthless
阅读(1320)
推荐(0) 编辑
Windows7下安装MongoDB
摘要:1、下载地址:http://www.mongodb.org/downloads(32位还是64位自行选择)。我下载的是:mongodb-win32-x86_64-2.4.5.zip 2、解压把mongodb-win32-x86_64-2.4.5.zip放到某个位置,解压。我放的是D:\dev目录。解压后的路径为D:\dev\mongodb-win32-x86_64-2.4.53. 安装准备MongoDB默认的数据目录为:C:\data\db。如果不用默认目录,则需要在在mongod.exe命令后加--dbpath参数。创建数据目录。我创建的是D:\dev\mongodb-win32-x86_6
阅读全文
posted @
2013-07-15 21:47
Ruthless
阅读(33805)
推荐(4) 编辑
Quartz任务调度入门
摘要:了解Quartz体系结构Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器、任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念进行描述:●Job:是一个接口,只有一个方法void execute(JobExecutionContext context),开发者实现该接口定义运行任务,JobExecutionContext类提供了调度上下文的各种信息。Job运行时的信息保存在JobDataMap实例中;●JobDetail:Quartz在每次执行Job时,都重新创建一个Job实例,所以它不直接接受一个Job的实例,相反它接收一个Job实现类,以便运
阅读全文
posted @
2013-07-09 10:38
Ruthless
阅读(7651)
推荐(1) 编辑
cron表达式详解
摘要:Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month DayofWeek 每一个域可出现的字符如下: Seconds:可出现", - * /"四个字符,有效范围为0-59的整数 Minutes:可出现", - * /"四个字符,有效范围为0-59的整数 Hours:可出现", - * /&quo
阅读全文
posted @
2013-07-08 17:40
Ruthless
阅读(278975)
推荐(26) 编辑
使用net.sf.fjep.fatjar插件将第三方JAR包打包进自已的JAR包中
摘要:一般单个工程,在没有应用别人的jar包时导出为jar很简单,只要设置一个Main-Class就行了,也就是选择程序入口(main所在类)。但是涉及到了数据库或需要用到第三方的JAR,就需要用到相应的数据库驱动jar包等等,在打成jar包时会发现,数据库驱动jar包根本没有引入到自己导出的jar包中(可以通过winrar打开查看jar包中都有什么文件),可以采用fat插件进行jar打包。myeclipse安装fat插件解压缩后在plugins中有一个jar文件,(net.sf.fjep.fatjar_0.0.31.jar),把这个jar文件拷贝myeclipse下的plugins下,重新启动my
阅读全文
posted @
2013-07-03 10:50
Ruthless
阅读(3990)
推荐(0) 编辑
lucene3.0范围查找
摘要:在lucene3.0以上版本中,范围查询也有很大的变化,RangeQuery已经不推荐使用,使用TermRangeQuery和NumericRangeQuery两个替代。TermRangeQuery:主要用于文本范围查找;TermRangeQuery query = new TermRangeQuery(field,"2009年01月01日","2009年01月05日",true,true);ScoreDoc[] hits = searcher.search(query, null, topnum).scoreDocs;NumericRangeQuery
阅读全文
posted @
2013-07-01 17:48
Ruthless
阅读(575)
推荐(0) 编辑