Java

Java Programming,About I know
关于《分布式Java应用:基础与实践》一书
     摘要: 这本书就是之前blog上写的《构建高性能的大型分布式Java应用》一书,书稿完成后,觉得本书更多的仍然是偏向讲解分布式Java应用的基础知识,以及我个人工作经验的一些分享,于是改名成了《分布式Java应用:基础与实践》,本书目前已送往印刷厂印刷,下面是目前的一些关于本书的信息:
1、封面和目录
http://bluedavy.com/?p=55
2、序
http://bluedavy.com/?p=60
3、豆瓣上书的信息
http://book.douban.com/subject/4848587/  阅读全文

posted @ 2010-05-25 09:49 BlueDavy 阅读(16816) | 评论 (36)  编辑

杭州程序员圆桌交流第二期视频
     摘要: 本次交流在4月24日圆满完成,主题为关于JVM的那些事,撒迦@rednaxelafx给大家做了一个长达四小时的精彩分享,涵盖了javac、解释执行、c1、c2编译执行方面的知识点。

由于视频太大,感兴趣的同学请从以下地址下载,自行观看,:),也欢迎看完后在twitter上,或在这里来进行讨论,blog迁移到了bluedavy.com,地址在此:http://bluedavy.com/?p=36  阅读全文

posted @ 2010-04-30 13:16 BlueDavy 阅读(11418) | 评论 (3)  编辑

第一次杭州程序员交流会总结
     摘要: blog开始转移到www.bluedavy.com,因此感兴趣的同学请访问http://bluedavy.com/?p=18  阅读全文

posted @ 2010-03-22 13:11 BlueDavy 阅读(9479) | 评论 (1)  编辑

杭州程序员圆桌交流第一期–并发编程PPT
     摘要: 由阿里云龙浩同学牵头的杭州程序员圆桌交流,第一期主题为并发编程,把自己的经验也分享下,在活动结束后会公开此次交流的资料,具体PPT请见文中。  阅读全文

posted @ 2010-03-19 23:57 BlueDavy 阅读(11413) | 评论 (1)  编辑

GCLogViewer(tool to visualize gc log) V0.2 Release
     摘要: In product env,we always need to monitor gc trend or tunning gc based on gc trend,before sun jdk 1.6+,we can use GCViewer to visualize gc log to see gc trend,but it not support jdk 1.6+,so I write a free open source tool to visualize gc log produced by sun jdk 1.6+,now V 0.2 release,If you need,pls download from http://code.google.com/p/gclogviewer/.  阅读全文

posted @ 2009-12-03 13:32 BlueDavy 阅读(7346) | 评论 (8)  编辑

Simple Scala actor Vs java Thread Vs Kilim Test
     摘要: In this blog,I'll test the coroutine supported on jvm,now famous is scala actor & kilim,this blog show the program reliazed with scala actor/kilim/java,let's compare these three program performance.  阅读全文

posted @ 2009-11-25 17:23 BlueDavy 阅读(7721) | 评论 (7)  编辑

《构建高性能的大型分布式Java应用》目录&试读样章
     摘要: 本书预计共八章,目前完成五章,由于本书需要涵盖Java分布式应用、高性能java应用、可伸缩的java应用以及高可用java应用四方面的知识点,编写的难度不小,因此在此先行放出目录和样章,希望能够得到大家的一些反馈,以保证本书的质量,目录&样章下载地址为:http://www.bluedavy.com/opendoc/bookpreview.pdf  阅读全文

posted @ 2009-11-06 15:23 BlueDavy 阅读(10521) | 评论 (44)  编辑

动态跟踪Java代码的执行状况工具--BTrace
     摘要: 非常强烈的推荐下BTrace这个工具,用了后不得不说太强大了,BTrace简单来说,就是能在不改动当前程序的情况下,运行时的去监控Java程序的执行状况,例如可以做到内存状况的监控、方法调用的监控等等,官方网站上有非常多详细的例子,我不说太多,只在下面举一个简单的例子来说明它的作用,BTrace的User Guide请见:http://kenai.com/projects/btrace/pages/UserGuide。  阅读全文

posted @ 2009-10-10 12:41 BlueDavy 阅读(17462) | 评论 (9)  编辑

GC策略的调优
     摘要: 摘自《构建高性能的大型分布式Java应用》第六章,感兴趣的同学们可以看看。
GC策略在G1还没成熟的情况下,目前主要有串行、并行和并发三种,对于大内存的应用而言,串行的性能太低,因此使用到的主要是并行和并发两种,具体这两种GC的策略在深入JVM章节中已讲解, 并行和并发GC的策略通过-XX:+UseParallelGC和-XX:+UseConcMarkSweepGC来指定,还有一些细节的配置参数用来配置策略的执行方式,例如:-XX:ParallelGCThreads、-XX:CMSInitiatingOccupancyFraction等,新生代对象回收只可选择并行,在此就举例来看看两种GC策略在Full GC时的具体表现状况。  阅读全文

posted @ 2009-10-09 15:57 BlueDavy 阅读(14427) | 评论 (5)  编辑

Hessian 3.2.0的两个bug
     摘要: 在将Hessian从3.0.13升级到3.2.0时碰到两个bug和一个ClassLoader处理策略的改变的问题,在此记录下,希望能为使用Hessian 3.2.0的同学们提供点帮助,避免再走同样的弯路。  阅读全文

posted @ 2009-08-06 11:19 BlueDavy 阅读(9067) | 评论 (0)  编辑

JVM知识点题目
     摘要: JVM是Java程序的运行环境,因此对于JVM的掌握有助于理解Java程序的执行以及编写,尤其是运行时碰到的一些诡异问题,那么怎么样能考察自己对于JVM关键知识点的掌握情况,帮助学习JVM机制呢,在这篇blog中来探讨下。  阅读全文

