锁定老帖子 主题:PHP会倒掉吗?
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-12-11
最后修改:2009-12-11
这个世界上总有些人,连高中物理都没上过,就宣称推翻了广义相对论。 |
|
返回顶楼 | |
发表时间:2009-12-11
1). 你根本就不知道server版的jvm,总拿client版的jvm特性说事儿,居然还搞出了“Server版的J2EE服务器”这样搞笑的词语,要知道现在几乎所有公开使用J2EE技术的网站,其App server用的jvm都是server版的。
--------------“Server版的JVM”,笑死了。开个-server 参数就被称为“Server版JVM”,第一次听说 |
|
返回顶楼 | |
发表时间:2009-12-11
最后修改:2009-12-11
请楼上的查查 Java HotSpot Server VM 吧,我只是用了比较通俗的话来说这事儿而已。
就像我们开发了两个dll,一个叫client.dll,是客户端,另一个叫server.dll,是通讯服务器,我们封装了一个exe,通过-client参数打开客户端,通过-server参数运行服务器,难道使用后者就不是服务器软件了?这根hotspot的原理是一样的啊。 确实,我觉得这个话题没什么可讨论的。 |
|
返回顶楼 | |
发表时间:2009-12-11
icewubin 写道
server版jvm的特性(4个主要特性),在你列举的第四页上说的很清楚了,你这个“貌似”又是从哪里的出来的结论?
哎,不知道说你什么好了,仔细看原文吧。让我解释给你听可以,拿咨询费来。呵呵。
这两段段说了半天的call stack,说明只和调用的时候才有关,而且更多的是在说安全方面的特性,没有出现你说的只根据单向引用就会把class加载入call stack的内容。 |
|
返回顶楼 | |
发表时间:2009-12-11
icewubin 写道
你没有理解我的意思,问题就处在你说的“太多”,你可以从微观上来讲,单向引用很多,但是不能推论出宏观上来讲,一个jar包中调用一个类,会牵涉到大部分的类,这一定是错误的,循环引用和双向引用在OO设计上本来就是不多见的,你自己可以看看GOF 23中设计模式中有几个是涉及到循环引用和双向引用的。
我再举个例子吧,如果你还是不明白,这个话题也可以打住了: 假设一个最简单的多态程序,7个类A、B、C、D、E、F、G都继承或实现了接口X,当调用A的时候,只会牵涉到A和X两个类,占整个类的数量的1/4,这还仅仅是一个package中的情况。 再做个比喻,撇开小部分的双向引用和循环引用,大部分的类图,更像一颗树形结构,从最下面分支开始调用,单向引用,逐渐向上,充其量不过加载了一个很小分支的类的数量,和整棵对象数比起来,根本就是很小的一部分,而不是你说的“不难想象”和“大多数情况”。 当然我拿不出直接的数字来说明实际的某个项目的jar包中,引用一个类到底会单向引用引出多少类,我也不想在这上和你耗费时间,有兴趣你可以自己写个小工具,或者用某些对象分析工具,把某个包中的对象图分析一下,看看对象树长什么样子。 微观?晕,你真要讲大理论啊。那宏观又是什么呢?服了,哈哈。
你的这个例子很搞笑,如果X再去调用别的类或接口呢?而别的类或接口再去调用另一些类或接口呢?你这例子才是你所谓的“微观”吧。晕。
你随便打开个jar包看看吧,类与类之间关联很多的。大多都是单向引用,但不是单层引用(你举的那个例子就是)。 |
|
返回顶楼 | |
发表时间:2009-12-11
最后修改:2009-12-11
yipsilon 写道
icewubin 写道
你没有理解我的意思,问题就处在你说的“太多”,你可以从微观上来讲,单向引用很多,但是不能推论出宏观上来讲,一个jar包中调用一个类,会牵涉到大部分的类,这一定是错误的,循环引用和双向引用在OO设计上本来就是不多见的,你自己可以看看GOF 23中设计模式中有几个是涉及到循环引用和双向引用的。
我再举个例子吧,如果你还是不明白,这个话题也可以打住了: 假设一个最简单的多态程序,7个类A、B、C、D、E、F、G都继承或实现了接口X,当调用A的时候,只会牵涉到A和X两个类,占整个类的数量的1/4,这还仅仅是一个package中的情况。 再做个比喻,撇开小部分的双向引用和循环引用,大部分的类图,更像一颗树形结构,从最下面分支开始调用,单向引用,逐渐向上,充其量不过加载了一个很小分支的类的数量,和整棵对象数比起来,根本就是很小的一部分,而不是你说的“不难想象”和“大多数情况”。 当然我拿不出直接的数字来说明实际的某个项目的jar包中,引用一个类到底会单向引用引出多少类,我也不想在这上和你耗费时间,有兴趣你可以自己写个小工具,或者用某些对象分析工具,把某个包中的对象图分析一下,看看对象树长什么样子。 微观?晕,你真要讲大理论啊。那宏观又是什么呢?服了,哈哈。
你的这个例子很搞笑,如果X再去调用别的类或接口呢?而别的类或接口再去调用另一些类或接口呢?你这例子才是你所谓的“微观”吧。晕。
你随便打开个jar包看看吧,类与类之间关联很多的。大多都是单向引用,但不是单层引用(你举的那个例子就是)。
类与类之间关联事很多,但是我已经说了,假设一个jar包中100,000个类,你调用某个类的某个方法,引发的单向引用一般都不会超过100个(JDK的类不算),数字肯定不准,但是我认为一般不会超过百分之一甚至千分之一,原理我已经说的够清楚了。
再举最后一个例子,一个常见的功能网站,分为10个大模块,假设三层结构,MVC设计,基础类算20个左右吧,一个模块估算是10个dao吧,总共100个dao,一个模块也估算是10个service吧,总共100个service,action或web类估算是一个模块5个吧,总共50个类,全部加起来大概270个类,如果一个模块的action触发请求,大概牵涉到一个action,3-5个service,4-6个dao,20个基础类都算上吧,也就30个类而已。
我举了个最简单的多个类的一个对象图的树形分支的例子,被你解读成单层,唉,不说什么了,也不想再解释了,就此打住吧。 |
|
返回顶楼 | |
发表时间:2009-12-11
最后修改:2009-12-11
yipsilon 写道
icewubin 写道
server版jvm的特性(4个主要特性),在你列举的第四页上说的很清楚了,你这个“貌似”又是从哪里的出来的结论?
哎,不知道说你什么好了,仔细看原文吧。让我解释给你听可以,拿咨询费来。呵呵。这两段段说了半天的call stack,说明只和调用的时候才有关,而且更多的是在说安全方面的特性,没有出现你说的只根据单向引用就会把class加载入call stack的内容。
|
|
返回顶楼 | |
发表时间:2009-12-11
yipsilon 写道 请楼上的查查 Java HotSpot Server VM 吧,我只是用了比较通俗的话来说这事儿而已。
就像我们开发了两个dll,一个叫client.dll,是客户端,另一个叫server.dll,是通讯服务器,我们封装了一个exe,通过-client参数打开客户端,通过-server参数运行服务器,难道使用后者就不是服务器软件了?这根hotspot的原理是一样的啊。 确实,我觉得这个话题没什么可讨论的。 这个属于基本常识 |
|
返回顶楼 | |