摘要:
前些天,服务器上一个服务跑了一个多月突然当掉了。看了下日志,程序抛出了java.lang.OutOfMemoryError,之前也出现过同样的错误,服务跑了三个月内存溢出。出现这个异常,初步判断是程序有内存泄漏,接下来需要利用一些工具来分析具体原因。首先使用jdk自带的工具jmap转储(dump)java内存堆数据到本地文件中。jmap转储(dump)命令格式如下:jmap -dump:<dump-options> <pid><dump-options>表示dump选项,<pid>表示需要dump的java应用程序的进程IDdump-option 阅读全文
摘要:
安装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 阅读全文
摘要:
今天看了一下Document.cs,Document这个类内部包含两个字段,一个是field的集合,通过ArrayList.Synchronized方法创建的,是线程安全的,另一个是boost表示排序时的优先级。下面是Document类的主要方法介绍: 阅读全文
摘要:
昨天到上海了,上海的天气也是阴沉沉的,今天还下雨了,晚上更新了下自己的简历,明天开始找工作的旅程....
继续lucene.net的学习,这次看的是Field.cs。Field这个类的结构很简单,下面列出了Field的所有字段: 阅读全文
摘要:
今天看了一下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")。下面是我对源码的一些分析。 阅读全文
摘要:
今天开始看lucene.net源码,首先是挑了一个比较简单的类DateField来看了一下。
DateField类提供了一些日期字符串与日期时间之间互相转换的静态方法。
在lucene.net中日期字符串实际是就是一个36进制(刚好所有的数字,字母能够用上)的字符串,由0-9,a-z这些字符组成,他们之间的转换如下:
日期时间 = (日期字符串的36进制值) * 1毫秒 + (1970年1月1日) 阅读全文