posted @ 2009-03-27 14:30 BlueDavy 阅读(9491) | 评论 (9)  编辑

一段好玩的测试LinkedBlockingQueue.poll超时的程序
     摘要: 在产品中有碰到过使用LinkedBlockingQueue.poll时超时很不准的现象,关键是这不是一般的不准,如果只是一点点不准的话也就勉强接受了,例如指定poll的超时时间为100ms,但最终执行.poll这段代码就花费了8000ms的现象,这篇blog就是展示下通过一段小小的代码来重现这样的现象,毕竟没有重现是无法证明为什么会出现这样的现象的。  阅读全文

posted @ 2009-03-12 16:52 BlueDavy 阅读(7753) | 评论 (4)  编辑

Garbage First介绍
     摘要: 本文摘自《构建高性能的大型分布式Java应用》一书,Garbage First简称G1,它的目标是要做到尽量减少GC所导致的应用暂停的时间,让应用达到准实时的效果,同时保持JVM堆空间的利用率,将作为CMS的替代者在JDK 7中闪亮登场,其最大的特色在于允许指定在某个时间段内GC所导致的应用暂停的时间最大为多少,例如在100秒内最多允许GC导致的应用暂停时间为1秒,这个特性对于准实时响应的系统而言非常的吸引人,这样就再也不用担心系统突然会暂停个两三秒了。  阅读全文

posted @ 2009-03-11 22:18 BlueDavy 阅读(12487) | 评论 (4)  编辑

提前N久的揭秘:《构建高性能的大型分布式Java应用》书的大概内容
     摘要: 记得自己在没有进入互联网行业之前,对于互联网行业并不怎么感冒,总觉得互联网行业的技术含量不高,没什么意思,值得进入互联网行业了,才明白,原来互联网行业的技术是这么的复杂,这么的困难,而构建一个拥有巨大用户量的系统无疑也会给自己带来更多的成就感,记得自己刚进入互联网行业的时候,才发现构建一个高并发、高性能、承受高压力、高度可伸缩以及高可用性的系统要掌握的知识体系是在太多了,而且这些知识体系根本就不是在学校或是google、网络中能够学习到的,于是当时就想,如果能有一本书全面的介绍构建这”五高“特性的系统需要掌握的知识体系,那将是多么的美好呀,毕竟很多的知识体系都是靠经验积累出来的,甚至可是说,是痛苦的教训等得出来的,但当然,要在一本书中完全讲清楚所有的知识体系,自然是不靠谱的,但我想我会尽量在书中表达出自己的一些观点、看法以及少少的经验吧,希望能够让更多的同学即使没有大型系统的实际经验,也能掌握到一些大型系统所需的知识体系,那么我心甚慰了,由于本书需要写的东西非常的多,预计在9月底完成写作,估计要到明年春节后上市,:),以下先揭秘下本书的大概内容,也请大家多多提出意见。  阅读全文

posted @ 2009-03-06 09:15 BlueDavy 阅读(6318) | 评论 (20)  编辑

Java应用从集中式步入分布式
     摘要: 记得Martin大叔在《企业应用架构模式》中特别强调:“能够不分布式的应用就不要分布式”,这句话没什么问题,尤其对于做过分布式应用的人而言,就更会有深刻的体会了,但这个世界偏偏就没有那么简单,大多数人都会碰到分布式应用的场景,尤其是对于大型应用而言,从集中式步入分布式是不可避免的,只是也许是小型分布式的,也许是大型分布式的;也许是有高性能要求的,也许是没有的,在这篇blog中我们来看看java应用从集中式步入分布式后到底会带来些什么挑战。  阅读全文

posted @ 2009-01-04 17:12 BlueDavy 阅读(7917) | 评论 (11)  编辑

调试代码是一种乐趣
     摘要: 近来连续调试了好几天的代码,乐趣无穷,:),在纯净的人和机器对话的时间中,充分的和机器不断的交流,最终共同实现功能,和同事说:“我喜爱调试代码胜过了写代码”,怎么说呢,我觉得调试代码能够充分让你将所掌握的知识发挥出来,考察自己解决问题的能力以及学习知识的能力,在这篇blog中来闲聊下调试代码。  阅读全文

posted @ 2008-11-18 23:49 BlueDavy 阅读(6132) | 评论 (4)  编辑

java知识片段
     摘要: 在面试中,经常要评估面试者的java基础知识和其他知识的掌握情况,包括public/private/protected/默认修饰符、static/final修饰符、集合、字符串操作、对象比较、异常、设计模式和面试者经常使用的框架等,整理一下自己经常使用的评估方法,:),抛砖中,希望能看到一些好的建议,让大家更好的学习java知识,同时也更好的判断人才,挖出真正的“金子”。  阅读全文

posted @ 2008-10-16 23:41 BlueDavy 阅读(6578) | 评论 (16)  编辑

JBoss Remoting 2.2.2里的一个Bug
     摘要: 在JBoss Remoting 2.2.2中存在这么一个bug,如果刚好客户端的timeout比服务器端处理时间短的话,就会出现客户端连接池中的连接被无故用掉一个的状况,而且是没法回收的,最终就会导致很快客户端的连接池被占满的现象,在分析JBoss Remoting 2.2.2的代码后发现了问题的所在,同时查看了下JBoss Remoting 2.4的代码,发现在2.4中此bug已被修复。  阅读全文

posted @ 2008-06-30 18:46 BlueDavy 阅读(4787) | 评论 (0)  编辑

Java并发编程基础知识片段
     摘要: Java 5并发包的加入,给Java的并发程序的开发带来了很多的好处,在此列举一些并发编程中应该掌握的一些基础知识片断,这些片断基本都是由一些问题组成,在片段中没有直接写出答案,由于可用来解决这些片段的方法还是很多的,因此只是提到了解决问题可选方案的关键字,如果有需要进一步了解的话,基本上 google一下应该就能查出来了,不过就像之前有朋友说的,如果不是经常用的话,其实就算现在知道了也是会忘记的,这很正常,:),不过我更认为那是因为知其然而不知其所以然造成的,很多东西如果知道原理的话,基本上还是可以记得很长一段时间的。  阅读全文

posted @ 2008-06-20 01:29 BlueDavy 阅读(7915) | 评论 (4)  编辑

《面向软件错误构建可靠的分布式系统》读后感
     摘要: 这篇文档是erlang创始者之一的Joe Armstrong所编写的博士论文,由段先德翻译、邓辉审校,感兴趣的同学可以从以下地址下载:
http://erlang-china.org/study/joe-armstrong_thesis_cn.html
Erlang在业界已经引起了不小的轰动,通读了下这篇博士论文,翻译的质量很高,:),所以读起来非常的顺畅,论文的内容对于erlang初学者而言绝对是堪称经典,写的非常的不错,点出了erlang的强项并详细的进行了解释,感谢翻译论文的段先德和邓辉的工作。
Erlang以天生的支持并发、分布式和容错而闻名,由于erlang的诞生是为交换机而服务的,因此在并发、分布式、容错、动态代码升级等方面是实现的非常好的,其目前主要是应用在erission的交换机上,这对于erlang的那些天生的特性也是个很好的证明。
通过阅读这篇博士论文,让我对了erlang有了部分的认识,由于目前尚未实践过,只能根据论文本身对自己理解的erlang做个阐述。
Erlang采用的是虚拟机的方式,这个虚拟机和java的虚拟机类似  阅读全文

posted @ 2007-11-25 19:00 BlueDavy 阅读(3517) | 评论 (1)  编辑

SQLUnit quick start guide
     摘要: SQLUnit是一个用于对存储过程进行单元测试的工具,其实也可以用于做针对数据库数据、性能的测试等,延续了xUnit家族的一贯特性和风格,只不过它的测试是以xml的方式来编写,但原则仍然和xUnit家族其他产品一样,强调的是输出和预期的比较,SQLUnit的文档比较的少,由于官方站上并没有提供类似其他开源工具的quick start guide,就写了这篇quick start guide以便大家快速的使用sqlunit,至于SQLUnit的高级用法还是得去多看看sqlunit.sf.net官方站上的文档。
为了让大家能快速的开始入门使用SQLUnit,将介绍SQLUnit环境的搭建、如何编写一个单元测试、如何运行。

  阅读全文

posted @ 2007-11-08 16:59 BlueDavy 阅读(3139) | 评论 (0)  编辑

java调用Oracle EXP备忘
     摘要: 一眼看过去相信大家都知道用Runtime.getRuntime().exec来调用,我的需求就是:
调用Oracle EXP命令完成备份,并返回生成的备份文件名,这个备份文件会很快在其他的地方被使用。
采用Runtime.getRuntime().exec我们都知道,需要处理它的InputStream,以避免出现执行的命令输出的信息过多使得进程被堵死,OK,按照这样的方法写出来的代码执行后却碰到了问题.....  阅读全文

posted @ 2006-11-22 22:43 BlueDavy 阅读(7644) | 评论 (8)  编辑

备忘:解决ajax获取页面直接显示乱码的方法
     摘要: 大家都知道,xmlhttp在通信时采用的是utf编码,而国内很多网页的信息都是采用gbk编码,所以当直接通过ajax去连接网页,并将获取到的信息直接显示的话就会出现乱码的现象,有些时候无法改变服务器端网页的编码(例如获取别的网站的天气预报信息),在这种时候就只能在客户端通过js做编码的工作了,下面这段js就是用于将服务器端返回的gbk编码字符串转换为utf编码字符串:  阅读全文

posted @ 2006-08-15 11:04 BlueDavy 阅读(5395) | 评论 (10)  编辑

缓存漫谈
     摘要: 缓存是在提升系统响应时常用的一种技术,在我之前的blog中也提及过好几次这部分的技术,今天还是想从缓存涉及的一些方面再次的去谈谈,在系统缓存上通常采用的是有页面缓存、处理缓存和数据缓存这三种具体的类别,应该说这三种缓存在实现上还是稍有不同,尽管底层的缓存实现是一样的。  阅读全文

posted @ 2006-06-02 23:38 BlueDavy 阅读(4388) | 评论 (9)  编辑

Foundations Of Ajax读后感
     摘要: Foundations Of Ajax,Ajax领域中的经典书籍,还是决定看看,今天趁有些时间便翻阅了一下,总体而言,这本书写的还是不错的,在douban上我写了这么一段评价:“对于ajax新手而言,这绝对是本好书,可以快速的让你了解ajax涉及的技术,如何去使用ajax以及ajax的一些缺点;对于ajax老手来说,这本书固然有些简单,但我相信会带给你更加系统化的ajax知识。”  阅读全文

posted @ 2006-05-23 21:20 BlueDavy 阅读(2686) | 评论 (1)  编辑

项目杂感
     摘要: 再次做项目,感觉颇多,项目和产品其实都有应对变化的部分,项目更在乎功能的实现以及对于需求的应变能力,产品更在乎的是通用性的高度抽象、开放性以及基础设施的建设上,产品比项目更依赖规划人员对于通用性需求的挖掘上,而项目则更依赖需求人员对于客户的需求的挖掘上。  阅读全文

posted @ 2006-04-24 21:38 BlueDavy 阅读(2695) | 评论 (6)  编辑

