Java
robbin
这个作者很懒,什么都没留下…
展开
-
JYaml,用Java读取YAML
http://jyaml.sourceforge.net/YAML的Java库,现在可以用Java来读取YAML。YAML是ruby常用的配置文件,对象序列化格式,比XML轻便,易读,比properties表达能力丰富。在ruby世界很受欢迎。现在有了Java的库了。我觉得值得好好看一下,说不定以后可以用YAML取代Java世界的XML配置文件了。我是通过bd7lx的博客了解到这玩...2006-10-23 14:35:36 · 435 阅读 · 0 评论 -
发现JBoss Seam很棒呀!有用Seam做过项目的吗?
上周去见了一个朋友Mark,他应邀在Red Hat的研讨会上面介绍他曾经用JBoss Seam做过的一个大的项目。因为听了他的演讲,对JBoss Seam多了一点认识,有点出乎意料的方便。所以周末在家下载了JBoss Seam摆弄了一下,把Seam自带的examples都浏览了一遍,也大致看了一下Seam的Reference,感觉挺惊艳的。于是又在JavaEye上面搜索了一下Seam,这才发现自从...2008-07-06 20:56:35 · 199 阅读 · 0 评论 -
点评Java full-stack框架
2005年ruby on rails横空出世般的流行刺激了Java开源框架整合的大趋势,ruby on rails这个号称“full-stack”的框架能做的我们都能做,它就是整合的更好,省略了配置文件,提供了快速代码生成器,暂且不论ruby on rails本身,但是诸多Java开发人员把目光从只做好一件事情上面挪到了“提供最方便的full-stack框架”上面,因此我们可以看到整个Java开源...2006-09-11 01:32:54 · 192 阅读 · 0 评论 -
Sun公司收编JRuby
9月初,Sun公司雇佣了JRuby开源项目的两个核心开发人员Charles Nutter和Thomas Enebo,专职从事JRuby开源项目的开发工作。从Charles Nutter和Thomas Enebo的私人博客的字里行间,我们可以感受到他们对Sun公司对于JRuby项目认可,以及对JRuby项目提供了大力支持而无比振奋。这是Charles的bloghttp://headius...2006-09-11 10:47:18 · 116 阅读 · 0 评论 -
谈谈Hibernate令人不爽的地方
对于Hibernate,有两点值得反思: 1、HQL创造出来一种语言,目的是以对象方式类SQL去查询数据库,但是为什么不像rails那样,干脆直接定义COC让数据库schema 和对象的schema吻合在一起呢?这样,SQL不就是直接变成了对象查询语言了吗?缺点就是放弃更多更复杂的对象映射模型。但是我的经验表明,项目中要尽量避免复杂的对象映射,这样性能很糟糕,也很容易出错,实际上我仅仅只用...2006-09-14 11:07:51 · 153 阅读 · 0 评论 -
选择Hibernate还是iBatis?
选择Hibernate还是iBATIS都有它的道理:Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得...2006-09-18 08:12:06 · 111 阅读 · 0 评论 -
Spring2.0的新特性点评
Spring2.0的发布恐怕算得上2006年Java社区的一件大事了。在Spring2.0发布附带的文档里面对2.0新特性做了概要的介绍,2.0的新特性是自然是我们最关注的方面:[color=red]一、Spring的XML配置引入XML Schema语法简化配置[/color]在Spring1.x系列中,bean的配置文件使用DTD,没有namespace的分隔。2.0的一个非常...2006-10-03 23:19:43 · 110 阅读 · 0 评论 -
Hibernate3.2版本正式发布了
前几天Spring2.0刚刚大张旗鼓发布,现在Hibernate3.2正式版,连同annotation和entitymanager就一起静悄悄的发布了,要不是因为我订阅了Hibernate的blog,还不知道呢。从sourceforge上面拉东西总是很慢,在慢慢等待过程中把3.2的文档扫了一下。Hibernate3.2开始,annotation和JPA算是正式推出了,虽然以前也不少公司早就...2006-10-17 01:10:59 · 395 阅读 · 0 评论 -
Google Android会成为手机领域的微软Windows吗?
Google gPhone手机的传言已经沸沸扬扬好几个月了,然而就像Google其他产品那样出人意料,当Android轰轰烈烈推出的时候,原来并非手机产品,而是手机操作系统。Google对无线互联网市场垂涎已久,这已经是尽人皆知的事情。在公众场合,无论是Google全球CEO艾里克施密特博士,还是在中国媒体面前的李开复博士,都毫不掩饰Google对于无线互联网市场的向往。Android的推出就像G...2007-11-16 17:23:08 · 132 阅读 · 0 评论 -
Warp framework - 一个相当有前途的Java轻量级Web开发框架
Warp framework 是最近刚刚发布的、基于Google Guice的轻量级Web开发框架,我也是在JavaEye网站的新闻频道看到的这条新闻: [url=http://www.iteye.com/news/1363]warp-persist 1.0: 为Google Guice专门提供持久层与事务处理的框架[/url],通过这个新闻仔细阅读了Warp网站上面的文档,感觉到很振奋,Warp...2008-03-06 15:24:19 · 218 阅读 · 0 评论 -
Spring Application Platform - SpringSource的应用服务器发布
2008年的5.1劳动节,SpringSource发布了策划已久的开源应用服务器-SpringSource Application Platform。JavaEye的新闻频道也有报道:[url=http://www.iteye.com/news/2113]SpringSource 宣布发布 SpringSource Application Platform Beta[/url]总体...2008-05-05 17:04:49 · 123 阅读 · 0 评论 -
对领域模型实现的总结性观点
陶文发起的对领域模型的最新讨论:[url=http://www.iteye.com/topic/281289]领域模型的价值与困境[/url],在这个讨论当中,我的关注点是,在现在的技术水平下,我们如何把领域模型的理论和我们实际应用开发框架结合起来,总结出最佳实践:[size=large]第一、DAO层和TransactionScript层是邪恶的![/size]我们在2004年一...2008-11-30 15:16:22 · 132 阅读 · 0 评论 -
缓存技术浅谈
有我在两年前写的一个培训的ppt,是介绍缓存知识的。有兴趣的可以参考:[url=http://www.slideshare.net/robbinfan/ss-5275090]缓存技术浅谈[/url]2010-09-24 18:08:56 · 109 阅读 · 0 评论 -
Java已经过时了吗?
在四年以前,当我开始鼓吹Hibernate,抨击EJB的时候,遭到的是群起而攻之的场面,但是不到一年之后,Hibernate已然得到了普及和大多数Java开发人员的认可;在三年以前,当我开始赞誉spring的时候,spring还面临着EJB3的阴影,以及EJB2对其不登大雅之堂的指责,然而不到一年的时间,spring已经成为绝大多数Java开发人员的首选;在两年以前,我极力希望宣传webw...2007-07-02 15:43:15 · 1154 阅读 · 2 评论 -
Java开源框架发展的遐想
上周末在杭州网侠大会做演讲的时候,我说:Java开源框架的革命浪潮已经结束了,未来几年,将是Java语言级别的革命。说实话,自从03年Hibernate火爆,04年spring流行之后,Java开源领域实在太缺乏亮点了。但是,Java的主流开源框架真的一点改进的余地都没有了吗?先来说说Hibernate吧。Hibernate确实功能强悍,但是Hibernate不够易用,而且有一些明显的缺陷...2007-05-23 00:04:03 · 131 阅读 · 0 评论 -
静态类型语言的优势究竟是什么?
在参与这个讨论的过程中,产生了一个新的话题,很想和大家探讨一下:http://www.iteye.com/topic/33890[quote]是像Java或者C#这样强类型的准静态语言在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中也有着非常强的优势[/quote]这是一个存在于大家心里常识了。我承认我自己在潜意识里面也觉得静态强类型语言适合开发复杂,大...2006-11-13 10:03:06 · 921 阅读 · 0 评论 -
应该如何正确使用Quartz
对于Web容器来说,最忌讳应用程序私自启动线程,自行进行线程调度,像Quartz这种在web容器内部默认就自己启动了10个线程进行异步job调度的框架本身就是很危险的事情,很容易造成servlet线程资源回收不掉,所以我一向排斥使用quartz。quartz还有一个问题就是不支持cluster。导致使用quartz的应用都没有办法做群集。那么应该如何正确的使用quartz的同时,又...2006-12-27 11:40:34 · 165 阅读 · 0 评论 -
Java程序员的推荐阅读书籍
《Java程序员的推荐阅读书籍》JavaEye (http://www.iteye.com)范凯(http://robbin.iteye.com)作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。...2007-02-07 20:12:00 · 1103 阅读 · 0 评论 -
Spring2.0和EJB3.0随谈
Spring自从2003年发布以来,一直是Java开源框架的奇迹之一。从2000年开始,伴随着B/S架构逐渐引入企业应用软件开发的领域,Java就逐渐成为企业应用开发的主流技术,一直到2003年,Struts+EJB一直是Java技术架构的不二选择,然而这一切随着2003年Spring以without EJB的面目出现之后,一切都开始改变。大概从2003年下半年开始,Spring+Hibe...2007-02-08 14:26:12 · 164 阅读 · 0 评论 -
Google Guice - 比Spring快100倍的IoC容器
http://code.google.com/p/google-guice/Google公司的Bob lee开发的轻量级IoC容器,其特点是:1、速度快,号称是spring的100倍速度2、无配置文件,实用JDK5.0的annotation描述组件依赖,简单,而且有编译器检查和重构支持3、简单,代码量很少http://code.google.com/p/google...2007-02-27 14:46:59 · 384 阅读 · 0 评论 -
可以开始用Struts2.0了
http://struts.apache.org/Apache已经发布了Struts2.0的正式版,即2.0.6GA版本。这个版本已经可以在项目中正式使用了。当然大家一定很关心,从webwork2.2迁移到struts2.0麻烦不麻烦,请看Struts2.0的FAQ:[quote]Essentially, Struts 2.0 is the technical equivalent...2007-02-27 14:56:35 · 99 阅读 · 0 评论 -
domain model的延伸讨论
domain model,又称为领域模型,是Java企业应用讨论的一个热门话题,JavaEye也曾经多次围绕这个话题讨论,我们来看个简单的例子:[quote]一个简单的公司工时管理系统,记录员工的个人信息,每个员工的工作任务分配,以及工作所属类别(例如开发,还是测试,还是培训等等),其中每个员工有n个任务,员工和任务是一对多关系,每个员工也分别隶属于多个不同的工作类别,员工和类型是多对...2007-03-03 01:17:09 · 206 阅读 · 0 评论 -
JRuby0.9.8,正式宣布支持ruby on rails
http://jruby.codehaus.org/自从Sun雇佣了JRuby团队之后,JRuby团队的进展确实非常迅速阿。3月5号,JRuby发布了0.9.8版本,在该版本上面,rails1.2.1的98%的单元测试得到通过,可以认为JRuby正式支持rails了。此外0.9.8版本在IO方面性能也有了很大的提高,貌似提高了6.5倍之多。预计JRuby在扫除了最后2%的不兼容问题...2007-03-07 10:35:02 · 97 阅读 · 0 评论 -
缓存简述
缓存实现的层面有很多:1、对象缓存由ORM框架提供,透明性访问,细颗粒度缓存数据库查询结果,无需业务代码显式编程。当软件结构按照ORM框架的要求进行针对性设计,使用对象缓存将会极大降低web系统对于数据库的访问请求。因为类似Hibernate这样的ORM,良好的设计数据库结构和利用对象缓存,在大负载网站,能够提供极高的性能。因为使用对象缓存也无需显式编程,所以适用范围也最广泛。...2007-03-30 09:55:44 · 171 阅读 · 0 评论 -
点评Grails vs RoR
Grails的革新和RoR相比,非常不彻底,很多地方兼容Java习惯的痕迹很明显,所以使用起来,远远没有RoR快速和方便;Grails和传统Java编程相比,毕竟是动态脚本语言,因此又不具备传统的编译器检查的好处。总之,就是Grails这种中庸的态度导致Grails从快速开发角度既不如RoR,从类型安全的角度又丧失了Java静态类型的好处。另外,虽然Grails作者因为rhtml可以嵌入r...2007-03-30 17:49:39 · 104 阅读 · 0 评论 -
为什么ORM性能比iBATIS好?
缓存是有很多层次的,有web server前端缓存,有动态页面静态化,有页面片断缓存,有查询缓存,也有对象缓存。不同层面的缓存适用于不同的应用场景,作用也各自不同,如果可以,你全部一起用上,他们不矛盾,但这个话题比较大,现在不展开谈。针对OLTP类型的web应用,只要代码写的质量没有问题,最终的性能瓶颈毫无疑问还是数据库查询。应用服务器层面可以水平扩展,但是数据库是单点的,很难水平扩展,所...2007-05-06 11:16:51 · 226 阅读 · 0 评论 -
漫谈应用缓存的命中率问题
这篇文章源自于:http://www.iteye.com/topic/77195其中很多人谈到了缓存命中率的问题,应用缓存的命中率取决于很多的因素:1、应用场景是OLTP还是OLAP应用,即使是OLTP,也要看访问的频度,一个极少被访问到的缓存等于没有什么效果。一般来说,互联网网站是非常适合缓存应用的场景。2、缓存的粒度毫无疑问,缓存的粒度越小,命中率就越高...2007-05-09 14:19:57 · 227 阅读 · 0 评论 -
WebObjects的来龙去脉
在知乎上回答的一个问题:http://www.zhihu.com/question/20284092苹果用的是WebObjects框架,运行在Java虚拟机上,开发语言是Java。http://en.wikipedia.org/wiki/WebObjectsWebObjects是乔布斯Next时期搞出来用来做Web开发的纯面向对象的框架,比SUN后来搞的J2EE先进很多,事...2012-06-08 15:30:37 · 604 阅读 · 0 评论