`
luckaway
  • 浏览: 137885 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
操作系统都会限制一个进程同时打开文件的最大数量,通常linux默认的是1024.lucene有可能会导致“Too many open files”的异常,这取决于你是否正确使用lucene。 1.总是要确保打开的文件句柄关闭掉,特别是出现错误的情况,捕获该异常,并在finally块释放持有的文件句柄。请记住,java没有拆构器,不要在finalize方法里处理文件句柄,该方法不会确保都被执行的。 2.打开IndexWriter的复合模式---IndexWriter's setUseCompoundFile(true),它会减少lucene在写时的索引文件数量。 3. 不要设置一个过大的In ...
服务器A->服务器B建立无密码通道 引用 1.服务器A:ssh-keygen -t rsa   Generating public/private rsa key pair.   Enter file in which to save the key (/root/.ssh/id_rsa):   Enter passphrase (empty for no passphrase):   Enter same passphrase again:   Your identification has been saved in /root/.ssh/id_rsa.   Your publ ...
JavaScript里并不存在“命名空间”的概念,但是JavaScript所有的对象都有自己的属性,属性又可以是对象,这样层层包装起来就能创造出像其他的语言的命名空间的效果。 //创建一个默认的全局的命名空间 var JAVAEYE={} //使用对象设置一些子命名空间 JAVAEYE.blog={} JAVAEYE.forum={} //创建最终的命名空间-class JAVAEYE.forum.util={ showTitle:function(){ document.title="论坛"; }; }
public class ForumCategoryDaoImpl implements ForumCategoryDao { private String forumCategoryFilePath = null; private final Map<String, String> forumCategoriesMap = new HashMap<String, String>(); // Volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值 private volatile long lastVersion ...
在Web 2.0时代,网站将会经常面临着快速增加的访问量,但是我们的应用如何满足用户的访问需求,而且基本上我们看到的情况都是性能瓶颈都是在数据库上,这个不怪数据库,毕竟要满足很大访问量确实对于任何一款数据库都是 ...
语法: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ... create_specification: [DEFAULT] CHARACTER SET [=] charset_name | [DEFAULT] COLLATE [=] collation_name create_specification用于用于设置数据特性 CHARACTER SET:指定数据库的默认编码 COLLATE:指定默认的数据库整序,最好跟CHARACTER SET相 ...
1.分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 分治法解题的一般步骤: (1)分解,将要解决的问题划分成若干规模较小的同类问题; (2)求解,当子问题划分得足够小时,用较简单的方法解决; (3)合并,按原问题的要求,将子问题的解逐层合并构成原问题的解。 2.归并排序:是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 MergerSorter.java /** * 归并操作的实现类 */ public ...

linux实用命令

查看某个进程打开的文件:lsof -p ${pid} ${pid}是你要查看的进程号。
--yourproject    --src d      --java d  运行的java源代码      --test d  单元测试的源代码      --configs d 配置文件    --lib d 开发需要的lib(里面通常是运行时不需要的jar)    --build.propertis f  (ant的)    --build.xml f  (ant)    --document d  (项目的设计文档、数据库设计文档等)    --WEB-INF d      --classes d      --lib     d (运行时需要的jar,当然开发肯定也需要该l ...
Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { LOG.info("Graceful shutdown RMI Server,rmi info:%s", distributedServer); System.out.println("Graceful shutdown RMI Server,rmi info:" + distributedServer); LOG.info("Shutdown hook ...
Log4j在java项目中应该非常广泛的一个工具。但经常的去检查日志是非常繁琐的一个事情, 有时,我们就需要配置log4j 发送邮件! 首先需要三个jar包: log4j-1.2.15.jar(版本低于log4j-1.2.14.jar不支持smtp认证)、mail.jar、activation.jar ...
1.同一个索引目录,IndexWriter和IndexReader确保要唯一,他们两个都是线程安全的,可以被多个线程调用。 让专门的类去管理(实例化和销毁)IndexWriter和IndexReader。 2.尽量减少不必要的储存,只储存哪些要在返回结果里的字段,不需要检索的内容就不要建索引。索引太大了,对更新索引的效率都会有影响。 3.不要强制kill建索引的程序,强制kill很有可能导致索引坏掉,每次关闭前必须保证所有的IndexWriter已经正常的关闭。 4.读先都很频繁的情况下, IndexReader.reopen产生新的IndexReader实例 ,需要关闭旧的实例。关闭的I ...
通常service每个公开的方法,都要先验证传入的参数是否合法,如果参数的值不合法直接抛异常。举一个简单的例子:有一个根据username获取User的方法 getUser(String username); 为了安全性,这时方法的编写者通常会在方法体的最前面编写一段对入参进行检测的代码,如下所示: public User getUser(String username) { if (username == null || username.trim().length() != 0) throw new IllegalArgumentException("username ...
import java.io.IOException; import org.apache.lucene.analysis.Token; import org.apache.lucene.index.Payload; /** * TokenStream用来分析文字流,按一定的规则罗列token,在lucene有字节流是即将要索引的文本,或者查询的关键字。 * <p> * 它是一个抽象类,它的子类有如下两种: * <ul> * <li>分词器-Tokenizer,Tokenizer是以Reader对象做为输入; * < ...
没优化之前的索引文件包含了一系列的文件,其中每个文件的功能对应如下。 1.segments_* 文件描述一组索引的参数,使用头文件固定格式描述后面的内容,包括每个独立新建索引的大小、属性等。 2.Fnm文件是索引域的描述文件,一个独立的索引(PerIndex)叫做一个Segment(索引段),一个fnm文件描述了本索引的File数,各个Field的属性编号。 3.fdx文件是文档索引域值索引文件,采用定长方式储存,根据docid排序可直接定位,用来记录每个文档的stord fields值的储存的位置(文件偏移)。 4.Fdt文件是文档域值存储文件,存储stored fields值的文件。 ...
Global site tag (gtag.js) - Google Analytics