Maven、Hibernate升级小贴士
     摘要: 记录一下Maven 1升级到Maven 2、Hibernate 2.1升级到Hibernate 3的一些注意事项,^_^,以备后用,毕竟以前的系统很多都是基于Maven 1和Hibernate 2.1的。  阅读全文

posted @ 2006-04-20 11:00 BlueDavy 阅读(3400) | 评论 (0)  编辑

Service-Oriented Component Model(SOCM)
     摘要: 继续以OSGI R4的Declarative Services(DS)来讲讲Service-Oriented Component Model(SOCM),SOCM对于现有的Component-Oriented Model或者是Service-Oriented Model来说到底有什么不同的地方,到底DS能给我们带来什么样的好处呢?  阅读全文

posted @ 2006-04-15 21:33 BlueDavy 阅读(2909) | 评论 (1)  编辑

基于元数据和RIA的开发框架
     摘要: 目前做的一个Web开发框架,基于元数据和RIA,把现在所做的效果贴出来给大家看看,同时也简单的再说说基于元数据和RIA的开发,^_^  阅读全文

posted @ 2006-04-11 17:03 BlueDavy 阅读(2524) | 评论 (5)  编辑

Declarative Services――Service-Oriented Component Model
     摘要: Jeff在EclipseCon 2006那篇介绍Equinox的PPT中提到的Declarative Services(文中全部采用DS简称)的用法让人极度被吸引,但同时又产生怀疑,想起以前自己看过DS好像不是这样的,没这么强,便再次翻阅了OSGI R4中的DS的章节,以验证Jeff的说法,^_^,仔细看过DS章节后,确实为Declarative Services的强大而感到高兴,DS是一个面向服务的组件模型,从组件模型层次上去看,它超越了传统的组件模型,在组件模型描述的完备性上有了很大的进步,例如在组件服务的依赖上、组件服务的延迟加载上、组件服务的多样性控制上、组件服务的配置上以及组件服务的生命周期管理上,不过DS只能在OSGI容器中使用,这尽管看上去可能是个弱点,但作为OSGI规范中的一部分,这无可厚非,其思想值得很多目前Component Model的开源框架值得思考和学习,如感兴趣,请阅读OSGI R4中DS章节。  阅读全文

posted @ 2006-04-07 17:27 BlueDavy 阅读(3378) | 评论 (2)  编辑

Hibernate获取数据方式与缓存使用
     摘要: Hibernate获取数据的方式有不同的几种,其与缓存结合使用的效果也不尽相同,而Hibernate中具体怎么使用缓存其实是我们很关心的一个问题,直接涉及到性能方面。  阅读全文

posted @ 2006-04-06 10:49 BlueDavy 阅读(3446) | 评论 (3)  编辑

Hibernate的延迟属性抓取
     摘要: 再次犯了没有仔细看Hibernate Reference的错误,在Hibernate 3以上版本都支持对于property设置lazy="true",但一直我都以为只要设置了就可以实现的,今天和jindw讨论的时候才知道原来不是这样,^_^,赶快做了下试验,确实,即使对于property设置了lazy="true",但在调用获取了po中的任意非主键属性时其他所有的property也就被加载了,也就是说lazy没有生效,到底怎么回事呢,翻阅Hibernate Reference才明白了这个问题。  阅读全文

posted @ 2006-04-05 22:45 BlueDavy 阅读(5117) | 评论 (5)  编辑

读EclipseCon2006相关PPT有感
     摘要: EclipseCon2006已经结束一段时间了,最近才抽出时间去down下相关感兴趣的PPT来看看,受益不少,N多大师的演讲另人拍案叫绝,不过也有几个PPT让我看的有所疑问,摘录几个PPT的读后感,^_^  阅读全文

posted @ 2006-04-05 17:12 BlueDavy 阅读(3025) | 评论 (0)  编辑

Hibernate实践
     摘要: 在实际项目中使用Hibernate有两年多了,在两年多的实践过程中既体验到了Hibernate带来的N多好处,同时也碰到不少的问题,特写此篇文章做个总结,记录自己在Hibernate实践中的一些经验,希望对于新使用Hibernate的朋友能有个帮助,避免走过多的弯路。
阅读本文前建议至少拥有Hibernate的一些基本知识,因为本文不会去详细介绍相关的基本知识,最好就是先用Hibernate开发了一个HelloWorld,^_^。
根据自己所经历的项目中使用Hibernate所涉及的范围,本文从开发环境、开发、设计、性能、测试以及推荐的相关书籍方面进行讲述,本篇文档不会讲的非常细致,只是根据自己在实践时的经验提出一些建议,关于细致以及具体的部分请参阅《Hibernate Reference》或推荐的相关书籍章节。
此文档的PDF版本请到此下载:
http://www.blogjava.net/Files/BlueDavy/Hibernate实践.rar
本文允许转载,但转载时请注明作者以及来源。  阅读全文

posted @ 2006-03-27 12:47 BlueDavy 阅读(33852) | 评论 (34)  编辑

续谈基于RIA和元数据进行企业应用开发
     摘要: 在上篇中简单的描述了下在我现在开发的东西中关于元数据的设计,在这篇中将结合目前实际的系统的截图来说明关于元数据的具体定义、UI方面的控制以及基于RIA和元数据的系统实现。  阅读全文

posted @ 2006-03-21 13:22 BlueDavy 阅读(1850) | 评论 (2)  编辑

分层与分模块开发
     摘要: 分层与分模块开发,是开发时经常选用的两种方式,应该说分模块开发是较多被采用的方式,但一直以来都觉得其实分层方式自己是比较欣赏的方式。  阅读全文

posted @ 2006-03-19 21:11 BlueDavy 阅读(7207) | 评论 (26)  编辑

