论坛首页 Java企业应用论坛

EJB 完全引错了路——论企业应用的核心问题

浏览 87298 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-09-14  
庄表为
继续我的分布式解决方案应该是J2EE自己自动解决的论点。
我们知道JAVA制定的垃圾自动收集的策略,在开始有非常多的人反对,认为这样不够灵活,而且系统可能因此而瘫痪,等等的说法多而又多。但是现在看看情况到底怎么样了,自动垃圾收集系统给软件带来的更多的是利益和稳定。而这个情况我看在分布式方面也会如此,所以我对庄表为说制定式的分布式和天然的分布式的优劣的回到。
同时我指出zope可以自然的分布式,并不是对给EJB找的罪状,而是给整个的J2EE体系提出的罪状,EJB还承担不起这个。这也是我对最近EJB3.0热潮的一个反应,可以算作我这个人无聊而无知而无畏的一面吧。
0 请登录后投票
   发表时间:2004-09-14  
嗬嗬,题外话,关于垃圾收集,任何在C/C++和Delphi上做过比较复杂的非系统级应用程序的人都是求爹拜娘地需要
做这样的一个程序,需要大把大把的时间花费在内存泄漏和释放顺序调试上。

还有不能用clone了以后不管(某些语法解析技术实现需要大量clone小对象),还有不能(new XXX()).XXX这些本来用起来很方面的习惯用语,代码长度也会大大增加,很多模式用起来不爽。

我的做法是每创建一个对象就(在超类的构造函数里面)把它放入一个全局(或者和某个类层次、或者和某次操作)的池里面,然后让程序在适当的时候主动去调用这个池的释放,实现起来非常复杂,还需要手工释放,但毕竟好多了
0 请登录后投票
   发表时间:2004-09-14  
potian
所以当初java说可以把内存泄露自己解决的时候我们都是欢天喜地的。现在分布式的情况我看跟当初的自己来跟踪每一个new的情况一样,根本的解决还是应该靠J2EE这个平台自动的去完成它,而不是依靠我们这人费了牛劲去吭哧吭哧写代码。其实分布式就和当初的内存泄露一样难于测试,也难于设计。java说实在的还是一个面向应用的语言,而不是像C一样的写底层系统的语言,应该更多的考虑友好和自动化。
0 请登录后投票
   发表时间:2004-09-14  
To: dlee

我不是想针对你,我只是觉得你的观点实在站不住脚。不能因为私交好就不反驳了。

引用
to robbin:
你的这个例子还是没有什么普遍性,除非你能证明很多场合在单台服务器上做分布式是合理的,否则你的言论我也就只能一笑置之。


这个问题我来讲没有权威性,你可以听听joe和jebtang的说法。你没有做过大型的分布式应用不证明分布式没有意义。

引用
在 Windows 上进程间通信有以下几种方式:
1、共享内存区
2、命名管道
3、Socket
(还有其他方式,我记不清了。很多年没有在 Windows 上做 C 开发了)

RMI 是基于 Socket 实现的对吧? Socket 是这三种通信方式中最低效的。EJB2 新增的 local 接口大幅提高了 EJB 的性能,但是前提是 Client 与 Server 要跑在同一个 JVM 中。


你想说明什么呢?说明分布式调用的效率比本地调用低吗?这当然是事实,难道你的反驳分布式的理由就是因为分布式调用效率低,所以分布式调用没有意义,不应该采用吗?那我只能认为你对分布式的作用的意义都没有搞清楚。

引用
所以单从性能上考虑,我一般是不会在单台服务器上使用多个 JVM 的。使用多个 JVM 可能会对提高应用的稳定性有好处,但是这些领域需要 robbin 更进一步的证明


我觉得这话说的很可笑。在单台机器上启动多个JVM就是为了突破性能瓶颈的。至于多JVM的提高应用的容错性和稳定性难道还需要进一步证实吗?我只能说你孤陋寡闻。我自己原来在服务器上运行Resin的时候,都是启动几个JVM来保证稳定性的。你没有用过不代表没有意义。
0 请登录后投票
   发表时间:2004-09-14  
robbin 写道
你想说明什么呢?说明分布式调用的效率比本地调用低吗?这当然是事实,难道你的反驳分布式的理由就是因为分布式调用效率低,所以分布式调用没有意义,不应该采用吗?那我只能认为你对分布式的作用的意义都没有搞清楚。

你太情绪化了,以至于断章取义。我觉得其实你应该去认真看看 o6z 前面的一些话。我从来没有完全反对过分布式的。我反对的只是在任何时候都将应用做成分布式。
0 请登录后投票
   发表时间:2004-09-14  
potian:
引用
我的做法是每创建一个对象就(在超类的构造函数里面)把它放入一个全局(或者和某个类层次、或者和某次操作)的池里面,然后让程序在适当的时候主动去调用这个池的释放,实现起来非常复杂,还需要手工释放,但毕竟好多了

这让我想起传说中的一个名词:Container(Context)
这是提高效率的非常有效地办法。
但是按照potian的这种思路发展下去,可能继而出现给池中对象init,或者Destroy的问题,久而久之突然发现,这就是一个完整的container嘛!
呵呵
0 请登录后投票
   发表时间:2004-09-14  
反对任何情况下都把应用做成分布式这是当然的事情了,这一点上我们有分歧吗?我反对的是你把分布式说的一无是处的态度,并且从上面的讨论中我认为你是缺乏分布式和集群部署的经验和了解的,因此我上面已经对你关于分布式方面观点提出了反驳。

我只想反驳我认为明显错误的观点而已,并且我不希望那些错误的观点在别人提出置疑的时候,置疑的声音反而被打压下去,这样的话,那我们和jdon有什么区别呢?
0 请登录后投票
   发表时间:2004-09-14  
很多帖子我因为dlee的发言引起自己发言的兴趣,虽然有时候偏激了一点,但旗帜非常鲜明,能够让人有很深刻的印象,也有很多值得批驳的地方,呵呵

我是很欣赏dlee这种精神的,我自己也感觉不到这样会对我的讨论有什么影响,但是确实某些时候可能对论坛里面不是很熟悉的会员造成一些心理上的压力
0 请登录后投票
   发表时间:2004-09-14  
看了robbin的发言,心里有点感慨,想想我们这些中手当初发贴时“胆战心惊,思索再三”的心情。不过有点担心robbin的发言会不会造成一些误会呢? 毕竟这里的氛围主要还得靠一帮牛人支撑着。
如果robbin开头加上一端自我批判地话效果更加好一点,力度也稍微平稳一点。

中手,高手都会争强好胜的,不是嘛! 所以犯的错误也是一样的,都是因为知识或者实践经验的不够而导致。
0 请登录后投票
   发表时间:2004-09-14  
我相信dlee的气度,你多虑了,呵呵
何况robbin对事不对人的

这个问题我想我也存在的
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics