Saturday, June 30, 2007

The Java Compiler API

Java Compiler API 主要提供了两方面的改进
1. Compilation as app-level service. Sun 希望的好处是,在一些特定的应用中,改善compiler的使用性(availability and/or consumability ?) 提供compiler的API之后,这个希望能够比较轻松的达成.用户可以在程序运行时通过API启动编译过程。和老的使用System.run的技巧比,用户对compiler可以有更细致的控制.API的提供,将编译任务分成了不同阶段,提供了回调函数,这些老的技巧很难实现.

2. Integration.分两方面.一方面,API的提供,便于编译器更好的发布自己的服务,走向了类似于SOA的方向.想象一个compilation service,有点意思.另一方面,编译器可以编译广义上的JAVA代码,比如直接编译存在数据库中的信息,之后直接将类文件放入内存.[1]

3. Meta-programming.在JDK6中,SUN包装了语法树和annotation。用户可以编程时对自己书写的代码本身进行操纵。不过目前基本上语法树是只读的,而且包装也暂时是SUN私有的,并没有放入API之中。看起来JAVA将变得能够更加动态一些。

4.Diagnostic information.这些信息也可以通过JAVA API直接获取,对于 IDE开发者,应该是个不错的消息.

[1] http://www.artima.com/lejava/articles/compiler_api.html

给人惊喜不断的上海

初到上海时,我觉得上海是一个很大的城市。当时我住在张江的杨家镇。每天早上7点出门,先乘坐方川线或是乳合线(现989)三站路,到龙阳路地铁站,搭乘地铁二号线到人民广场站,在地下通道中漂在人潮中20分钟,到一号线上车处,在坐一站路到黄陂南路下车,才能到公司。或者,我认为工作刚刚起步,口袋里的钱不多,往往会为了节约一块钱,在龙阳路乘坐隧道八线。

2006年过完春节,同住的朋友们都觉得生活不方便,我们于是都转到了浦东大道与五莲路交接的五莲二小区。小区门口的重庆鸡公煲,使我们几个外来务工人员的最爱,人均20,爽!当然还有东东火锅店。

一年之后转正了,突然工作变得极不上手。各种问题扑面而来,时常想家。父母来看我,他们走的时候,我对爸爸说了一句话,“我怕”。现在想想,身经百战的老爸,当时估计也差点老泪纵横。

这段期间,工友们也都陆续碰到了麻烦。小斌做销售,付出的多,需要承受很大压力。他的好友张年,因为工作的原因,要去北京闯荡。章大爷后来从一家婚庆公司辞了职,变成了珠宝销售商,算是自由职业,付出的多,需要承受很大的压力。光辉认真的考虑自己的前途,他说-“要活着,得想想将来了”,他比我小两岁,但是我不开心的时候,他会来安慰我。06年夏天,他考上了南京大学软件学院,研究生院,他付出的多,需要承受很大的压力。

2006年7月,我觉得身体上实在忍受不了每天上班将近3小时的车程,我和公司里的一个师弟在公司附近(巨鹿路17号双鹿大厦1601)合租了一套房子。太爽了,上班只需步行10分钟。于是常常9点起床,发现到公司还是我最早。这段时间妈妈,也是常常来上海料理我的生活。这样,我在上海算是安定下来了。

这期间还有一些小插曲,比如5月和工友们去崇明岛的2天一夜游,观鸟,踩泥滩,看海,偷枕头旅馆的枕头。比如和一个暗恋的女生告白,头两次接触感觉挺好,后来女孩的态度180度大转弯。据我猜测,女孩的家势极盛,在她全面了解我家的状况之后,显然觉得我还嫩了点,一段黄粱美梦就此飘过。再比如,我做了一笔现在看开还是比较成功的投资,房市调控较为严厉的06年,我在金桥9号线附近以较低价位买入了一套3室的房子,现在好像收益不错。在我的投资中,这笔投资收益不算最高,但是却是是我真真正正动了脑筋,花了力气的,为了它我当天驱车从南京赶来,半小时拍板,然后又赶了回去。所以洋洋得意。还有其他一系列的动作,不再多提。有道是,X和Y场失意,Z场得意。此乃惊喜之一。