也论基于元数据和RIA进行企业应用开发
     摘要: 看了caoxg在广州Bea User Group上讲的《利用元数据和RIA简化企业应用程序的开发》的PPT,很有感触,说说自己对于其中几点的看法,同时也谈谈自己在现在的项目中的实际的关于metadata的做法。  阅读全文

posted @ 2006-03-18 15:31 BlueDavy 阅读(1760) | 评论 (0)  编辑

AJAX中Onepage的注意事项
     摘要: 在采用Ajax进行系统实现时,通常会采用onepage的方式进行实现,自己目前也在一个实际的项目中使用着,总体感觉有几点是在使用onepage时特别要注意的。  阅读全文

posted @ 2006-03-16 10:55 BlueDavy 阅读(1918) | 评论 (1)  编辑

基于Equinox开发系统的总结
     摘要: Equinox,我不想多做介绍,相信很多人都有所了解了,不了解的可具体去www.eclipse.org/equinox看看。
最近基于equinox做了一个系统,还是碰到了一些问题,当然也得到了在插件体系架构下的不少优点,在这里也做个总结。
总体而言,基于equinox做开发对于大多数java开发人员来说应该不会有太多改变的感觉,最多改变的感觉应该是带给设计师,设计师需要有发挥插件体系架构优点以及减少其带来的缺点的能力,^_^  阅读全文

posted @ 2006-03-12 21:32 BlueDavy 阅读(5248) | 评论 (9)  编辑

测试
     摘要: 关注测试的几个方面:
1、测试数据/运行数据的互不影响;
2、单元测试;
3、集成测试。  阅读全文

posted @ 2006-03-08 13:20 BlueDavy 阅读(1468) | 评论 (3)  编辑

碰到的一个Hibernate的问题
     摘要: 总结,就是在同一个session内如果save了一个对象,再通过session.load的方式去取这个对象取出的将仍然是当前session中的对象,也就是说不会去数据库中重新获取...
怎么感觉这样是不太对的,明明数据库有改变,却没有去重新的加载...  阅读全文

posted @ 2006-02-24 20:05 BlueDavy 阅读(1698) | 评论 (6)  编辑

Rife的Continuations
     摘要: rife作为一个full stack rapid web development framework,对它还是比较感兴趣的,今天上rife的官方网站看了下rife的features,它提供了一个关于continuations介绍的quicktime movie,不错,把continuations介绍的还是比较清晰的,虽然影片很短,^_^,但点在了点子上。  阅读全文

posted @ 2006-02-16 17:31 BlueDavy 阅读(1553) | 评论 (0)  编辑

开源产品学习方法论
     摘要: Java界的开源产品多如牛毛,不掌握一定的方法论的话觉得一方面是学不来这么多的开源产品,另一方面则是根本就发挥不了开源产品的作用,一直以来我就推崇技术人员按照工具型人才--->思想型人才--->创新型人才的发展路线,所以我觉得学习和熟悉几种开源产品是必须的基本技能,但并不是说一定熟悉最新流行的开源产品,其实这个就象基于MS做开发的人员,最起码要熟悉的就是.net这些东西,只有先在熟悉这些东西的基础上才能形成更好的发展,一切都自己从底层摸起尽管会让自己学习到很多也会理解很深,但会走很多的弯路,基于开源产品能基于别人经验的基础上进行学习,这样自然会少一些弯路,而且其实这样是很容易形成自己的一些想法的。  阅读全文

posted @ 2006-02-16 14:58 BlueDavy 阅读(2366) | 评论 (2)  编辑

Acegi实现对象实例级权限控制的方法
     摘要: 一直以来对于Acegi实现Domain Object Instance的权限控制就比较感兴趣,今天抽空大致的看了一下,感觉和我以前提出的数据权限那部分的实现是大致相同的。  阅读全文

posted @ 2006-02-13 15:38 BlueDavy 阅读(3757) | 评论 (1)  编辑

数据驱动开发框架实现简述
     摘要: 数据驱动开发框架需要提供的功能以及简要描述的实现思路。  阅读全文

posted @ 2006-02-08 11:51 BlueDavy 阅读(3147) | 评论 (0)  编辑

既然认为它是好的,就要发挥到极限-系列之三重构
     摘要: 想改良一个烂设计为好设计吗?想增加或维护代码功能时更加简单吗?重构无疑是其中最好的方法之一,既然它是好的,我们就要把它发挥到极限,把重构发挥到极限的方法就像kent beck说的,采用两顶帽子的原则,工作中不断的交换帽子,^_^  阅读全文

posted @ 2006-01-26 10:58 BlueDavy 阅读(1437) | 评论 (0)  编辑

既然认为它是好的,就要发挥到极限-系列之二单元测试
     摘要: 既然测试是好的,那就把它发挥到极限。
测试是好的,这一点无可厚非,几乎做软件的人都是认可的,本篇只是谈谈测试中的单元测试部分,单元测试的目的是为了保证类中的方法是符合设计时的需求的,需求驱动似的类实现,^_^  阅读全文

posted @ 2006-01-22 23:43 BlueDavy 阅读(1913) | 评论 (3)  编辑

需要html元素标签吗?
     摘要: 在很多的web框架中,经常会看到提供html元素的标签,例如在采用velocity作为显示层的很多web框架中就会提供诸如table、input等这些元素标签,提供这些标签的用意是很清楚的,就是为了能够统一整个web应用的显示形式和操作模式,但这些标签的提供却在很大程度上给UI集成带来了麻烦,想想本来只要UI设计师切割图片然后直接导为html的部分,变成了还需要开发人员去把页面所有的元素改为使用标签的方式,平白无故的增加了痛苦。  阅读全文

posted @ 2006-01-14 19:43 BlueDavy 阅读(902) | 评论 (1)  编辑

