Archive for 七月, 2010

使用JRebel提供对Java web开发的热部署

星期四, 七月 29th, 2010

这几天在写Java Web页面,开发环境是linux+eclipse+maven+jetty。开发java web最烦的就是改个文件需要重启web server,尽管现在的web server(比如小野猫)支持了热部署,不过其实现相当于重启了web server,如果文件多些初始化复杂些,重启的时间也够受的。对于开发的IDE来说,myeclipse是个不错的选择,它能对修改的文件自动部署到web server(eclipse wtp就没做这个支持,但我们也可以投机的对部署目录和开发目录做个软链),不多我试用了其最新的8.5版本,在本本上响应速度有些迟缓,影响编码情绪。而且,因为环境需要,最后开发环境定位eclipse+maven+jetty(maven提供了jetty的plugin用于开发测试),并且找到了JRebel这个强悍的能提供对Web server的热部署到工具,它不像web server那样需要重启服务,而是动态的加载修改的文件,所以反应速度上要好很多,它除了可以热加载class、jsp文件,也可以是spring、hibernate等配置文件。

[Solr源码分析]Solr复制类ReplicationHandler实现简要分析

星期天, 七月 25th, 2010

在上一文《solr ReplicationHandler使用介绍》的基础上,本文接着对solr的ReplicationHandler实现细节做些分析,这个分析原则上没有摘取大段代码,窃以为摘了代码后未见得有很好的阐述效果,但不摘取后窃又发现,阐述的效果依旧不好。归结起来,还是窃的表达不够深入浅出所致。闲言少叙,直接上内容。

[Solr实践]Solr复制类ReplicationHandler使用介绍

星期六, 七月 24th, 2010

solr1.4中引入ReplicationHandler代替外部脚本来复制索引数据,ReplicationHandler使得复制索引数据更自动化。对于使用者来说,只要简单的配置好,就可以一劳永逸的享受solr的复制功能了。下面介绍其使用相关内容。

zoie DocIDMapperImpl类实现分析

星期五, 七月 16th, 2010

有网友留言询问我对zoie的DocIDMapperImpl实现是否有了解。说实话,之前看zoie也只是大面上的,知道DocIDMapperImpl的用处,但没有仔细分析它的算法。就趁着夜深人静,把这个类好好琢磨了下。但我得承认,看这种伤脑筋的算法让我有些吃不消,下面就列出我对它的大致分析,如果有不恰当的地方,也望指正。

还是说下DocIDMapperImpl的作用吧。在zoie中,uid和lucene的docid有一一对应关系。从docid到uid的映射很简单,就是分配个maxdoc大小的数组,索引位置是docid,值是uid。这样做也是因为docid是从小到大自增的,大小总有限。但uid是long型的,使用数组反映射是不行了,一个直接的选择是使用hashmap。不过zoie为了节约空间,使用了更有效的算法,也就是下面的类。

分享“Top 10 Performance Problems taken from Zappos, Monster, Thomson and Co”

星期一, 七月 12th, 2010

Top 10 Performance Problems taken from Zappos, Monster, Thomson and Co 一文总结了一些关于性能问题方面的经验,虽然不是很“新奇”,但也算是中规中矩的有借鉴意义,这里分享之。没有对原文做完全的翻译,也欢迎大家直接看看原文,本文转过来还夹杂了一些个人理解,有理解不当的地方也望指正。

避免lucene queryparser中文分词的缺陷

星期五, 七月 9th, 2010

很多人在使用lucene时会使用其提供的queryparser分析query。不过,lucene的queryparser从一开始到现在都没有充分考虑中文等语言的特点,使得查询中文会出现让人不可理解的查不到结果的情况。这个bug就是LUCENE-2458 。

对mongodb进行java编程

星期六, 七月 3rd, 2010

本周实验性地使用上mongodb,应用场景很简单,所以现在对mongodb了解也不是很深入。本文主要介绍mongodb的java客户端编程,这方面的内容也很简单,这里只是做个总结。不得不说,像mongodb这种介于kv和sql之间的存储,对很多的互联网应用很合适。mongodb现在的应用案例已经很多,并且社区的活跃度很高(国内也有不少人对其有很深的研究,如果有时间和精力,或许我也会投入一些对mongodb的研究),很值得期待。