robbin的博客 -乐鱼入口

`
robbin
  • 浏览: 4788967 次
  • 性别:
  • 来自: 上海
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 博客专栏
    robbin谈管理
    浏览量:134857
    社区版块
    • ( 265)
    • ( 6203)
    • ( 75)
    存档分类
    最新评论
    文章列表
    在知乎上回答的一个问题:http://www.zhihu.com/question/20284092 苹果用的是webobjects框架,运行在java虚拟机上,开发语言是java。 http://en.wikipedia.org/wiki/webobjects webobjects是乔布斯next时期搞出来用来做web开发的纯面向对象的框架,比sun后来搞的j2ee先进很多,事实上从2002开始java开源运动颠覆j2ee搞mvc,搞ormapping,搞工作流什么的,最终这些东西在webobjects当中都实现了,而且自成体系。 多说一句,webobjects是1995年搞出来的,s ...
    有我在两年前写的一个培训的ppt,是介绍缓存知识的。有兴趣的可以参考:缓存技术浅谈
    • 2010-09-24 18:08
    • 浏览 21573
    • 论坛回复 / (46 / 35351)
    • 分类:企业架构
      博客分类:
    • java
    陶文发起的对领域模型的最新讨论:领域模型的价值与困境,在这个讨论当中,我的关注点是,在现在的技术水平下,我们如何把领域模型的理论和我们实际应用开发框架结合起来,总结出最佳实践: 第一、dao层和transactionscript ...
      博客分类:
    • java
    上周去见了一个朋友mark,他应邀在red hat的研讨会上面介绍他曾经用jboss seam做过的一个大的项目。因为听了他的演讲,对jboss seam多了一点认识,有点出乎意料的方便。所以周末在家下载了jboss seam摆弄了一下,把seam自带的examples都浏览了一遍,也大致看了一下seam的reference,感觉挺惊艳的。于是又在javaeye上面搜索了一下seam,这才发现自从去年下半年开始,javaeye已经有大量关于seam的讨论了,这都一年多过去了,看来自己对java社区已经有点孤陋寡闻了。 写这个文章的目的是和大家一起交流一下jboss seam,虽然我通过文档和代 ...
    • 2008-07-06 20:56
    • 浏览 29942
    • 论坛回复 / (154 / 124582)
    • 分类:企业架构
    2008年的5.1劳动节,springsource发布了策划已久的开源应用服务器-springsource application platform。javaeye的新闻频道也有报道: springsource 宣布发布 springsource application platform beta 总体来说,spring的application platform就是一个根据rod johnson� ...
    • 2008-05-05 17:04
    • 浏览 6808
    • 论坛回复 / (10 / 6645)
    • 分类:企业架构
      博客分类:
    • java
    warp framework 是最近刚刚发布的、基于google guice的轻量级web开发框架,我也是在javaeye网站的新闻频道看到的这条新闻: warp-persist 1.0: 为google guice专门提供持久层与事务处理的框架,通过这个新闻仔细阅读了warp网站上面的文档,感� ...
    • 2008-03-06 15:24
    • 浏览 22288
    • 论坛回复 / (96 / 55488)
    google gphone手机的传言已经沸沸扬扬好几个月了,然而就像google其他产品那样出人意料,当android轰轰烈烈推出的时候,原来并非手机产品,而是手机操作系统。google对无线互联网市场垂涎已久,这已经是尽人皆知的事情。在公众场合,无论是google全球ceo艾里克施密特博士,还是在中国媒体面前的李开复博士,都毫不掩饰google对于无线互联网市场的向往。android的推出就像google在无线互联网市场亮出的一把利剑,已经是司马昭之心,路人皆知。 google android动了谁的奶酪?是apple,还是微软?apple刚刚发布了划时代的iphone手机,而微软已经在手机 ...
    • 2007-11-16 17:23
    • 浏览 9539
    • 论坛回复 / (10 / 11492)
    • 分类:移动开发
    在四年以前,当我开始鼓吹hibernate,抨击ejb的时候,遭到的是群起而攻之的场面,但是不到一年之后,hibernate已然得到了普及和大多数java开发人员的认可; 在三年以前,当我开始赞誉spring的时候,spring还面临着ejb3的阴影,以及e ...
    • 2007-07-02 15:43
    • 浏览 59574
    上周末在杭州网侠大会做演讲的时候,我说:java开源框架的革命浪潮已经结束了,未来几年,将是java语言级别的革命。说实话,自从03年hibernate火爆,04年spring流行之后,java开源领域实在太缺乏亮点了。但是,java的主流开源框架真的一点改进的余地都没有了吗? 先来说说hibernate吧。hibernate确实功能强悍,但是hibernate不够易用,而且有一些明显的缺陷:one-to-one必须通过bytecode enhancement才能lazy loading;不支持多态关联;怪异的inverse配置和维护;detachedcriteria有明显的bug;many- ...
    • 2007-05-23 00:04
    • 浏览 34671
    • 论坛回复 / (28 / 27531)
    • 分类:企业架构
    这篇文章源自于: http://www.iteye.com/topic/77195 其中很多人谈到了缓存命中率的问题,应用缓存的命中率取决于很多的因素: 1、应用场景 是oltp还是olap应用,即使是oltp,也要看访问的频度,一个极少被访问到的缓存等于没有什么效果。一般来说,互联网网站是非常适合缓存应用的场景。 2、缓存的粒度 毫无疑问,缓存的粒度越小,命中率就越高,对象缓存是目前缓存粒度最小的,因此被命中的几率更高。举个例子来说吧:你访问当前这个页面,浏览帖子,那么对于orm来说,需要发送n条sql,取各自帖子user的对象。很显然,如果这个user在其他帖子里面也跟贴了,那么在访 ...
    缓存是有很多层次的,有web server前端缓存,有动态页面静态化,有页面片断缓存,有查询缓存,也有对象缓存。不同层面的缓存适用于不同的应用场景,作用也各自不同,如果可以,你全部一起用上,他们不矛盾,但这个话题比较大,现在不展开谈。 针对oltp类型的web应用,只要代码写的质量没有问题,最终的性能瓶颈毫无疑问还是数据库查询。应用服务器层面可以水平扩展,但是数据库是单点的,很难水平扩展,所以如何有效降低数据库查询频率,减轻数据库压力,是web应用性能问题的根源。 以上所有的缓存方式都可以直接或者间接的降低数据库访问,但缓存是有应用场景的,虽然新闻网站非常适合使用动态页面静态化技术,但是例如 ...
    • 2007-05-06 11:16
    • 浏览 34351
      博客分类:
    • java
    grails的革新和ror相比,非常不彻底,很多地方兼容java习惯的痕迹很明显,所以使用起来,远远没有ror快速和方便;grails和传统java编程相比,毕竟是动态脚本语言,因此又不具备传统的编译器检查的好处。总之,就是grails这种中庸的态度导致grails从快速开发角度既不如ror,从类型安全的角度又丧失了java静态类型的好处。 另外,虽然grails作者因为rhtml可以嵌入ruby代码,所以对rhtml不爽,但是我更不爽jsp tag。可以这样说,jsp tag是java有史以来web编程发展历史上的最大败笔。jsp tag导致了难以进行页面局部重用,难以动态切换页面实现,这对 ...
    • 2007-03-30 17:49
    • 浏览 8212
    缓存实现的层面有很多: 1、对象缓存 由orm框架提供,透明性访问,细颗粒度缓存数据库查询结果,无需业务代码显式编程。当软件结构按照orm框架的要求进行针对性设计,使用对象缓存将会极大降低web系统对于数据库的访问请求。因为类似hibernate这样的orm,良好的设计数据库结构和利用对象缓存,在大负载网站,能够提供极高的性能。因为使用对象缓存也无需显式编程,所以适用范围也最广泛。 2、查询缓存 对数据库查询结果行集进行缓存,适用于一些耗时,但是时效性要求比较低的场景。ibatis就只能使用查询缓存,而无对象缓存。查询缓存和对象缓存适用的场景不一样,是互为补充的。 3、片断缓存 针对动态页 ...
    • 2007-03-30 09:55
    • 浏览 12171
      博客分类:
    • java
    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%的不兼容问题之后,很快就会发布jruby1.0正式版本。 有了sun公司的大力推动,jruby还是很值得期待的。
    • 2007-03-07 10:35
    • 浏览 15569
    • 论坛回复 / (18 / 18637)
      博客分类:
    • java
    domain model,又称为领域模型,是java企业应用讨论的一个热门话题,javaeye也曾经多次围绕这个话题讨论,我们来看个简单的例子: 引用 一个简单的公司工时管理系统,记录员工的个人信息,每个员工的工作任务分配,以及工作所属类别(例如开发,还是测试,还是培训等等),其中每个员工有n个任务,员工和任务是一对多关系,每个员工也分别隶属于多个不同的工作类别,员工和类型是多对多关联关系,而每个任务也分别隶属于唯一的工作类别,任务和类别是多对一关系。另外系统不要求对部门信息进行维护,不需要department表。因此,在这个系统中使用四张数据库表: users表保存员工信息,有name, ...
    • 2007-03-03 01:17
    • 浏览 40451
    • 论坛回复 / (62 / 72958)
      博客分类:
    • java
    http://struts.apache.org/ apache已经发布了struts2.0的正式版,即2.0.6ga版本。这个版本已经可以在项目中正式使用了。当然大家一定很关心,从webwork2.2迁移到struts2.0麻烦不麻烦,请看struts2.0的faq: 引用essentially, struts 2.0 is the technical equivalent of webwork 2.3. aside from the package and property renaming, it isn't much different than, say, migrating fr ...
    • 2007-02-27 14:56
    • 浏览 55930
    • 论坛回复 / (58 / 62837)
    • 分类:企业架构
    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-guice/wiki/springcomparison 这是google guice和spring ioc容器的对比 另外xwork2.0已经集成了google guice容器了。 http://docs.go ...
    • 2007-02-27 14:46
    • 浏览 58011
    • 论坛回复 / (50 / 52949)
    • 分类:企业架构
    spring自从2003年发布以来,一直是java开源框架的奇迹之一。从2000年开始,伴随着b/s架构逐渐引入企业应用软件开发的领域,java就逐渐成为企业应用开发的主流技术,一直到2003年,struts+ejb一直是java技术架构的不二选择,然而这� ...
    • 2007-02-08 14:26
    • 浏览 18383
      博客分类:
    • java
    《java程序员的推荐阅读书籍》 javaeye (http://www.iteye.com) 范凯(http://robbin.iteye.com) 作为java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一� ...
    • 2007-02-07 20:12
    • 浏览 101125
    • 论坛回复 / (83 / 160549)
      博客分类:
    • java
    对于web容器来说,最忌讳应用程序私自启动线程,自行进行线程调度,像quartz这种在web容器内部默认就自己启动了10个线程进行异步job调度的框架本身就是很危险的事情,很容易造成servlet线程资源回收不掉,所以我一向排斥使用quartz。 quartz还有一个问题就是不支持cluster。导致使用quartz的应用都没有办法做群集。 那么应该如何正确的使用quartz的同时,又不影响web容器自身的线程调度呢? 办法就是自己单独启动一个job server,来quartz跑job,不要部署在web容器中。 其他web节点当需要启动异步任务的时候,可以通过种种方式(db, jms, ...
    • 2006-12-27 11:40
    • 浏览 34012
    在参与这个讨论的过程中,产生了一个新的话题,很想和大家探讨一下: http://www.iteye.com/topic/33890 引用是像java或者c#这样强类型的准静态语言在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中也有着非常强的优势 这是一个存在于大家心里常识了。我承认我自己在潜意识里面也觉得静态强类型语言适合开发复杂,大型系统。而弱类型脚本语言不适合开发太复杂,太大型的项目。但是在参与这个讨论过程中,我突然开始置疑这个观点,事实究竟是不是这样的呢? 先定义一下标准: 强类型语言(静态类型语言)是指需要进行变量/对象类型声明的语言,一般情况下需要编译执行 ...
    • 2006-11-13 10:03
    • 浏览 33230
    • 论坛回复 / (65 / 53581)
      博客分类:
    • java
    http://jyaml.sourceforge.net/ yaml的java库,现在可以用java来读取yaml。yaml是ruby常用的配置文件,对象序列化格式,比xml轻便,易读,比properties表达能力丰富。在ruby世界很受欢迎。现在有了java的库了。我觉得值得好好看一下,说不定以后可以用yaml取代java世界的xml配置文件了。 我是通过bd7lx的博客了解到这玩意的: http://bd7lx.iteye.com/blog/29511
    • 2006-10-23 14:35
    • 浏览 10252
      博客分类:
    • java
    前几天spring2.0刚刚大张旗鼓发布,现在hibernate3.2正式版,连同annotation和entitymanager就一起静悄悄的发布了,要不是因为我订阅了hibernate的blog,还不知道呢。 从sourceforge上面拉东西总是很慢,在慢慢等待过程中把3.2的文档扫了一下。hibernate3.2开始,annotation和jpa算是正式推出了,虽然以前也不少公司早就开始用了,不过现在算是一个正式的开始。 我不知道annotation会不会得到大家的认可和喜爱,我自己在eclipse3.2里面试了试,发现现在eclipse对于annotation的支持实在是太弱了。如 ...
    • 2006-10-17 01:10
    • 浏览 32081
    • 论坛回复 / (49 / 31943)
      博客分类:
    • java
    spring2.0的发布恐怕算得上2006年java社区的一件大事了。在spring2.0发布附带的文档里面对2.0新特性做了概要的介绍,2.0的新特性是自然是我们最关注的方面: 一、spring的xml配置引入xml schema语法简化配置 在spring1.x系列中,bean的配置文件使用dtd,没有namespace的分隔。2.0的一个非常大的改进是引入了xml schema的namespace,因而可以将bean的配置文件做大幅度的简化。这些简化包括了对bean属性的各种简化,aop配置的简化,事务配置的简化,jndi配置的简化等方面。当然,在简化配置的同时,新的xml schem ...
    • 2006-10-03 23:19
    • 浏览 23100
    • 论坛回复 / (25 / 26626)
    • 分类:企业架构
      博客分类:
    • java
    选择hibernate还是ibatis都有它的道理: hibernate功能强大,数据库无关性好,o/r映射能力强,如果你对hibernate相当精通,而且对hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。 hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计o/r映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好hibernate方面需要你的经验和能力都很强才行。 ibatis入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的sql使用经验,对于没有那么高的对象模型要求的项目来 ...
    • 2006-09-18 08:12
    • 浏览 58129
      博客分类:
    • java
    对于hibernate,有两点值得反思: 1、hql创造出来一种语言,目的是以对象方式类sql去查询数据库,但是为什么不像rails那样,干脆直接定义coc让数据库schema 和对象的schema吻合在一起呢?这样,sql不就是直接变成了对象查询语言了吗?缺点就是放弃更多更复杂的对象映射模型。但是我的经验表明,项目中要尽量避免复杂的对象映射,这样性能很糟糕,也很容易出错,实际上我仅仅只用n:1就可以表达很多种映射模型了。化繁为简,大巧若拙实为最高境界。 2、现在极其厌恶hibernate生成的sql,又臭又长,极难阅读。
    • 2006-09-14 11:07
    • 浏览 67454
    • 论坛回复 / (91 / 95130)
    • 分类:企业架构
      博客分类:
    • java
    9月初,sun公司雇佣了jruby开源项目的两个核心开发人员charles nutter和thomas enebo,专职从事jruby开源项目的开发工作。从charles nutter和thomas enebo的私人博客的字里行间,我们可以感受到他们对sun公司对于jruby项目认可,以及对jruby项目提供了大力支持而无比振奋。 这是charles的blog http://headius.blogspot.com/2006/09/jruby-steps-into-sun.html 单纯从web项目的开发效率上衡量,java已经无法和ruby on rails相提并论,但有趣的是java并非 ...
    • 2006-09-11 10:47
    • 浏览 16721
    • 论坛回复 / (18 / 23007)
      博客分类:
    • java
    2005年ruby on rails横空出世般的流行刺激了java开源框架整合的大趋势,ruby on rails这个号称“full-stack”的框架能做的我们都能做,它就是整合的更好,省略了配置文件,提供了快速代码生成器,暂且不论ruby on rails本身,但是诸多java ...
    • 2006-09-11 01:32
    • 浏览 23098
    • 论坛回复 / (18 / 25801)
    • 分类:企业架构
    global site tag (gtag.js) - google analytics
    网站地图