1M内存可用来缓存多少对象?
     摘要: 为了提高系统的响应性能,一般都会采用缓存技术来实现,如果用象ehcache、oscache这样的开源的cache工具来实现,一般都需要由开发人员来设置maxElementsInMemory这个值,但这个值在设置的时候大家都是怎么去设置的呢?凭想像还是随便写一个值呢?这个值设的过大嘛有可能会造成outofmemory,设的过小嘛又浪费服务器巨大的内存,为了能够更好的设置这个值,我写了个测试程序来估算1M内存能够缓存多少个对象。  阅读全文

posted @ 2006-01-12 23:57 BlueDavy 阅读(2842) | 评论 (5)  编辑

OSGI R4中的Declarative Service
     摘要: R4中增加了Declarative Service,简称DS,本来一直还没很关注,近来equinox maillist讨论的比较多,今天就又翻开r4来看了看,Declarative Service的提出就是为了解决之前在R3时对于service的调用比较麻烦的问题,^_^,不过觉得这也只是部分解决而已,现在支持了service的lazy load的概念,呵呵,但其实现在的问题同样很典型,新在采用的是通过ComponentContext.lookup的方式,多么象context.lookup,更是多么的象IoC 1,前段时间equinox maillist也一直讨论过引入IoC的问题,也不知道现在进展如何了,希望能快点看到引入了IoC 2 or IoC 3的方式,那样的话现在的service的引用就不会那么麻烦了......  阅读全文

posted @ 2006-01-08 22:20 BlueDavy 阅读(758) | 评论 (0)  编辑

基于Ajax的Web系统开发的思考
     摘要: 对于基于AJAX的开发与基于MVCFramework的开发的比较,同时提出基于ajax开发吸取基于MVCFramework开发的优点的方式。  阅读全文

posted @ 2006-01-08 10:04 BlueDavy 阅读(4284) | 评论 (4)  编辑

基于数据驱动开发的Demo
     摘要: 目前做的框架中对于数据驱动开发方式支持的Demo,如感兴趣的话可以下载过去看看,是flash版的,因为太大了,所以只能提供分个压缩包的方式。  阅读全文

posted @ 2006-01-06 16:36 BlueDavy 阅读(1210) | 评论 (0)  编辑

初探ruby on rails
     摘要: Ruby on rails的流行让自己也忍不住去尝试了一把,毕竟能够号称比java开发快10倍,仅这点就够吸引人的了,初次使用下来,总体感觉就是和基于纯java的开发来比自然是强很多,毕竟ruby on rails是个web开发框架,但如果以基于java的web开发框架去对比的话我倒是不觉得java的web开发框架效率就比ruby on rails低多少,也许是因为自己对ruby on rails了解不够深入的原因。  阅读全文

posted @ 2006-01-05 21:51 BlueDavy 阅读(2317) | 评论 (2)  编辑

表现层组件的杂谈I
     摘要: 表现层组件的概念没什么多讲的,这里我主要讲表现层组件中的两个焦点问题:
1、表现层组件显示形式的控制。
包括对于表现层组件的显示形式(表格、列表)、显示样式(表格背景、悬浮等)、布局方式(组件中元素的摆放)等的控制。
2、表现层组件的事件响应机制。  阅读全文

posted @ 2005-12-31 21:23 BlueDavy 阅读(1140) | 评论 (0)  编辑

Persistent层实现的两种模式:Dao Pattern & Command Pattern
     摘要: 本文就Persistent层实现可采用的两种模式Dao Pattern & Command Pattern进行了简单的描述和对比。  阅读全文

posted @ 2005-12-26 13:10 BlueDavy 阅读(1898) | 评论 (2)  编辑

数据集表现层组件之接口控制
     摘要: 数据集表现层组件暴露对外的接口,组件可通过参数设置等方式来达到对组件的如下控制:  阅读全文

posted @ 2005-12-24 14:07 BlueDavy 阅读(1245) | 评论 (0)  编辑

解决问题的方式
     摘要: 近来带team的时候发现team中的人缺乏一种有效解决问题的思维,写代码出bug是很正常的事,关键是怎么去解决它,在解决问题时个人觉得比较好的顺序是这样:  阅读全文

posted @ 2005-12-22 22:13 BlueDavy 阅读(714) | 评论 (0)  编辑

UIComponent之数据集表格组件系列I:需求
     摘要: 数据集(Dataset)这个概念相信对大多数人来说都不陌生,在.net中提供了很多数据集的表现层控件,最典型、复杂、实用的莫过于DataGrid,这里要讲的是数据集表格组件,相对DataGrid来说更为简单,在此系列中将阐述数据集表格组件的需求、设计、实现并将最后的效果进行截图演示,本文是系列的第一篇,主要讲述数据集表格组件(DataTable)的需求。  阅读全文

posted @ 2005-12-21 11:31 BlueDavy 阅读(1176) | 评论 (2)  编辑

设计生涯一年总结
     摘要: 担任系统设计师的职位一年了,尽管自己到现在为止仍然是个不合格的设计师,虽然这一年以来也不是完全从事设计的工作,但毕竟站在这个岗位上,主要从事的还是系统设计方面的工作,加上自己也有志于在这个方向发展,所以做一个年度总结是有必要的,也希望能对希望进入设计岗位的朋友们有些帮助,同时也希望得到在设计岗位上有经验的同行们的指点。
这也是自己真正担任系统设计师这个岗位的第一年,尽管在以前的工作中也曾经负责过设计部分,但现在回顾起来,觉得如果不在这个职位上,很多时候是无法了解到这个职位应该做的事的,自然也就无法去做了,在整个一年的工作中学到了很多的东西,同时也暴露了自己很多的不足,但总体而言自己是觉得已经踏入了系统设计的大门,但还需要不断的提高。  阅读全文

