当前位置:编程学习 > JAVA >>

java中的压栈消耗的性能大不大

在jdk1.5的Container中执行组件添加的时候会有一个
ContainerPeer cpeer = (ContainerPeer)peer;
if (cpeer.isRestackSupported()) {
    cpeer.restack();
}
这个操作,而在jdk1.7中好像被去掉了,而执行的结果是在jdk1.5的环境下添加4000多得组件需要300s左右,而在jdk1.7的环境下只需要几十秒,我对比过两个版本的jdk,在添加组件的时候jdk1.7里面去掉了Container和Component中的restack操作。它们性能上的差异是不是就是频繁压栈的原因呢。求高手指教。。。 --------------------编程问答-------------------- 楼主研究的好细啊 没研究过帮顶 --------------------编程问答-------------------- 路过,帮顶。
建议:这个东西不需要研究的那么那么深 --------------------编程问答-------------------- EN,不懂... --------------------编程问答-------------------- 我也没有办法啊,有项目要求在jdk1.5下添加组件的性能提升到jdk1.7的环境一样,正在头痛。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 在jdk1.5的Container的addNotify()方法有这么一段代码
// Update stacking order if native platform allows
ContainerPeer cpeer = (ContainerPeer)peer;
if (cpeer.isRestackSupported()) {
       cpeer.restack();
}

有谁知道这里所谓的本地平台是否允许是在哪里设置的啊?
求高手指教。。。。 --------------------编程问答-------------------- 谢谢大家的捧场 --------------------编程问答-------------------- 什么样的UI要添加4000多个组件啊...
想象不出这要怎么显示 --------------------编程问答-------------------- 这个是老外吃饱了没事干,想看看它的性能能不能得到提升,想出来的加大量组件,不过我在jdk1.7中运行的时候,加载同样的组件使用的时间却很少只有几十秒,也就是说应该是可以提升的。 --------------------编程问答--------------------
引用 9 楼 muqingfeng1987 的回复:
这个是老外吃饱了没事干,想看看它的性能能不能得到提升,想出来的加大量组件,不过我在jdk1.7中运行的时候,加载同样的组件使用的时间却很少只有几十秒,也就是说应该是可以提升的。


那为什么不直接用jdk1.7呢?

老外想什么呢?

不过楼主,我支持你。

研究的这么细致。

佩服呢。 --------------------编程问答-------------------- jdk优化的不仅有代码,还有jvm,你无法确定是那一块带来了你那一块的性能提升 --------------------编程问答-------------------- 为这么不直接jdk升到1.7?
问题不解决了?
--------------------编程问答--------------------
引用 10 楼 jiakai0419 的回复:
那为什么不直接用jdk1.7呢?

问过客户,他们不接受升级jdk的方法 --------------------编程问答--------------------
引用 11 楼 ticmy 的回复:
jdk优化的不仅有代码,还有jvm,你无法确定是那一块带来了你那一块的性能提升

这个倒是问题啊,我没办法在它底层代码里面测试,这很恼火,只能大概估计一下是哪里的问题
--------------------编程问答-------------------- 我去修改过jdk的底层代码测试过了,的确有一点点提升,但达不到要求哦,哎,已经放弃去和底层代码较劲了,有一些实现代码看不到,先自己写都成问题哦,有谁知道WPanelPeer这个类里面的源代码怎么看得到不。还有就是我一直郁闷一件事就是jdk1.5环境下添加一千多条组件的时候只要几十秒,当加3500多条组件的时候却要300多s是怎么回事呢?求懂这个的高手指教下,我都卡在这里半个月了。。。
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,