2011年8月24日
摘要: 前些天,服务器上一个服务跑了一个多月突然当掉了。看了下日志,程序抛出了java.lang.OutOfMemoryError,之前也出现过同样的错误,服务跑了三个月内存溢出。出现这个异常,初步判断是程序有内存泄漏,接下来需要利用一些工具来分析具体原因。首先使用jdk自带的工具jmap转储(dump)java内存堆数据到本地文件中。jmap转储(dump)命令格式如下:jmap -dump:<dump-options> <pid><dump-options>表示dump选项,<pid>表示需要dump的java应用程序的进程IDdump-option 阅读全文
posted @ 2011-08-24 15:18 Yann 阅读(1535) 评论(2) 推荐(3) 编辑
2011年8月9日
摘要: 安装squid使用yum命令安装squid2.6:#yum install squid也可以从官网下载安装包安装:http://wiki.squid-cache.org/SquidFaq/BinaryPackages配置squid编辑/etc/squid/squid.conf对squid进行配置,配置文件中对各项参数有详细的说明。设置squid的http监听端口:http_port 3128设置代理发生异常时,显示给用户的联系方式:cache_mgr laizhenyuan@hotmail.com设置用户访问日志的存放路径:access_log /var/log/squid/access.lo 阅读全文
posted @ 2011-08-09 16:19 Yann 阅读(320) 评论(0) 推荐(0) 编辑
2009年3月22日
摘要: 今天看了一下Document.cs,Document这个类内部包含两个字段,一个是field的集合,通过ArrayList.Synchronized方法创建的,是线程安全的,另一个是boost表示排序时的优先级。下面是Document类的主要方法介绍: 阅读全文
posted @ 2009-03-22 14:55 Yann 阅读(573) 评论(0) 推荐(0) 编辑
2009年3月2日
摘要: 昨天到上海了,上海的天气也是阴沉沉的,今天还下雨了,晚上更新了下自己的简历,明天开始找工作的旅程.... 继续lucene.net的学习,这次看的是Field.cs。Field这个类的结构很简单,下面列出了Field的所有字段: 阅读全文
posted @ 2009-03-02 21:22 Yann 阅读(522) 评论(0) 推荐(0) 编辑
2009年2月24日
摘要: 今天看了一下DateTool.cs里面的源码,这个文件里的代码还是比较简单的。DateTool类提供一些日期字符串与日期时间类型之间的互相转换。与DateField类不同是,DateField中的日期字符串是一串36进制的字符串,而这里的日期字符串是我们常见的格式,如"yyyy","yyyymm"等。DateTool类里面还嵌套了一个Resolution类。该类采用多例模式,内置了YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,MILLISECOND 7个实例,用以表示时间的分辨率。当日期时间类型转换成日期字符串时,需要一个Resolution作为参数,例如日期时间为2009年2月24日,Resolution参数为MONTH,转换之后的日期字符串则为"200902"("yyyymm")。下面是我对源码的一些分析。 阅读全文
posted @ 2009-02-24 21:10 Yann 阅读(610) 评论(0) 推荐(0) 编辑
2009年2月23日
摘要: 今天开始看lucene.net源码,首先是挑了一个比较简单的类DateField来看了一下。 DateField类提供了一些日期字符串与日期时间之间互相转换的静态方法。 在lucene.net中日期字符串实际是就是一个36进制(刚好所有的数字,字母能够用上)的字符串,由0-9,a-z这些字符组成,他们之间的转换如下: 日期时间 = (日期字符串的36进制值) * 1毫秒 + (1970年1月1日) 阅读全文
posted @ 2009-02-23 02:38 Yann 阅读(1022) 评论(0) 推荐(0) 编辑
2009年2月20日
摘要: 今天看了一下搜索引擎的倒排索引,原理还是蛮简单的,这里转载了一篇来自lucene中国的文章。 原文:http://www.lucene.com.cn/yanli.htm Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。 阅读全文
posted @ 2009-02-20 22:19 Yann 阅读(632) 评论(0) 推荐(1) 编辑