06年的7月到10月间,是我心情最为低落的3个月。24年来首次真真正正的体验到了社会立足的不易。我懂得了一个道理——不如意事十之八九,快乐实由心声。此乃惊喜之二。

Monday, June 25, 2007

Lucene indexing process

分为3个阶段 :
1。转换成文本;
2。分析文本;
3。生成索引
生成索引还包括添加一个Document对象到索引,删除或者更新Document对象。

Friday, June 22, 2007

Monday, June 18, 2007

Aspect-Oriented Programming

Krzysztof Czarnecki 的论文:Generative Programming 系统的总结了AOP的来龙去脉。AOP,更像是一项通过心理学的理论研究,得出的改进了的人类实践工具,而不单纯是技术上的突破。我的这种感受来自于以下几点:
1。从纯技术的角度来说,AOP的编译器ACJ,使用了无结构的解析器,即无需分析代码树,得出交接点。这种技术,应该是对于正则表达式技术的扩展,或者是定制。其他方面和现行的编译技术并没有太大的区别。
2。AOP 是对OO的一种扩展。AOP 中提供的+符号,表示被修饰的类和其子类就是一个证明。它将OO这种方法论进行了扩展,提供了更接近于常人思考逻辑的符号系统,目的是使得人们能更好的表达自己的想法(从而更高效的操纵机械)。可是正如人类思维的漫无边际,AOP 也使得计算机语言表述的内容变得充满想象力和松散。系统的初始设计者,设计了一整套严密的逻辑,使得程序按照预定轨迹运行,而AOP可以轻易改变程序运行轨迹,将原有系统改得面目全非。获得更大自由的同时,也应该承担更多责任。

现状:
当AOP的巨大力量得不到有效管理的时候,大家选择了暂不使用。如一个原本进行高强度权限控制的系统可以被AOP轻易绕过时,一部分人就会遭受巨大损失。

Saturday, June 16, 2007

safari??!!!

有图为证

1. 访问lilybbs.net,结果:




















2. 访问 www.sina.com.cn,结果:





















莫非只是中文网页不正常?

3。访问blogspot上的blog,结果:









愚人节专用浏览器,或者是毕业设计?

上海老街游记

























1.香山路,老房子旁





















2. 香山路,中文学校





















3.泰康路,艺术作坊,屋顶





















4.泰康路,二井巷,巷门口小店

Friday, June 1, 2007

改用中文

使用英文每天记录blog,是一件实在坚持不下去的工作。从今天开始,我停止折磨自己了。

另外,今天装了上海电信的灵易通业务。发现:越是不灵的东西,越要宣传——上网相当的难通啊。营销确实很有力量。
灵易通,包月59元,带有小灵通的电话功能。通过msn传递文件,同时打开任务管理器,发现实际最大带宽是115k*67% = 77.5k。不知道115k是什么指标,我又回到了用猫拨号上网的年代。使用IE或者firefox浏览网络,觉得对这样的带宽是不是损耗太大了?于是几经周折,安装了windows版本的lynx。可是firefox真的会损耗带宽吗?有源代码,我可以考证一下。

安装完灵易通业务,回到办公室,发现大家有点歇斯底里。股票闹得?我对目前的工作比较满意,不过公司有很多资源还没有用上,学习中。

读了booch的blog,大师说软件系统扩大了,用电量和体积也变成了系统设计的一部分。他用了google做例子,google的服务器也是成栋楼的摆放,而且要靠近河边,利于散热。。。国外的软件的体量已经达到了这个地步了阿。目前的软硬件技术需要提高的地方还是很多阿。

大家都在说儿童节,还有7分钟就6.2了。祝妹妹节日快乐 :)