posted @ 2005-12-20 00:42 BlueDavy 阅读(2829) | 评论 (5)  编辑

UIComponent显示和逻辑分离的考虑
     摘要: UIComponent,UI层组件,作为组件其最重要的就是接口的提供以及扩充性,同时作为UI层的组件,从UI层的职责来考虑就是UI的展示和交互两个方面,在这两个方面上UIComponent最需要考虑的就是显示和逻辑的分离,避免逻辑造成对显示的污染,显示和逻辑的分离的好处就在于修改UI以及修改逻辑时都会更加的方便,不用去繁重的html代码中寻找UI和逻辑。  阅读全文

posted @ 2005-12-15 14:57 BlueDavy 阅读(1344) | 评论 (0)  编辑

TDD之Unit Test实践
     摘要: TDD的大致概念、实施方法、操作过程,并举例说明,最后对于TDD实施过程中的注意事项稍做总结。  阅读全文

posted @ 2005-12-07 20:39 BlueDavy 阅读(1257) | 评论 (0)  编辑

关于Web UI Component
     摘要: 对于Java Web UI Component的优点、目前实现的技术、缺点以及自己的一些观点,^_^
// TODO:以后需要在这个上面写一篇更全面和完整的文章  阅读全文

posted @ 2005-12-03 21:46 BlueDavy 阅读(895) | 评论 (0)  编辑

技术误区
     摘要: 写这篇和以前的意思不一样,这篇主要是对现在的动辄采用aop思想、采用插件架构、采用SOA、大集成技术这些东西的一个个人的看法,象这种思想级别或者架构级别的东西来说,是很多人采用,但真的发挥了它的作用吗?不敢认同,呵呵,其实象一旦采用aop、插件体系架构这样的思想或架构级的东西,带来的是设计时,甚至是分析时的思想转变,^_^,否则采用了甚至比不采用还惨,不仅带不来效果反而会受很大的"伤害",呵呵,所以在要采用思想级别和架构体系级别的技术转变的时候真的要慎重思考,需要的是对采用的思想以及架构体系的深入了解,毕竟做软件不是为了技术而技术的,当然,自己小玩玩当然是可以了。  阅读全文

posted @ 2005-11-20 23:22 BlueDavy 阅读(628) | 评论 (1)  编辑

翻译的Equinox Team编码实践
     摘要: Equinox是Eclipse的OSGI RI的Project,它的目标是建立成一个独立应用的Plugin Framework,因为现在Eclipse的那个是不好做剥离的,翻译了一篇它的编码实践,希望能有些指导。  阅读全文

posted @ 2005-11-18 14:05 BlueDavy 阅读(1065) | 评论 (0)  编辑

JAAS
     摘要: 在和一个朋友交流权限系统方面的实现时,朋友提及到JAAS,我自己对JAAS不是那么了解,不好去评价,后来去网上查阅了不少JAAS的文档,应该说现在大致的对JAAS有些的理解了吧,个人觉得JAAS只能算是实现权限系统的另一种方式,相当于提供了一个框架,至于这个框架基于什么模型我无从评价,对比下来我仍然认为基于RBAC自行实现是更佳的方案,不过JAAS中也有可取之处,那就是它的PAM思想。  阅读全文

posted @ 2005-11-11 21:17 BlueDavy 阅读(1798) | 评论 (0)  编辑

系统级信息Cache的实现
     摘要: 这篇Blog接着上篇Blog提出的场景进行解决方案的描述:

在和江南白衣聊的时候他提出了oscache提供的cache:cache标签的解决方案,开始想了一下觉得不怎么可行,这也是因为自己对cache标签不熟的原因,后来去网上查了一下cache:cache标签的使用,看了后觉得对于解决上面的需求应该是可行的。  阅读全文

posted @ 2005-10-18 17:35 BlueDavy 阅读(1366) | 评论 (7)  编辑

漫谈权限系统之基于ACL的实现
     摘要: 本文描述了基于ACL模型实现权限系统需求的方案以及优缺点!  阅读全文

posted @ 2005-10-13 18:13 BlueDavy 阅读(5810) | 评论 (1)  编辑

漫谈权限系统系列之目录
     摘要: 昨天没什么条理的写了昨天那篇文档后,今天想想觉得权限系统还是挺值得写写的,今天先大概的整理了下思路,准备按照以下的目录结构系统的对权限系统的实现进行描述和分析。  阅读全文

posted @ 2005-10-06 22:10 BlueDavy 阅读(1785) | 评论 (0)  编辑

漫谈权限系统 I
     摘要: 本文作为漫谈权限系统的开篇,主要描述了权限系统的一般需求、实现方法以及实现时的难点。  阅读全文

posted @ 2005-10-05 23:09 BlueDavy 阅读(3828) | 评论 (5)  编辑

整理中的Web框架知识体系
     摘要: 将来也准备就里面的各个知识点相应的写blog来介绍和阐述自己的观点。  阅读全文

posted @ 2005-09-21 13:36 BlueDavy 阅读(1162) | 评论 (0)  编辑

Java B/S开发模式漫谈
     摘要: B/S作为如今最为流行的体系结构模式,也是受到了广大开发人员以及客户的认同,其开发模式也在不断的发展着,在这里主要就Java B/S的开发模式做一番回顾和探讨,也算是自己对于Java B/S开发模式的一种总结。  阅读全文

posted @ 2005-09-21 12:08 BlueDavy 阅读(1944) | 评论 (3)  编辑

自主开发CMS
     摘要: 经过团队其他成员上上周对OpenCms以及上周对Magnolia的摸索,加上我自己也稍微进行了了解,在今天做初步集成后我做出了一个决定,那就是抛弃这些开源的CMS,选择自主开发,现在想想,其实当初决定采用开源CMS真的是个错误,也许是因为自己对开源CMS的易用性、可扩展性给予了太大的信心,其实经过这段时间用下来发现并非如此,或者说其实这边客户的需求根本就算不上一个CMS,而要的是个其他的东西,这次确实是自己在做决策时出现了严重的错误,一定要吸取这次的教训,想想如果在两个星期前决定自己做的话早就做出来了,唉......  阅读全文

posted @ 2005-09-10 21:38 BlueDavy 阅读(1082) | 评论 (0)  编辑

漫谈CMS
     摘要: 最近一直在挑选CMS,Opencms和Magnolia是考察的重点,应该说用下来两者各有千秋,Opencms在功能上非常强大,灵活性上则相对没那么强,可能因为设计上的原因吧,例如它的权限系统的修改,不过在功能上确实是比较强大,基本上而言一个CMS的功能都已经拥有了,呵呵,关于CMS的需求详见我另外一篇blog,但Opencms的学习曲线较大,不是那么容易上手,体现在模板的编写、资源类型的配置上,Magnolia在功能上也是同样的强大,不过相对Opencms来说还不是那么的周全,但Magnolia提供了较好的扩展性,并且容易上手,模板的编写也是比较的容易。  阅读全文

posted @ 2005-09-07 21:35 BlueDavy 阅读(10629) | 评论 (88)  编辑

中小型应用系统知识体系
     摘要: 大概的整理一下,要成为实战型人才其实不难,呵呵,目前软件市场N多公司无非看你有没有spring、hibernate、webwork/struts这些东西的经验,但作为希望从事技术方面的人来说应该更加深入的去了解,而不是停留在表面...  阅读全文

posted @ 2005-08-29 22:28 BlueDavy 阅读(1314) | 评论 (1)  编辑

中小型应用系统架构体系
     摘要: 国内的软件公司来说仍然以行业化公司居主,而这其中大部分是做中小型的应用系统的,在这些公司中或多或少的存在着自己的一些多年项目积累形成的技术体系,但由于行业化公司来说,毕竟其优势在于行业化软件上,有想法的公司嘛就会自己去搞一套框架,使得自己的行业化软件均可在此之上进行快速、有积累的搭建,尽管这样,但毕竟其是行业化公司,在这方面自然不如专业做此类中间件的软件厂商来得强,虽然很多行业化软件也许根本就不需要一个强大的中间件,但毕竟专业做此类中间件的软件厂商可以从技术上、稳定性上、延续性发展上保证中间件的有利,而行业化软件公司应该发挥本身在行业业务的特长,基于此快速的搭建出适合行业的业务软件,这个我觉得就是双方互相发挥彼此的优势,何必以己之短对他人之长呢。  阅读全文

posted @ 2005-08-23 20:26 BlueDavy 阅读(2511) | 评论 (2)  编辑

CMS
     摘要: 由于此次基于的一个平台并未提供CMS,本来是非常不想去触碰这块,现在看来是没办法了,必须使用CMS,否则工作量太大,加上也没法满足合同中的要求,合同里明文写了需要有内容管理后台,用户可通过内容管理直接添加新的分类什么的,^_^,没有CMS的话还真不好应付。  阅读全文

posted @ 2005-08-15 23:02 BlueDavy 阅读(711) | 评论 (1)  编辑

Eclipse JSR-220 ORM Project And Java WorkFlow Toolbox Project
     摘要: Eclipse JSR-220 ORM Project And Java WorkFlow Toolbox Project 的简单介绍。  阅读全文

posted @ 2005-07-31 17:12 BlueDavy 阅读(659) | 评论 (0)  编辑

JMX概述
     摘要: 在这里对JMX做了一个基本的介绍,可以看出JMX在设计上多方面的考虑到了对于资源的管理的简易性(MBean的编写)、易管理性(多种访问的形式)、实效性(Notification),但同时我们也看出JMX有作为一个Plugin Architecture的潜质,因为MBean是作为即插即用的形式注册到MBeanServer中的,而且JMX还提供了对于MBean的多种便捷的管理方式,MBean呢就像plugin一样,暴露的是可供管理的属性和可供外部调用的操作,^_^,在这里为下一篇基于JMX实现Plugin Architecture埋下伏笔先。  阅读全文

posted @ 2005-07-19 22:42 BlueDavy 阅读(3185) | 评论 (0)  编辑

IoC & Extension Point
     摘要: 昨天在fog讨论到这个问题,fog认为Extension Point是按照IoC的思路实现出来的,我来谈谈我的观点,我却认为Extension Point并不是按照IoC思路来实现的,甚至可以说两者没有关系。  阅读全文

posted @ 2005-07-15 10:47 BlueDavy 阅读(947) | 评论 (2)  编辑

Visitor Pattern的理解
     摘要: 昨天在一篇Blog上看到提及Visitor Pattern,一下想不起来了,赶快翻阅GOF Design Pattern,看了后似懂非懂,郁闷呀,平时Visitor模式用的比较少,对于pattern最重要的是理解,理解为什么要这么设计我觉得那么在自己应用的时候就容易考虑到一些,去S记pattern是没什么意义,为了理解visitor模式,按一个场景进行,给部门人员加工资的场景。  阅读全文

posted @ 2005-07-06 09:49 BlueDavy 阅读(1089) | 评论 (1)  编辑

Lucene基本使用介绍
     摘要: 本文的目的不在于对Lucene的概念和设计这些进行介绍,仅在于介绍怎么样去使用Lucene来达到自己想要的几种常见的全文检索的需求,如果想深入了解Lucene的话本文不会带给你什么收获的。看完本文后想更深入的了解Lucene请访问:http://lucene.apache.org  阅读全文

posted @ 2005-06-07 22:16 BlueDavy 阅读(10896) | 评论 (9)  编辑

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