汇编快失业了!Java对RAM最低只需256字节,是256 B, 不是256 KB,更不是256 MB!
Java对RAM的需求最低为:
256字节!
注意,是256 B,不是256KB,更不是256MB。
JavaCard最低系统要求为16 kbps只读存储器(ROM)、8 kbps EEPROM和256字节随机存取存储器(RAM)。
http://www.easylib.org/programme/java/j2se/1909.html
http://www.91691.com/Article/ShowArticle.asp?ArticleID=3816
不比汇编要求低太多吧,尽管汇编可能要求更低点,不过,只要RAM大于等于256 B的地方就可以考虑用java了。
才有个家伙非要用汇编和java比谁的硬件需求低(http://community.csdn.net/Expert/TopicView3.asp?id=5265625),所以我就找了一下,呵呵,汇编的处境是不是很危险呢?
问题点数:20、回复次数:134Top
1 楼YouTuBe(天不言自高,地不言自厚,人不言自无能,水不言自下流)回复于 2006-12-31 00:43:02 得分 0
upTop
2 楼k7sem(【Conch fish】I love qing qing.)回复于 2006-12-31 00:52:28 得分 0
upTop
3 楼GMDR0C()回复于 2006-12-31 01:01:16 得分 0
别忘了,Java最初被造出来就是针对嵌入系统的,那是它的老本行Top
4 楼hai1039(天下)回复于 2006-12-31 08:37:58 得分 0
这个是java放在ROM里跑的东西,RAM只用来保存stack和某些局部变量。
Top
5 楼guomaomao1981(毛毛:今日秋寒朋友知冷暖,无意间轻描淡写小悠闲)回复于 2006-12-31 08:43:22 得分 0
upTop
6 楼sjjf(水晶剑锋)回复于 2006-12-31 10:14:58 得分 0
同意hai1039
看帖子要看仔细点:
==========ref start
Card虚拟机和应用编程接口(API)的详细信息。 最低系统要求为16 kbps只读存储器(ROM)、8
kbps EEPROM和256字节随机存取存储器(RAM)。
==========ref end
为什么前面两个都是用 kps而最后两个都用256字节呢?
而且里面还写了
==============ref start
对象是在永久存储器(如EEPROM )中创建的。如果不被其它永久对象所引用,对象就可能丢失或被当做垃圾收集。但向EEPROM写入的速度要比向RAM写入的速度慢1000倍。
某些对象经常被使用,其字段的内容就不必是永久的。Java Card支持RAM中的瞬态(暂时)对象。如果某个对象被宣布为瞬态
,则其内容就不能 写入永久存储器。
===============ref end
这说明什么 java card vm是用eprom当内存的,至于是多少,你应该找一个厂家的产品来看看,
随便给你google一个,你自己慢慢比较一下吧。
http://www.eastcompeace.com/ShowPro.asp?id=115
ram只是如hai1039所说用来存储 APDU数据的,或者某些 瞬态(暂时)对象,学过c/cpp的内存布局你就会知道一个对象是怎么回事,如何才能够最节省空间,java在这点上是不能比的,
如果采用c/cpp的话基本比java更节省空间。但256Byte是标准规定的。
还有rom之类的东西也应该很大。
http://cn.renesas.com/fmwk.jsp?cnt=press_release20060313.htm&fp=/company_info/news_and_events/press_releases
以后要用脑子思考一下,什么是对的什么是错的,
如果内存是256Byte的话,汇编是首选,如果汇编做不了,就没有其他的语言能够胜任了。Top
7 楼sjjf(水晶剑锋)回复于 2006-12-31 10:19:48 得分 0
虽然java最初是用在做电子设备的,
但是并不标榜速度和容量的需求低,而是相反。
唯一标榜的是跨硬件平台,安全性。反正对于智能家电来说,低效是个无关重要的因素。
谁会苛求一个洗衣机或者冰箱会有p4的计算能力呢?
Top
8 楼sjjf(水晶剑锋)回复于 2006-12-31 10:20:02 得分 0
虽然java最初是用在做电子设备的,
但是并不标榜速度和容量的需求低,而是相反。
唯一标榜的是跨硬件平台,安全性。反正对于智能家电来说,低效是个无关重要的因素。
谁会苛求一个洗衣机或者冰箱会有p4的计算能力呢?
Top
9 楼GMDR0C()回复于 2006-12-31 10:42:32 得分 0
回复人:sjjf(水晶剑锋) ( 四级(中级)) 信誉:100
===================================================
这是来自IBM的文章,如果你认为有错,你可以去找IBM理论,如果你能指出他们的错,没准他们能给你个“特殊贡献奖”之类的呢,呵呵
JAVA 卡有點像一部功能齊全,但規模較小的電腦,其硬體主要是為了保證 JAVA 卡的運行環境的需要,其最小的硬體配置要求為:
* 512 bytes RAM:主要用於存放程式執行時的堆疊、暫存資料以及做為I/O的緩衝區。
* 24 KB ROM:主要用於存放作業系統以及運行環境(Runtime Environment),如 JAVA 虛擬機器、Applet 等。
* 8 KB EEPROM:用於儲存我們開發並裝載至 JAVA 卡上的Applet。
* 8-bit processor: JAVA 卡需要至少8位元的處理器支援。
http://www-128.ibm.com/developerworks/tw/library/wi-jcard/index2.htmlTop
10 楼GMDR0C()回复于 2006-12-31 10:51:18 得分 0
如果你非要比较“成本”那我们就来比一下:
“JAVA 虛擬機器-它提供一整套標準的 JAVA 卡編譯的 API,使得開發人員無需瞭解複雜的智慧卡硬體和智慧卡專用的技術,就可以進行智慧卡應用的開發,從而大大減少開發時間和降低開發難度。據粗略的統計,用 JAVA 來編譯可以比用 C 語言來編譯節約 60% 的開發時間,如與智慧卡特殊的組合語言來比,這種優勢將更為明顯。同時由於 JAVA 虛擬機器的使用,JAVA 卡的 Applet 能夠在不同卡片的 JCAE(JAVA Card Application Environment)上執行,即透過 JAVA 虛擬機器的機制來達到跨平臺的能力。”
也就是说,原来要开发一年的程序,现在只要开发4个多月。你可知节省焉的个多月对于一家公司来说能节省多少成本吗?不仅是节省了程序员的成本,还大大节省公司的运营成本,提前上市使公司把握市场机会,多赚很多钱,并且,开发出来的程序bug更少,后期维护成本更低,由于良好的质量带来的口牌能给公司带来的“隐形利润”也是极其可观的Top
11 楼GMDR0C()回复于 2006-12-31 10:54:31 得分 0
回复人:sjjf(水晶剑锋) ( 四级(中级)) 信誉:100
===================================================
这是来自IBM的文章,如果你认为有错,你可以去找IBM理论,如果你能指出他们的错,没准他们能给你个“特殊贡献奖”之类的呢,呵呵
JAVA 卡有點像一部功能齊全,但規模較小的電腦,其硬體主要是為了保證 JAVA 卡的運行環境的需要,其最小的硬體配置要求為:
* 512 bytes RAM:主要用於存放程式執行時的堆疊、暫存資料以及做為I/O的緩衝區。
* 24 KB ROM:主要用於存放作業系統以及運行環境(Runtime Environment),如 JAVA 虛擬機器、Applet 等。
* 8 KB EEPROM:用於儲存我們開發並裝載至 JAVA 卡上的Applet。
* 8-bit processor: JAVA 卡需要至少8位元的處理器支援。
http://www-128.ibm.com/developerworks/tw/library/wi-jcard/index2.html
====================================================================
看到了吧,“8 KB EEPROM:用於儲存我們開發並裝載至 JAVA 卡上的Applet”,EEPROM是用来当“硬盘”使用的,不是用来当内存的。
另外“512 bytes RAM:主要用於存放程式執行時的堆疊、暫存資料以及做為I/O的緩衝區。”
你不懂装懂的能力还真强,呵呵Top
12 楼AK47CN()回复于 2006-12-31 10:56:15 得分 0
哈哈,你们真是无聊啊。Top
13 楼royeleo(煨灶猫||(只要一颗★))回复于 2006-12-31 11:53:55 得分 0
难道又要形成语言之争???
拜托都快2007年了,别那么无聊了Top
14 楼GMDR0C()回复于 2006-12-31 11:57:06 得分 0
回复人:GMDR0C() ( 一级(初级)) 信誉:100 2006-12-31 10:51:18 得分:0
?
如果你非要比较“成本”那我们就来比一下:
“JAVA 虛擬機器-它提供一整套標準的 JAVA 卡編譯的 API,使得開發人員無需瞭解複雜的智慧卡硬體和智慧卡專用的技術,就可以進行智慧卡應用的開發,從而大大減少開發時間和降低開發難度。據粗略的統計,用 JAVA 來編譯可以比用 C 語言來編譯節約 60% 的開發時間,如與智慧卡特殊的組合語言來比,這種優勢將更為明顯。同時由於 JAVA 虛擬機器的使用,JAVA 卡的 Applet 能夠在不同卡片的 JCAE(JAVA Card Application Environment)上執行,即透過 JAVA 虛擬機器的機制來達到跨平臺的能力。”
比
也就是说,原来要开发一年的程序,现在只要开发4个多月。你可知节省焉的个多月对于一家公司来说能节省多少成本吗?不仅是节省了程序员的成本,还大大节省公司的运营成本,提前上市使公司把握市场机会,多赚很多钱,并且,开发出来的程序bug更少,后期维护成本更低,由于良好的质量带来的口牌能给公司带来的“隐形利润”也是极其可观的
===================================================================
这还是只是和C语言比节省的成本,和汇编比节省的成本更高。
说点相关的东西
在Server上Java对内存的需求比C++大,但一个一G的内存的价格是多少?一个程序员一天的工资是多少?如果使用Java后节省的工资比增加的内存的费用高,那么用Java就比用C++划算。事实上,不仅JAVA更划算,而且划算的多Top
15 楼cime63(流浪的孩子)回复于 2006-12-31 12:04:03 得分 0
最近楼主一直在鼓吹JAVA吧
不过很可惜,JAVA,C#都死光了汇编,C/C++也不会死的
************************************************
闲时似猪,忙时如狗Top
16 楼hai1039(天下)回复于 2006-12-31 12:14:19 得分 0
1)从什么时候起存储用 kbps做单位了,而不是kb??
2)楼主讲一下EEPROM和RAM的写时间差别是多少?前者的写寿命是多少周期?
3)如果此卡用EEPROM来取代RAM的一些功能,那么用EEPROM来全面取代一个PC里的RAM,是不是就可以说该电脑使用0字节RAM所以系统资源占用就最小?
Top
17 楼Momoass(小泉涌出琼珠液,巨树顶向艳阳天)回复于 2006-12-31 13:15:45 得分 0
拿个多了块虚拟机卡的环境来比,要是我也把汇编写的东西搞成卡一个都不用。Top
18 楼sjjf(水晶剑锋)回复于 2006-12-31 13:46:01 得分 0
>>你不懂装懂的能力还真强,呵呵
====================
彼此彼此,但比起您来还差很多。
我从你的资料中引用的信息
我觉得它说的还有道理,就采纳了,而不是人云亦云。
==============ref start
对象是在永久存储器(如EEPROM )中创建的。如果不被其它永久对象所引用,对象就可能丢失或被当做垃圾收集。但向EEPROM写入的速度要比向RAM写入的速度慢1000倍。
某些对象经常被使用,其字段的内容就不必是永久的。Java Card支持RAM中的瞬态(暂时)对象。如果某个对象被宣布为瞬态
,则其内容就不能 写入永久存储器。
===============ref end
你知道什么是 瞬态(暂时)对象么?
你知道局部对象变量是 瞬态对象么?
你知道局部变量是怎么分配空间的么?在哪儿分配空间?又是怎么释放空间的么?
需要些什么什么来额外管理这些空间?
然后再告诉我在256个字节里面怎么倒腾这些东西?
怎么解释这段话?
==============ref start
即使电源断开(即卡从读卡器上取下),存储在卡上的多数信息也必须保存下来。Java Card虚拟机可在EEPROM上创建能保存永久信息的对象。Java Card虚拟机的执行寿命就是卡的寿命。在没有电源的情况下,虚拟机按照无限的时钟周期工作。
==============ref end
我并不觉得ibm的文章有什么错,只是在陈述一种事实,
但是被某些人加入某些目的得到某些结论:
比如汇编快失业了,
甚至都快得出java比asm要求的硬件配置低的等一点基本常识都没有的结论了,
很让人受不了。
如果是一个不懂计算机的人提出来的,偶还可以理解,毕竟外行人对
计算机原理之类的东西不理解,人云亦云,就像花边新闻一样,反正也没有什么责任,
也没有谁会去当一回事。一个程序员也说这样的话还振振有词,真是让人笑掉大牙。
别扯开发成本,和本论题无关。
还有
=====================ref start
* 512 bytes RAM:主要用於存放程式執行時的堆疊、暫存資料以及做為I/O的緩衝區。
* 24 KB ROM:主要用於存放作業系統以及運行環境(Runtime Environment),如 JAVA 虛擬機器、Applet 等。
* 8 KB EEPROM:用於儲存我們開發並裝載至 JAVA 卡上的Applet。
* 8-bit processor: JAVA 卡需要至少8位元的處理器支援。
=====================ref end
24k rom能装下java vm applet等,并没有证据表明这些java vm,applet的代码是用java写的,
说不定是用你认为快失业的asm写的,或者干脆就是固件。
不知道你看过jdk的源代码没有?里面有一个关键字叫native,出现的频率很高,
不知道为什么不用比c/cpp,asm高效的java来写?
定个接口,让别人是实现底层自己玩底层之上的,
在jvm,jvcm中玩这种方式也没有什么不可以,甚至是高明的.
而且sun人家也没有鼓吹自己的运行高效,要求的配置低,要比只和自己比。
Top
19 楼Leap_ahead(我假装为老板工作,老板假装付给我薪水.)回复于 2006-12-31 14:06:13 得分 0
疯子.楼主是疯子.Top
20 楼Jimmyzz(有没有发现:你大脑里的东西,其实不是你自己的思想。)回复于 2006-12-31 14:15:42 得分 0
毫无疑问:
java 在对硬件需求是永远高于汇编的。
java 在执行速度上是永远低于汇编的。
这两个观点,不需要任何解释。
需要让人解释这2个观点的人,就算是搞IT的,也只能算三流角色。Top
21 楼por_una()回复于 2006-12-31 14:25:36 得分 0
Java在开发和维护速度上是远远高于汇编的..Top
22 楼yafizyh(亚斐)回复于 2006-12-31 14:32:17 得分 0
真是无聊的家伙,整天找这些东西有什么用?你会做此种类型的开发么?
语言再好,自己不会用也是白搭。Top
23 楼GMDR0C()回复于 2006-12-31 14:39:36 得分 0
回复人:sjjf(水晶剑锋) ( 四级(中级)) 信誉:100
================================================
成本和就是本文的主题,开发成本当然就是成本的一部分,当然和本文有关。
而且,你说JVM的底层是用汇编或C写的,这个前面已经讨论过无数次的问题你怎么还是听不懂呢?
是你不认认真听讲还是你智商有问题呢?
再解释一下:
某些Qpper们认为:根本就不存在Java,只存在C++,Java只是一个C++的程序。
但他们却在有意回避一个事实:
用C++编译器编译出来的本地代码才是C++程序
用Fortran编译器编译出来的本地代码才是Fortran程序
用Delphi编译器编译出来的本地代码才是Delphi程序
用C#编译器编译出来的本地代码才是C#程序
用VB.net编译器编译出来的本地代码才是VB.net程序
用Java编译器编译出来的本地代码才是Java程序
如果照某些Qpper的观点,那么世界上只有机器语言一种语言,因为其它语言归根结底都是机器语言程序,岂不荒唐?
而Java的本地代码是用Java的JIT和HotSpot编译器在程序运行时编译出来的,根本不是C++编译器编译出来的,所以java程序根本不是一个C++程序!
JIT和HotSpot编译器可以根据程序运行的CPU进行指令集进行优化,C++编译器可以吗?
JIT和HotSpot编译器可以根据程序运行时的profile对本地代码进行inline等优化,C++编译器可以吗?
JIT和HotSpot编译器可以根据程序运行时根据程序运行的情况进行更准确的分支预测,C++编译器可以吗?
大家可以去jre1.5.0的安装路径中去看看:
其中的jar文件共有50.5M,由于jar文件是压缩文件,并且bytecode的代码要比native code精简的多(前面已经说过了:一个构造方法在bytecode中只要一个指令,构造方法在C++的编译器却要11个指令。Java 一個 method call 只要一個machine code,但用 x86 相對需要 4 個),所以这50.5M的java程序完成的工作大约相当于200M以上的本地代码完成的工作。
而其中的.exe和.dll共有7.7M,本地代码在java运行环境中占的比例连5%都不到。
而这仅有的5%的“C++编译器产生的本地代码”(比如AWT.dll)在java程序运行时还要被JIT和HotSpot编译器重新编译成新的指令序列 (例如:符合SSE2的指令集的指令),并根据运行时的profile 来内联到其它java编译器编译出来的native code中成为全新的NativeCode序列
所以C++编译器编译出来java本地库的机器代码序列在java运行的时候根本看不到,这些机器代码也被Java的JIT和HotSpot编译器重新编译并更改执行序列,这些“C++编译器编译出来的机器代码”已经变成了“Java编译器编译出来的机器代码”。最终,在CPU中执行的所有机器语言序列全部是由Java编译器产生的,与C++编译器没有一点关系
C++的速度是由C++编译器在程序员开发时编译出来的机器语言的优化程度决定的。
Java的速度是由Java的JIT和HotSpot编译器将java bytecode在运行时“即时”编译成针对本地CPU的优化的本地代码决定的。
比速度的实际就是在比:看C++编译器和java编译器谁能产生更优化的机器代码。
很明显,C++的编译器不如java的JIT和HotSpot编译器,因为JIT和HotSpot编译器能针对CPU指令集进行人优化、能在运行时根据使用频率对method进行内联和优化。而C++的静态编译器永远也做不到这些
两者有着本质的不同,但是有些Qpper用一辈子也无法理解这其中的差别,
他们只能抱着一个可怜的、没有任何根据“C++比Java快”终其一生
Qpper们,上台继续表演“阿Q精神胜利法”吧!
回复人:Jimmyzz(有没有发现:你大脑里的东西,其实不是你自己的思想。) ( 一级(初级)) 信誉:100 2006-12-31 14:15:42 得分:0
?
毫无疑问:
java 在对硬件需求是永远高于汇编的。
java 在执行速度上是永远低于汇编的。
这两个观点,不需要任何解释。
需要让人解释这2个观点的人,就算是搞IT的,也只能算三流角色。
==========================================================
“java 在对硬件需求是永远高于汇编的。”我从来都承认java对硬件的需求“高于汇编”,但这里讨论的不是“是否高于”的问题,而是“高多少”的问题。如果使用JAVA的综合成本(硬件成本+开发成本+维护成本+延迟推向市场造成的成本+Bug带来的损失+低质量造成的销售降低的损失......)低于汇编的成本,那么JAVA的成本就低于汇编。
“java 在执行速度上是永远低于汇编的”如果拿不出证据,你就是在吹牛啊,呵呵。至于什么样的人是“三流角色”,你的定义完全没有任何依据。我认为拿不出“手写汇编编译出的二进制代码比Java编译器编译出来的二进制代码更快”的证据却一口咬腚这个想法的人才是“三流角色”
Top
24 楼GMDR0C()回复于 2006-12-31 14:45:08 得分 0
回复人:hai1039(天下) ( 一级(初级)) 信誉:100 2006-12-31 12:14:20 得分:0
?
1)从什么时候起存储用 kbps做单位了,而不是kb??
2)楼主讲一下EEPROM和RAM的写时间差别是多少?前者的写寿命是多少周期?
3)如果此卡用EEPROM来取代RAM的一些功能,那么用EEPROM来全面取代一个PC里的RAM,是不是就可以说该电脑使用0字节RAM所以系统资源占用就最小?
=======================================================
这是来自IBM的文章,如果你认为有错,你可以去找IBM理论,如果你能指出他们的错,没准他们能给你个“特殊贡献奖”之类的呢,呵呵
JAVA 卡有點像一部功能齊全,但規模較小的電腦,其硬體主要是為了保證 JAVA 卡的運行環境的需要,其最小的硬體配置要求為:
* 512 bytes RAM:主要用於存放程式執行時的堆疊、暫存資料以及做為I/O的緩衝區。
* 24 KB ROM:主要用於存放作業系統以及運行環境(Runtime Environment),如 JAVA 虛擬機器、Applet 等。
* 8 KB EEPROM:用於儲存我們開發並裝載至 JAVA 卡上的Applet。
* 8-bit processor: JAVA 卡需要至少8位元的處理器支援。
http://www-128.ibm.com/developerworks/tw/library/wi-jcard/index2.htmlTop
25 楼GMDR0C()回复于 2006-12-31 14:50:46 得分 0
认为Java不能写驱动程序的人来看看这个:
JAVA RTS的新特性
......
让我们来看一下JAVA RTS平台中增加了哪些新特性。
◆直接内存存取
JAVA RTS允许对物理内存的直接存取,这与J2ME很像。不要惊奇,JAVA实时系统主要针对的平台就是嵌入式系统。这就意味着现在你可以创建用纯JAVA写的设备驱动了。尽管内存存取并不是一个实时系统的直接要求,许多应用程序还是需要对物理内存做存取。JAVA RST定义了一个新的类,这个类允许程序员对物理内存做字节级别的存取,同时这个类还允许在物理内存中创建对象。有人可能会认为JAVA支持物理内存存取就是放弃了原有的主要的原则-可靠性和安全性,并向C语言又靠近了一步。但这并不是问题的所在,JAVA通过控制内存边界和数据内容来实现了一个强大的安全保护措施。
◆异步交流
JAVA RTS提供了两种异步交流的形式:异步事件处理和异步传输控制。异步事件处理意味这开发者可以计划对来自JVM外部的事件的反应。异步传输控制为一个线程提供了安全的中断另一个线程的方法。
◆High-resolution timing
有很多详细描述High-resolution timing的方法,包括绝对时间和相对时间。时间的调度和度量能够具有一个纳秒级准确度。
◆内存管理
有两种新的内存区域可以帮助防止由于在实时应用程序中传统的垃圾回收导致的无法预期的延迟。
Immortal memory和scoped memory。Immortal memory保存对象而不摧毁他们,直到程序结束。这就意味着在Immortal memory中创建的对象必须像C程序那样仔细的分配和管理。scoped memory仅仅被用于当一个进程在一个特定的范围里工作的情形。当这个进程离开这个范围的时候,对象将自动被摧毁。Immortal memory和scoped memory都不会被垃圾收集的,因此可以通过使用它们来避免垃圾收集的影响。JAVA RTS也为使用内存区域的线程提供了内存分配预算的功能的有限支持。当线程被创建的时候,每个实时线程的最大内存区域消费和最大的分配率可以是指定的。
......
http://developer.51cto.com/art/200612/35742.htmTop
26 楼rogerdick()回复于 2006-12-31 15:13:41 得分 0
虽然我喜欢JAVA,但是我承认汇编不会失业`````````````Top
27 楼CrazyGou()回复于 2006-12-31 15:20:34 得分 0
Java在开发和维护速度上是远远高于汇编的..Top
28 楼ismezy2002(WOW)回复于 2006-12-31 15:25:01 得分 0
芙蓉姐姐说,我最美,你能给我一个我比别人丑的证据么?Top
29 楼weiym(磨刀霍霍向猪羊)回复于 2006-12-31 15:35:43 得分 0
SBTop
30 楼Lvy_54()回复于 2006-12-31 15:36:54 得分 0
汇编不会失业的!Top
31 楼GMDR0C()回复于 2006-12-31 15:38:58 得分 0
回复人:ismezy2002(WOW) ( 一级(初级)) 信誉:100 2006-12-31 15:25:00 得分:0
?
芙蓉姐姐说,我最美,你能给我一个我比别人丑的证据么?
===============================================
“美”和“丑”是个人感觉,不需要理由。一个全非洲都公认的“美女”拿到中国来也会被大多数中国人认为是丑的。审美观点不同嘛。
但“快”和“慢”,成本“高”和“低”不是个人感觉,是数字,是有公认的评判标准的:花的钱的总数少就是“成本低”,做同样的事情花的时间少就是“快”。所以,只有数字才能说明谁快谁慢,谁成本高谁成本低Top
32 楼GMDR0C()回复于 2006-12-31 15:40:43 得分 0
回复人:ismezy2002(WOW) ( 一级(初级)) 信誉:100 2006-12-31 15:25:00 得分:0
?
芙蓉姐姐说,我最美,你能给我一个我比别人丑的证据么?
===============================================
“美”和“丑”是个人感觉,不需要理由。一个全非洲都公认的“美女”拿到中国来也会被大多数中国人认为是丑的。审美观点不同嘛。
但“快”和“慢”,成本“高”和“低”不是个人感觉,是数字,是有公认的评判标准的:花的钱的总数少就是“成本低”,做同样的事情花的时间少就是“快”。所以,只有数字才能说明谁快谁慢,谁成本高谁成本低
======================================
你知道WWW.51JOB.COM上有多少公司招聘汇编程序员吗?少的可怜Top
33 楼GMDR0C()回复于 2006-12-31 15:41:02 得分 0
回复人:Lvy_54() ( 一级(初级)) 信誉:100 2006-12-31 15:36:54 得分:0
?
汇编不会失业的!
===================================
你知道WWW.51JOB.COM上有多少公司招聘汇编程序员吗?少的可怜Top
34 楼x_w_j()回复于 2006-12-31 15:47:19 得分 0
GMDR0C() ( ) 信誉:100 Blog 2006-12-31 15:41:02 得分: 0
回复人:Lvy_54() ( 一级(初级)) 信誉:100 2006-12-31 15:36:54 得分:0
?
汇编不会失业的!
===================================
你知道WWW.51JOB.COM上有多少公司招聘汇编程序员吗?少的可怜
-------------------------------------------------------------
楼主,你他妈屎吃多了啊,你发什么谬论啊,国家领导人那么少,是不是都要失业啊。Top
35 楼ismezy2002(WOW)回复于 2006-12-31 15:48:31 得分 0
所以楼主你注定站在了少数人那一边,大多数人的脑子在你眼中是弱智的。反则矣然Top
36 楼x_w_j()回复于 2006-12-31 15:49:55 得分 0
GMDR0C() ( ) 信誉:100 Blog 2006-12-31 15:41:02 得分: 0
回复人:Lvy_54() ( 一级(初级)) 信誉:100 2006-12-31 15:36:54 得分:0
?
汇编不会失业的!
===================================
你知道WWW.51JOB.COM上有多少公司招聘汇编程序员吗?少的可怜
-----------------------------
招的少能代表什么,你一天到晚口口声声说cpper,asmer,你是不是javaer啊,
我问你一下,jvm是什么语言写的,你如果不回来不出来,你就不要在此鬼扯了。Top
37 楼x_w_j()回复于 2006-12-31 15:50:43 得分 0
请问楼主,jvm是用什么语言实现的,请回答。Top
38 楼jackson416(鬼鬼 | 问世间小裤衩是何物,为何.....)回复于 2006-12-31 16:02:40 得分 0
做人还是现实点好.....
现在C,C++都有好多人转.net,JAVA了...
还在这里叫汇编不会失业...??
在中国有多少是自已的核心技术....要不就是外包就是小公司....
要这样多汇编来干嘛.....??Top
39 楼ismezy2002(WOW)回复于 2006-12-31 16:07:08 得分 0
做汇编一部分人失业=汇编失业,我又明白了Top
40 楼hai1039(天下)回复于 2006-12-31 16:07:25 得分 0
24KB ROM+ 8KB EEPROM + 512B = 32.5KB
这个很一般,俺就说一个事实, 日本82年生产并销售中国上万台的PC-1500计算机是16K ROM + 1852 byte ram, 总共17.7KByte, 也可以跑扩展Basic, 曾经被广泛使用. 而它的LH5801 CPU是8位, 0.7MHz, 可见basic的系统占用之小.
另外lz不要去搬什么权威,俺就问你是否认同以下几点:
1)存储的单位是 kbps,而不是kb.
2)EEPROM和RAM的写速度差不多
3)EEPROM的写寿命近乎无限,不会写几万几十万次就坏
4)EEPROM可以一次只写1个字节,不需要把一片都写掉,因为不需要一片容量的RAM来保存要写的整片数据.
5)用EEPROM来RAM, 所以系统资源占用就大为减小Top
41 楼hai1039(天下)回复于 2006-12-31 16:11:16 得分 0
lz不要去搬什么权威,俺就问你是否认同以下几点:
1)存储的单位是 kbps,而不是kb.
2)EEPROM和RAM的写速度差不多
3)EEPROM的写寿命近乎无限,不会写几万几十万次就坏
4)EEPROM可以一次只写1个字节,不需要把一片芯片都写掉,从而不需要一片同样容量的RAM来保存要写的整片数据.
5)用EEPROM来替换RAM, 所以系统资源占用就大为减小Top
42 楼x_w_j()回复于 2006-12-31 16:14:42 得分 0
请问楼主,jvm是用什么语言实现的,请回答。
Top
43 楼dilisi()回复于 2006-12-31 16:45:31 得分 0
光从java和汇编的代码生成原理上就否认了,java在这方面的能力.Top
44 楼GMDR0C()回复于 2006-12-31 17:00:04 得分 0
回复人:ismezy2002(WOW) ( 一级(初级)) 信誉:100 2006-12-31 16:07:08 得分:0
?
做汇编一部分人失业=汇编失业,我又明白了
==========================================
我说的是汇编“快”失业了。如果你的中文很差的话我可以解释给你:意思就是“汇编接近失业”了
回复人:x_w_j() ( 一级(初级)) 信誉:100 2006-12-31 15:49:55 得分:0
?
GMDR0C() ( ) 信誉:100 Blog 2006-12-31 15:41:02 得分: 0
回复人:Lvy_54() ( 一级(初级)) 信誉:100 2006-12-31 15:36:54 得分:0
?
汇编不会失业的!
===================================
你知道WWW.51JOB.COM上有多少公司招聘汇编程序员吗?少的可怜
-----------------------------
招的少能代表什么,你一天到晚口口声声说cpper,asmer,你是不是javaer啊,
我问你一下,jvm是什么语言写的,你如果不回来不出来,你就不要在此鬼扯了。
回复人:dilisi() ( 一级(初级)) 信誉:100 2006-12-31 16:45:31 得分:0
?
光从java和汇编的代码生成原理上就否认了,java在这方面的能力.
回复人:x_w_j() ( 一级(初级)) 信誉:100 2006-12-31 16:14:42 得分:0
?
请问楼主,jvm是用什么语言实现的,请回答。
=======================================
=======================================
某些Qpper们认为:根本就不存在Java,只存在C++,Java只是一个C++的程序。
但他们却在有意回避一个事实:
用C++编译器编译出来的本地代码才是C++程序
用Fortran编译器编译出来的本地代码才是Fortran程序
用Delphi编译器编译出来的本地代码才是Delphi程序
用C#编译器编译出来的本地代码才是C#程序
用VB.net编译器编译出来的本地代码才是VB.net程序
用Java编译器编译出来的本地代码才是Java程序
如果照某些Qpper的观点,那么世界上只有机器语言一种语言,因为其它语言归根结底都是机器语言程序,岂不荒唐?
而Java的本地代码是用Java的JIT和HotSpot编译器在程序运行时编译出来的,根本不是C++编译器编译出来的,所以java程序根本不是一个C++程序!
JIT和HotSpot编译器可以根据程序运行的CPU进行指令集进行优化,C++编译器可以吗?
JIT和HotSpot编译器可以根据程序运行时的profile对本地代码进行inline等优化,C++编译器可以吗?
JIT和HotSpot编译器可以根据程序运行时根据程序运行的情况进行更准确的分支预测,C++编译器可以吗?
大家可以去jre1.5.0的安装路径中去看看:
其中的jar文件共有50.5M,由于jar文件是压缩文件,并且bytecode的代码要比native code精简的多(前面已经说过了:一个构造方法在bytecode中只要一个指令,构造方法在C++的编译器却要11个指令。Java 一個 method call 只要一個machine code,但用 x86 相對需要 4 個),所以这50.5M的java程序完成的工作大约相当于200M以上的本地代码完成的工作。
而其中的.exe和.dll共有7.7M,本地代码在java运行环境中占的比例连5%都不到。
而这仅有的5%的“C++编译器产生的本地代码”(比如AWT.dll)在java程序运行时还要被JIT和HotSpot编译器重新编译成新的指令序列 (例如:符合SSE2的指令集的指令),并根据运行时的profile 来内联到其它java编译器编译出来的native code中成为全新的NativeCode序列
所以C++编译器编译出来java本地库的机器代码序列在java运行的时候根本看不到,这些机器代码也被Java的JIT和HotSpot编译器重新编译并更改执行序列,这些“C++编译器编译出来的机器代码”已经变成了“Java编译器编译出来的机器代码”。最终,在CPU中执行的所有机器语言序列全部是由Java编译器产生的,与C++编译器没有一点关系
C++的速度是由C++编译器在程序员开发时编译出来的机器语言的优化程度决定的。
Java的速度是由Java的JIT和HotSpot编译器将java bytecode在运行时“即时”编译成针对本地CPU的优化的本地代码决定的。
比速度的实际就是在比:看C++编译器和java编译器谁能产生更优化的机器代码。
很明显,C++的编译器不如java的JIT和HotSpot编译器,因为JIT和HotSpot编译器能针对CPU指令集进行人优化、能在运行时根据使用频率对method进行内联和优化。而C++的静态编译器永远也做不到这些
两者有着本质的不同,但是有些Qpper用一辈子也无法理解这其中的差别,
他们只能抱着一个可怜的、没有任何根据“C++比Java快”终其一生
Qpper们,上台继续表演“阿Q精神胜利法”吧!
回复人:x_w_j() ( 一级(初级)) 信誉:100 2006-12-31 15:49:55 得分:0
回复人:Lvy_54() ( 一级(初级)) 信誉:100 2006-12-31 15:36:54 得分:0
?
汇编不会失业的!
回复人:ismezy2002(WOW) ( 一级(初级)) 信誉:100 2006-12-31 15:48:31 得分:0
?
所以楼主你注定站在了少数人那一边,大多数人的脑子在你眼中是弱智的。反则矣然
====================================
相信Java更快的人较少,并不能证明java较慢。但招聘汇编程序员的公司减少,就会让汇编程序员失业Top
45 楼x_w_j()回复于 2006-12-31 17:03:50 得分 0
我问你jvm是用什么语言写的,难不成计算机一出来就出现jvm吗?你不要在鬼扯一些垃圾。你可知道jvm是什么语言写的啊,操作系统都是用语言写的,jvm是硬件吗?你个sb。
而Java的本地代码是用Java的JIT和HotSpot编译器在程序运行时编译出来的,根本不是C++编译器编译出来的,所以java程序根本不是一个C++程序!请问JIT和HotSpot编译器是什么语言开发的?sb请回答,不要扯淡。不懂不要装懂。
Top
46 楼yuanjian_530(一念一清净,一笑一尘缘,一念一天堂,一念一地狱。)回复于 2006-12-31 17:07:28 得分 0
曾在CSDN看过这么一句话
不会汇编的程序员不是优秀的程序员,
只懂汇编的程序员不是聪明的程序员。
Top
47 楼ismezy2002(WOW)回复于 2006-12-31 17:12:24 得分 0
人多就是正确的,没有道理可言。除非你让你那边的人变的多起来。Top
48 楼GMDR0C()回复于 2006-12-31 17:23:50 得分 0
回复人:ismezy2002(WOW) ( 一级(初级)) 信誉:100 2006-12-31 17:12:24 得分:0
?
人多就是正确的,没有道理可言。除非你让你那边的人变的多起来。
==========================================
当初几乎所有人都不相信地球圆的。
招聘汇编的公司就是少,招C++的公司就是少。这是事实。不信你就到www.51job.com和www.chinahr.com去查。
Top
49 楼GMDR0C()回复于 2006-12-31 17:25:33 得分 0
回复人:yuanjian_530(一念一清净,一笑一尘缘,一念一天堂,一念一地狱。) ( 二级(初级)) 信誉:100 2006-12-31 17:07:28 得分:0
?
曾在CSDN看过这么一句话
不会汇编的程序员不是优秀的程序员,
只懂汇编的程序员不是聪明的程序员。
=============================
能用开发更快、运行更快的语言却不用的程序员才是愚蠢的程序员Top
50 楼dxtsykc(不是我不明白,这世界变化快)回复于 2006-12-31 17:25:45 得分 0
根据某一点就下断言,往往是错了。
lz对汇编又了解多少?对java又了解多少。
Top
51 楼sagittar(sAGiTTaR)回复于 2006-12-31 17:33:25 得分 0
我是专门来up的。Top
52 楼x_w_j()回复于 2006-12-31 17:34:23 得分 0
建议大家不要和楼主辩论了,和他说简直是对牛弹琴,一个对计算机p都不懂的人和他说有什么意思。
我问你jvm是用什么语言写的,难不成计算机一出来就出现jvm吗?你不要在鬼扯一些垃圾。你可知道jvm是什么语言写的啊,操作系统都是用语言写的,jvm是硬件吗?你个sb。
而Java的本地代码是用Java的JIT和HotSpot编译器在程序运行时编译出来的,根本不是C++编译器编译出来的,所以java程序根本不是一个C++程序!请问JIT和HotSpot编译器是什么语言开发的?sb请回答,不要扯淡。不懂不要装懂。
Top
53 楼lurenfu(具有中国特色的社会主义初级阶段,一百年不变)回复于 2006-12-31 17:42:52 得分 0
x_w_j() ( ) 信誉:100 Blog 2006-12-31 17:03:50 得分: 0
我问你jvm是用什么语言写的,难不成计算机一出来就出现jvm吗?你不要在鬼扯一些垃圾。你可知道jvm是什么语言写的啊,操作系统都是用语言写的,jvm是硬件吗?你个sb。
而Java的本地代码是用Java的JIT和HotSpot编译器在程序运行时编译出来的,根本不是C++编译器编译出来的,所以java程序根本不是一个C++程序!请问JIT和HotSpot编译器是什么语言开发的?sb请回答,不要扯淡。不懂不要装懂。
Top
54 楼lurenfu(具有中国特色的社会主义初级阶段,一百年不变)回复于 2006-12-31 17:47:16 得分 0
楼主确实有点傻B,竟然不知道JVM和JSDK也是用C语言开发出来的
Top
55 楼x_w_j()回复于 2006-12-31 17:59:03 得分 0
用C++编译器编译出来的本地代码才是C++程序
用Fortran编译器编译出来的本地代码才是Fortran程序
用Delphi编译器编译出来的本地代码才是Delphi程序
用C#编译器编译出来的本地代码才是C#程序
用VB.net编译器编译出来的本地代码才是VB.net程序
用Java编译器编译出来的本地代码才是Java程序
------------------------------------------------------
楼主,你个sb,用Java编译器编译出来的本地代码才是Java程序
请问java编译器是什么语言开发的???Top
56 楼x_w_j()回复于 2006-12-31 18:00:51 得分 0
就像楼主,你生下来是人,你是世界一出来就有你个sb吗?没有你爸爸的精液,有你这个sb吗?Top
57 楼beishion()回复于 2006-12-31 18:07:49 得分 0
楼主,好好学习。
不要随便怀疑!Top
58 楼GMDR0C()回复于 2006-12-31 18:55:02 得分 0
回复人:lurenfu(我是你的男佣) ( 四级(中级)) 信誉:95 2006-12-31 17:47:16 得分:0
?
楼主确实有点傻B,竟然不知道JVM和JSDK也是用C语言开发出来的
回复人:lurenfu(我是你的男佣) ( 四级(中级)) 信誉:95 2006-12-31 17:42:52 得分:0
?
x_w_j() ( ) 信誉:100 Blog 2006-12-31 17:03:50 得分: 0
我问你jvm是用什么语言写的,难不成计算机一出来就出现jvm吗?你不要在鬼扯一些垃圾。你可知道jvm是什么语言写的啊,操作系统都是用语言写的,jvm是硬件吗?你个sb。
而Java的本地代码是用Java的JIT和HotSpot编译器在程序运行时编译出来的,根本不是C++编译器编译出来的,所以java程序根本不是一个C++程序!请问JIT和HotSpot编译器是什么语言开发的?sb请回答,不要扯淡。不懂不要装懂。
回复人:x_w_j() ( 一级(初级)) 信誉:100 2006-12-31 17:59:03 得分:0
?
用C++编译器编译出来的本地代码才是C++程序
用Fortran编译器编译出来的本地代码才是Fortran程序
用Delphi编译器编译出来的本地代码才是Delphi程序
用C#编译器编译出来的本地代码才是C#程序
用VB.net编译器编译出来的本地代码才是VB.net程序
用Java编译器编译出来的本地代码才是Java程序
------------------------------------------------------
楼主,你个sb,用Java编译器编译出来的本地代码才是Java程序
请问java编译器是什么语言开发的???
====================================
====================================
====================================
完全可以用Delphi写一个C++编译器,再用这个编译器去编译abc.cpp的源代码,难道编译出来的abc.exe就变成了delphi程序吗?一个二进制代码是用什么语言写成的,是由“它是由什么编译器编译出来”决定的,而不是由“它的编译器是由什么语言写成的”决定的
所以Java程序不是C++程序,因为无论Java的编译器是用VB、perl、C++、还是汇编写成的,只要编译编译的是Abc.java的源代码,这就是个java程序。
举个例子,有4种java编译器。一种是用VB写成的,一种是用C++写成的,一种是用Delphi写成的,一种是用Perl写成的.他们都去编译Abc.java的源代码,最后编译出来的Abc.class完全一样,那么这4个编译出来的Abc.class在同一个虚拟机上运行时的性能完全一样,难道这可以证明VB,C++,Delphi,Perl的性能完全一样吗?
再举个例子,有4种java虚拟机(JVM)。一种是用VB写成的,一种是用C++写成的,一种是用Delphi写成的,一种是用Perl写成的.他们都去运行Abc.class的java文件。实际运行过程是这样的:JVM先把Abc.class编译成Abc.exe(其实只是内存中的二进制指令序列,没有这个文件,为了便于理解,我给出名Abc.exe),然后CPU运行Abc.exe。 由于四种JVM(VbJVM、CppJVM,DelphiJVM、PerlJVM)编译出来的Abc.exe完全一样,所以四种JVM在运行Abc.exe时的性能完全一样,差距只在于:4种JVM将Abc.class编译成Abc.exe所有的“编译所花费的时间”不同。
CppJVM将Abc.class编译成Abc.exe花0.001秒, 然后Abc.exe运行花费300秒,共300.001秒
VbJVM将Abc.class编译成Abc.exe花0.010秒, 然后Abc.exe运行花费300秒,共300.010秒
DelphiJVM将Abc.class编译成Abc.exe花0.002秒, 然后Abc.exe运行花费300秒,共300.002秒
PerlJVM将Abc.class编译成Abc.exe花0.020秒, 然后Abc.exe运行花费300秒,共300.020秒
大家可以看到,虽然VbJVM编译Abc.class的速度只是CppJVM的十分之一,但Abc.class在VbJVM和在CppJVM上运行所花的时间几乎完全一样,难道这样能证明VB和C++性能一样?当然不能!也就是说,Java程序运行所花费的时间,与JVM是用什么写成的几乎没有关系!哪怕这个JVM是用最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最快的语言写的,将Abc.class编译成Abc.exe只用了0.00000000000000000000000000000000000000000000000000000000000000001秒,最终也几乎不会影响Abc.class在这个JVM上运行的时间。
因为VB
你仔细的看清楚:
而Java的本地代码是用Java的JIT和HotSpot编译器在程序运行时编译出来的,根本不是C++编译器编译出来的,所以java程序根本不是一个C++程序!
JIT和HotSpot编译器可以根据程序运行的CPU进行指令集进行优化,C++编译器可以吗?
JIT和HotSpot编译器可以根据程序运行时的profile对本地代码进行inline等优化,C++编译器可以吗?
JIT和HotSpot编译器可以根据程序运行时根据程序运行的情况进行更准确的分支预测,C++编译器可以吗?
大家可以去jre1.5.0的安装路径中去看看:
其中的jar文件共有50.5M,由于jar文件是压缩文件,并且bytecode的代码要比native code精简的多(前面已经说过了:一个构造方法在bytecode中只要一个指令,构造方法在C++的编译器却要11个指令。Java 一個 method call 只要一個machine code,但用 x86 相對需要 4 個),所以这50.5M的java程序完成的工作大约相当于200M以上的本地代码完成的工作。
而其中的.exe和.dll共有7.7M,本地代码在java运行环境中占的比例连5%都不到。
而这仅有的5%的“C++编译器产生的本地代码”(比如AWT.dll)在java程序运行时还要被JIT和HotSpot编译器重新编译成新的指令序列 (例如:符合SSE2的指令集的指令),并根据运行时的profile 来内联到其它java编译器编译出来的native code中成为全新的NativeCode序列
所以C++编译器编译出来java本地库的机器代码序列在java运行的时候根本看不到,这些机器代码也被Java的JIT和HotSpot编译器重新编译并更改执行序列,这些“C++编译器编译出来的机器代码”已经变成了“Java编译器编译出来的机器代码”。最终,在CPU中执行的所有机器语言序列全部是由Java编译器产生的,与C++编译器没有一点关系
C++的速度是由C++编译器在程序员开发时编译出来的机器语言的优化程度决定的。
Java的速度是由Java的JIT和HotSpot编译器将java bytecode在运行时“即时”编译成针对本地CPU的优化的本地代码决定的。
比速度的实际就是在比:看C++编译器和java编译器谁能产生更优化的机器代码。
很明显,C++的编译器不如java的JIT和HotSpot编译器,因为JIT和HotSpot编译器能针对CPU指令集进行人优化、能在运行时根据使用频率对method进行内联和优化。而C++的静态编译器永远也做不到这些
两者有着本质的不同,但是有些Qpper用一辈子也无法理解这其中的差别,
他们只能抱着一个可怜的、没有任何根据“C++比Java快”终其一生
Qpper们,上台继续表演“阿Q精神胜利法”吧!Top
59 楼GMDR0C()回复于 2006-12-31 19:05:59 得分 0
完全可以用Delphi写一个C++编译器,再用这个编译器去编译abc.cpp的源代码,难道编译出来的abc.exe就变成了delphi程序吗?一个二进制代码是用什么语言写成的,是由“它是由什么编译器编译出来”决定的,而不是由“它的编译器是由什么语言写成的”决定的
所以Java程序不是C++程序,因为无论Java的编译器是用VB、perl、C++、还是汇编写成的,只要编译编译的是Abc.java的源代码,这就是个java程序。
举个例子,有4种java编译器。一种是用VB写成的,一种是用C++写成的,一种是用Delphi写成的,一种是用Perl写成的.他们都去编译 Abc.java的源代码:
VB 写的java编译器将Abc.java编译成Abc.class用了0.020秒
C++ 写的java编译器将Abc.java编译成Abc.class用了0.001秒
Delphi写的java编译器将Abc.java编译成Abc.class用了0.002秒
Perl 写的java编译器将Abc.java编译成Abc.class用了0.040秒
最后编译出来的Abc.class完全一样,那么这4个编译出来的Abc.class在同一个虚拟机上运行时的性能完全一样,难道这可以证明VB,C++,Delphi,Perl的性能完全一样吗?
再举个例子,有4种java虚拟机(JVM)。一种是用 VB写成的,一种是用C++写成的,一种是用Delphi写成的,一种是用Perl写成的.他们都去运行Abc.class的java文件。实际运行过程是这样的:JVM先把Abc.class编译成Abc.exe(其实只是内存中的二进制指令序列,没有这个文件,为了便于理解,我给出名 Abc.exe),然后CPU运行Abc.exe。由于四种JVM(VbJVM、CppJVM,DelphiJVM、PerlJVM)编译出来的Abc.exe完全一样,所以四种JVM在运行 Abc.exe时的性能完全一样,差距只在于:4种JVM将Abc.class编译成Abc.exe所有的“编译所花费的时间”不同。
CppJVM 将Abc.class编译成Abc.exe花0.001秒, 然后Abc.exe运行花费300秒,共300.001秒
VbJVM 将Abc.class编译成Abc.exe花0.010秒, 然后Abc.exe运行花费300秒,共300.010秒
DelphiJVM将Abc.class编译成Abc.exe花0.002秒, 然后Abc.exe运行花费300秒,共300.002秒
PerlJVM 将Abc.class编译成Abc.exe花0.020秒, 然后Abc.exe运行花费300秒,共300.020秒
大家可以看到,虽然VbJVM编译Abc.class的速度只是CppJVM的十分之一,但Abc.class在VbJVM和在CppJVM上运行所花的时间几乎完全一样,难道这样能证明VB和C++性能一样?当然不能!也就是说,Java程序运行所花费的时间,与JVM是用什么写成的几乎没有关系!哪怕这个JVM是用最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最最快的语言写的,将Abc.class编译成Abc.exe只用了 0.00000000000000000000000000000000000000000000000000000000000000001秒,最终也几乎不会影响Abc.class在这个JVM上运行的时间。
最终得出结论,Java的速度与JVM是用什么语言写成的几乎没有关系
Top
60 楼x_w_j()回复于 2006-12-31 20:36:15 得分 0
楼主,我们现在讨论的是汇编的失业问题,我们现在就此打住吧。从你的回复大家已经看出来了,现在你说无论哪种语言开发jvm无所谓,但是不同的语言开发jvm,java程序的编译时间是不一样的,而当前语言中c嵌入汇编的运行速度最高,这样开发jvm最合适,不会sun公司的人sb到象你的程度用vb开发吧,自然java不能开发java编译器,sun公司肯定选择c和汇编来开发,理所当然汇编暂时不会失业吧。用最快的语言来开发编译器,java在这个编译器上面编译才能赢的更多的使用者吧。
另外你一直强调java语言速度快,请你说出哪款用java开发的软件运行速度快了,是eclipse还是永中office,让大家见识见识吧。
Top
61 楼nZAI(喃样)回复于 2006-12-31 20:44:32 得分 0
快过年了,喜欢YY的就YY吧 犯不着较真 自有得教训的一天Top
62 楼GMDR0C()回复于 2006-12-31 20:56:25 得分 0
回复人:x_w_j() ( 一级(初级)) 信誉:100 2006-12-31 20:36:15 得分:0
?
楼主,我们现在讨论的是汇编的失业问题,我们现在就此打住吧。从你的回复大家已经看出来了,现在你说无论哪种语言开发jvm无所谓,但是不同的语言开发jvm,java程序的编译时间是不一样的,而当前语言中 c嵌入汇编的运行速度最高,这样开发jvm最合适,不会sun公司的人sb到象你的程度用vb开发吧,自然java不能开发java编译器,sun公司肯定选择c和汇编来开发,理所当然汇编暂时不会失业吧。用最快的语言来开发编译器,java在这个编译器上面编译才能赢的更多的使用者吧。
另外你一直强调java语言速度快,请你说出哪款用java开发的软件运行速度快了,是eclipse还是永中office,让大家见识见识吧。
================================================
首先,告诉你一个常识:要每天刷牙。
其次,底层用C++或汇编来写,并不是因为他们更快,而是因为他们更节省内存、操作硬件更方便,VB是一种解释语言,它的内存占用量也很大,而且VB中直接操作内存等硬件的方法并不多,而且C++已经有许多已经成型的类库,用C++写JVM明显比VB强。如果你“感觉”eclipse或永中慢就认定Java慢,那么大家“感觉”WindowsXP慢是不是大家就应该认定"C++慢"呢?。谁快谁慢,拿数据说话吧。
另外,不要因为某些java程序启动慢就认定java慢。这除了因为上面说的原因外,还因为:
C++启动较快也不全是因为C++本身的原因,许多C++写的软件所需的一些.exe和.dll在操作系统启动时就已经启动了(比如和窗口相关的一些.dll).
.NET程序启动较快就是因为.NET的虚拟机其实在操作系统启动时就已经启动了。
而其它一些大型软件如Microsoft Word启动较快,就是因为操作系统启动时就已经启动了和Word相关的一些服务和功能Top
63 楼ddrmsdos(handong)回复于 2006-12-31 21:21:08 得分 0
从来没有感觉到.net启动快,我的ati那个控制中心就是.net写的,每次启动都像老牛拉破车.Top
64 楼GMDR0C()回复于 2006-12-31 21:29:45 得分 0
回复人:x_w_j() ( 一级(初级)) 信誉:100 2006-12-31 20:36:15 得分:0
?
楼主,我们现在讨论的是汇编的失业问题,我们现在就此打住吧。从你的回复大家已经看出来了,现在你说无论哪种语言开发jvm无所谓,但是不同的语言开发jvm,java程序的编译时间是不一样的,而当前语言中 c嵌入汇编的运行速度最高,这样开发jvm最合适,不会sun公司的人sb到象你的程度用vb开发吧,自然java不能开发java编译器,sun公司肯定选择c和汇编来开发,理所当然汇编暂时不会失业吧。用最快的语言来开发编译器,java在这个编译器上面编译才能赢的更多的使用者吧。
另外你一直强调java语言速度快,请你说出哪款用java开发的软件运行速度快了,是eclipse还是永中office,让大家见识见识吧。
===============================
还有,你说Java不能写JVM是完全错误的。JNode是一个用Java写的开源操作系统,他里面的JVM就是用Java写的。这个操作系统现在有几十兆,其中99%的代码是用java编写,其中只有一个极小的“操作系统引导程序”是用汇编写的,我们暂时称之为booter.exe,大小为几KB。
booter.exe的作用就是将用java写的JVM编译并装入内存,简单的说就是将JVM.class编译成JVM.exe(JVM.exe也是内存中的二进制代码,并不是真实存在的文件,我暂时称之为JVM.exe) , 这个过程花了5秒种。
在这个操作系统中,汇编程序只能执行1秒钟。之后汇编程序就退出内存,也再也不执行了。内存中只剩下用Java写的JVM.exe。
之后所有的操作都有JVM.exe来进行,JVM.exe负责将其它的Abc.class、Def.class等等编译成Abc.exe、Def.exe......操作系统正式启动。
JNode的官方网站上有Java写的JVM的性能和SUN的JVM进行性能比较的结果,JNode中用Java写的JVM竟然能比SUN公司用C++写的JVM还快!见: http://www.jnode.org/node/51
结果如下:
运行评测程序ArithOpt时:
JNode :20ms*
Sun J2SDK :30ms**
Top
65 楼GMDR0C()回复于 2006-12-31 21:31:33 得分 0
回复人:ddrmsdos(handong) ( 一级(初级)) 信誉:100 2006-12-31 21:21:08 得分:0
?
从来没有感觉到.net启动快,我的ati那个控制中心就是.net写的,每次启动都像老牛拉破车.
=====================================
最起码和窗口相关的.dll已经和操作系统一起启动了,否则的话更慢Top
66 楼GMDR0C()回复于 2006-12-31 21:33:14 得分 0
当然对于能直接支持java bytecode的CPU,booter.exe也可以不需要,只要有个Booter.class就可以,这样,整个操作系统就100%都是java写的了Top
67 楼kunder(工作撵跑三个魔鬼:无聊、堕落和贫穷)回复于 2006-12-31 22:00:27 得分 0
又是一个被逼疯了的。。。。Top
68 楼GMDR0C()回复于 2006-12-31 22:01:42 得分 0
回复人:jam123() ( 一级(初级)) 信誉:100 2006-12-31 21:42:53 得分:0
?
不知楼主你谈的是哪一种CPU下的JAVA?如果CPU是针对JAVA Byte code 设计,那其实Byte code相当于汇编代码,在这种情况下讨论哪种语言快毫无意义,如果你说的是普通家用CPU,常规来讲没有优化的JAVA在虚拟机上运行要慢一些,如果特意为了比赛拿去优化,那其实相当于把byte code转换为汇编,最后的本质是相同的,根本没有比较的必要。
在你比较语言快慢的时候,请给一系列特定的条件,在不同的条件下比较,只是扯谈,没有意义。
=======================================
JNode的官方网站上有Java写的JVM的性能和SUN的JVM进行性能比较的结果,JNode中用Java写的JVM竟然能比SUN公司用C++写的JVM还快!见: http://www.jnode.org/node/51
结果如下:
运行评测程序ArithOpt时:
JNode :20ms*
Sun J2SDK :30ms**
上面JNode 中用Java写的JVM与Sun 的用C++写的JVM的比较是在Pentium4 2Ghz with 1GB of memory上比较的
其实,无论是c++,java,vb,delphi还是perl,他们最终在cpu中执行时都是“二进制代码”,没有本质区别,他们的差别就在于:不同的编译器编译出来的“二进制代码”的优化程度不同。用程序员直接写出的汇编由于没有进行深入的优化,很难达到其它用java/c++/delph/vb编译器的优化程度,所以我说:手写汇编的速度达不到c++/java的速度,实质就是说:“手写汇编再编译出来的‘二进制代码’的优化程度没有用c++/java编译器编译出来的‘二进制代码’的优化程度高”
Top
69 楼yuanjian_530(一念一清净,一笑一尘缘,一念一天堂,一念一地狱。)回复于 2006-12-31 22:42:46 得分 0
快过年了,好无聊啊。
借楼主贴子用一下,不介意吧。
占个楼
好
无
聊
Top
70 楼hai1039(天下)回复于 2006-12-31 23:42:54 得分 0
是啊,和一个连存储的单位是kbps还是kb够搞不清楚, 要把"IBM说"来当挡箭牌的人辩论是有点多余.
Top
71 楼GMDR0C()回复于 2006-12-31 23:56:20 得分 0
回复人:hai1039(天下) ( 一级(初级)) 信誉:100 2006-12-31 23:42:54 得分:0
?
是啊,和一个连存储的单位是kbps还是kb够搞不清楚, 要把"IBM说"来当挡箭牌的人辩论是有点多余.
====================================
怎么,不敢辩论汇编了?也不敢辩论java和c++了?只想辩论KB和kbps了?哈哈,你真可怜Top
72 楼hai1039(天下)回复于 2007-01-01 00:01:43 得分 0
连基本常识都没有,只知道不动脑筋地去网上搜索些空洞的宣称贴上来,您觉着有什么辩论的必要?Top
73 楼lygui(梦断天台)回复于 2007-01-01 00:48:08 得分 0
完全没有辩论的必要。楼主花了这么多心力,无非是想证明java多好多好。不过,连基本常识都缺乏的人,还扯谈什么技术?Top
74 楼RunningYang(sv)回复于 2007-01-01 00:53:59 得分 0
靠
看了楼主的帖子,发现我在中国还是很牛逼的
不过,中国的IT业是没有希望了Top
75 楼alaiyeshi(七宝树八宝饭)回复于 2007-01-01 01:14:33 得分 0
扯淡
谁说汇编人员没饭吃了?
现在在招还招不到好的呢Top
76 楼alaiyeshi(七宝树八宝饭)回复于 2007-01-01 01:17:52 得分 0
还有说谁比谁快
一定要说明白,编译环境是不是一样,开没开优化,几级别的
针对特定指令集的开了没有
嵌入这边,偶做的是UClinux,或者是偶自己裁减的系统,浅薄的很
偶不会用java去做的,除非偶要被客户骂Top
77 楼callzjy((草魚))回复于 2007-01-01 06:50:33 得分 0
77Top
78 楼seu_cose(专注于通信技术)回复于 2007-01-01 10:49:01 得分 0
我愿意帮搂主补补 汇编,JVM的常识Top
79 楼qq7338367(深秋小雨:让一切归于简单 快乐在指尖绽放)回复于 2007-01-01 11:31:58 得分 0
道理是越辩越明白.
不过这大过年的..
吵架不好吧?Top
80 楼MTring(不想成为别人的羔羊,请你成为一头狼吧!)回复于 2007-01-01 12:19:37 得分 0
今天果然多分接Top
81 楼gmdroc()回复于 2007-01-01 12:44:29 得分 0
回复人:hai1039(天下) ( 一级(初级)) 信誉:100 2007-01-01 00:01:43 得分:0
?
连基本常识都没有,只知道不动脑筋地去网上搜索些空洞的宣称贴上来,您觉着有什么辩论的必要?
回复人:RunningYang(快乐小羊) ( 一级(初级)) 信誉:100 2007-01-01 00:53:59 得分:0
?
靠
看了楼主的帖子,发现我在中国还是很牛逼的
不过,中国的IT业是没有希望了
回复人:lygui(梦断天台) ( 二级(初级)) 信誉:100 2007-01-01 00:48:07 得分:0
?
完全没有辩论的必要。楼主花了这么多心力,无非是想证明java多好多好。不过,连基本常识都缺乏的人,还扯谈什么技术?
====================================
之前你不辞辛劳的辩论了那么多,怎么在我把你一切论点都驳倒之后突然之间发现没有辩论的必要了?你真是可怜到极点了,哈
你认为你知道kb是什么意思就表示你有资格谈技术了?kbps是文章里的,并不是我写的,我只是转载,那两篇文章也是转载,两个文章都有同样的笔误。有几个人在转载别人的文章时会替别人去纠正错字?我没有改正一是因为我懒得去改,二是因为我认为大家都能理解是什么意思。你们这些家伙再经过无数辩论输了之后突然落水狗抢到最后救命稻草一样拿我转载文章中的一个笔误大做文章,企图掩饰你们的落魄,你们真是可怜啊可悲啊,你们落水狗般的模样真是有趣Top
82 楼gmdroc()回复于 2007-01-01 12:46:32 得分 0
回复人:alaiyeshi(七宝树八宝饭) ( 五级(中级)) 信誉:97 2007-1-1 1:14:34 得分:0
?
扯淡
谁说汇编人员没饭吃了?
现在在招还招不到好的呢
========================
另外刚才在www.ChinaHR.com(中华英才网)上搜索
汇编:共有4个职位
C++:1106个职位
Java:1623个职位
谁还在说汇编不是“快失业”了?Top
83 楼x_w_j()回复于 2007-01-01 13:38:19 得分 0
楼主,你口口声声说java这个猛那个猛,美国的操作系统是不是都是java写的,另外,我在你别的帖子中竟然发现c和java写的八皇后问题,在linux下面运行,c比java快了不少啊,你可以到你的网站上找一些java和c在同一问题上的源代码贴出来看看,让大家运行试试啊,不要老是讲些没用的东西,还有不要贴那些垃圾网址。总要找些代码运行的证据啊,我反正在linux下面试可很多java代码跑不过c的。Top
84 楼x_w_j()回复于 2007-01-01 13:39:18 得分 0
你就贴些代码就可以了啊,不要贴一大堆废话和网址啊。Top
85 楼sunrise(日出江花红胜火)回复于 2007-01-01 14:30:45 得分 0
同意x_w_j() 主张。既然是程序员,让程序说话。不要找别人的结果来,而且是条件不是很明了的结果。Top
86 楼sunrise(日出江花红胜火)回复于 2007-01-01 14:33:34 得分 0
除非不用CPU,不然汇编永远不会死。Top
87 楼guqst(过关斩将)回复于 2007-01-01 14:41:25 得分 0
语言怎么样和我们没什么关系,也许一些人用QBasic都能写出很好的应用,
而且各种东西都有它最为擅长的方面。
再说树挪死,人挪活。你觉得那个方面找工作困难,可以学别的,甚至改行。
写程序又不是隔行隔山的。。。。
Top
88 楼realside(最大的梦想,开启世界的API)回复于 2007-01-01 14:46:32 得分 0
什么时候没有这类贴子出现,JAVA才真正变强了
Top
89 楼gmdroc()回复于 2007-01-01 14:56:20 得分 0
回复人:x_w_j() ( 一级(初级)) 信誉:100 2007-01-01 13:39:18 得分:0
?
你就贴些代码就可以了啊,不要贴一大堆废话和网址啊。
====================================================
你自己难道一点分析能力没有吗?我下面给出的证据中都给出了源代码,你连看都不看就说我没给出代码。有许多文章是用的美国国家标准科学院的标准评测程序,你以为某一个代码说能说明java和c++在浮点、整数、矩阵、数组、IO、异常、三角函数、循环、字符串等等许多方面的性能吗?
想要代码?自己到我给出的证据中找,如果你连找到我给出的证据中的源代码的智商都没有的话,你就不要来讨论java和C++谁快了
我给出的证据中,都是比较了许多项才得出Java比C++快的结论的:浮点、整数、矩阵、数组、IO、异常、三角函数、循环、字符串等等许多方面的比较, java和C++互有胜负,但总体上java获胜项更多,所以才说 java更快,而不是单说java的某个方面。而且,即使是比较某个单项方面,也是用了许多种评测程序来测量,多数评测程序证明java获胜,最终才说 java获胜,而不是说用某个评测程序比较java获胜才说java获胜。
比如:
http://www.idiom.com/~zilla/Computer/javaCbenchmark.html
http://www.shudo.net/jit/perf/
http://www.javaworld.com/javaworld/jw-02-1998/jw-02-jperf_p.html
http://www.kano.net/javabench/data
http://www.tommti-systems.de/go.html?http://www.tommti-systems.de/main-Dateien/reviews/languages/benchmarks.html
http://cpp.student.utwente.nl/benchmark/
就用你测量的结果来说,5项评测中,java获胜2项,C++获胜3项,综合来说,C++胜,但其它方面比如浮点、整数、矩阵、数组、IO、异常、三角函数、循环、字符串等等的评测结果呢?
多家权威机构、几十个证据证明:Java比C++快:
http://www.ukhec.ac.uk/events/javahec/pozo.pdf
作者:美国国家标准科技研究院
java:C=7:5
==============
结论:大多数情况下,java更快
http://www.idiom.com/~zilla/Computer/javaCbenchmark.html
作者:美国南加州大学计算机图形与Immersive技术实验室J.P.Lewis and Ulrich Neumann:
Java领先
=========
结论:大多数测试中java获胜
http://www.shudo.net/jit/perf/
FFT , SOR,Monte Carlo, Sparse matmult,LU 这5个Benchmark的结果:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Java/Sun JDK 1.4.2 Server VM = VS C/VC++ =2:3
VC 获胜
综合比分324:329=98.5% java性能是C++的98.5
在此,C++用SSE2编译。
由于在客户端VC++(windows)不能用SSE2编译,所有的java平台上只要打开-server选项就可以以此速度运行。
===========================
结论:在大多数的客户端程序上,C++程序跑不过java
java速度是GCC的122%
Java/Sun JDK 1.4.2 Server VM VS C/gcc (-O2) =3:2
java 获胜
综合比分=324:266=122%
Java性能是C/GCC的122%
所以在linux上,java更快
===================
结论:在非windows上的大多数情况下,java更快
http://www.javaworld.com/javaworld/jw-02-1998/jw-02-jperf_p.html
中:
java和C++在以下方面打成平手
Integer division
Dead code
Dead code with Integer division
Floating-point division
Static method
Member method
Virtual member method
但java在以下方面的速度是C++的约3倍
Virtual member method with down cast and Run-Time Type Identification (RTTI)
=====================
结论:综合来说,java更快
http://www.kano.net/javabench/data
===============
结论:14项Benchmark中,Java获胜9项,C++5项
java以9:5战胜C++,而且其中很多项是以大比分领先:
Methord Call:近20倍
Object creation:4倍
Hash: 2倍半
word count:1倍半
Fibonacci:1倍半
:
http://www.tommti-systems.de/go.html?http://www.tommti-systems.de/main-Dateien/reviews/languages/benchmarks.html
以下由于第3个表格中java打开了优化选项,所以只有第三个项目中代表了java的真正速度
java:C++=9:5大比分
其中前两个表格中都用了java 1.5 alpha测试版,并且前两表格没打开-server参数。所以我们只看第三个表格(打开了-server优化参数)中的结果:
各种语言在各个方面中夺取的第一名:
java 1.4.2_03(得到9项第一):
double math
trig Math
IO
exception
hashmap
hashmaps
list
nested loop
string concat
C++ (MS 或 Intel,。得到5项第一。 MS compiler options: /Op /Oy /O2 /Oi /Og /Ot /EHsc /arch:SSE
# Intel(R) compiler options: /Op /Oy /Qpc80 /fast /G6 /Oi /Og /Ot /EHsc /arch:SSE)
int32 math
long 64 math
array
heapsort
matrix multiply
值得一提的是:
以上测试中,java在exception上的处理速度竟是C++的约18倍
====================
结论:java在打开-server选项后,取得了大多数测试的冠军
http://cpp.student.utwente.nl/benchmark/
结果:
14个Benchmark中
Java-server SUN JDK1.4.2以6比8负于Inter C++8.0
Java-server SUN JDK1.4.2以8比6战胜GCC-i686
Java-server SUN JDK1.4.2以7比7战胜GCC-i686
=================
结论:基本战平
但是在此测试中,作者说他“故意”限制了JVM的内存使用量,说这是为了和C++公平。这其实是很不公平的。
java打开-server的目的就是为了“用空间换时间”,在内存中将bytecode编译成更大但是更快的本地码,作者却限制内存使用,
就如同飞机与汽车比速度时给飞机和汽车同样数量的汽油一样,或者在限制飞机的飞行高度为5米以下一样(飞机在燃料不足或低空的情况下是不可能以最快的速度飞行了)
看似公平,实则极不公平,飞机就是靠大量的燃料来加速,不给燃料还比什么呢?
如果不限制内存使用量的话,相信java会更快
再来一个证据:
IBM’s research JVM (参考[38] )has demonstrated that Java can
outperform C and FORTRAN compilers even for numerical calculations.
IBM研究的JVM已经证明了Java即使在数学运算中性能也超过C和Fortran。
(参考[38]:作者:S. M. José Moreira, Manish Gupta,
论文: "A Comparison of Three Approaches to
Language, Compiler, and Library Support for Multidimensional Arrays in
Java,"
presented at Joint ACM Java Grande - ISCOPE 2001 Conference,
Stanford University, 2001.
2001年ISCOPE大会,2001年在斯坦福大学召开 )Top
90 楼gmdroc()回复于 2007-01-01 14:56:42 得分 0
我们看到对于足够大的数据数组中,Java RMI性能优于HPC++、Nexus RMI/HPC++和Nexus RMI。。。。。
更惊人的是:在使用JIT后,Java RMI性能优于HPC++
We see that Java RMI outperforms HPC++, Nexus RMI/HPC++, and Nexus RMI
for suciently large data arrays. Since data is pipelined in Java RMI, but not in Nexus RMI, this result
is reasonable. What is more surprising is that when the JIT is enabled, Java RMI is able to outperform
HPC++.
作者:
Fabian Breg, Shridhar Diwan, Juan Villacis,
Jayashree Balasubramanian, Esra Akman, Dennis Gannon
Indiana大学计算机科学系
Department of Computer Science
Indiana University
http://www.cs.ucsb.edu/conferences/java98/papers/rmi.pdf
另一个证据:
题目:
DEVELOPMENT OF A JAVA-BASED METEOROLOGICAL WORKSTATION BY GERMAN
METEOROLOGICAL SERVICE AND PARTNERS
德国气象服务与伙伴用Java开发气象工作站
German Weather Service DWD and German
Military Geophysical Service decided two years ago
to develop a new meteorological workstation from
scratch
德国气象服务局(DWD)与德国军事地球物理服务局决定开发一套全新的气象工作站
.....
The performance issue was evaluated before in a pilot project and is
analysed during all phases of development. It
turned out that this is not a problem, however many
things must be considered in the design and during
coding. Even numerical calculatuions are now in
pure Java since we found they can outperform C++
when carefully optimized.
性能问题在一个导航项目开发之前进行了评估。结果是:性能不是问题,但在编码过程中要考虑很多事情。
我们发现:在优化过后,纯Java甚至连数学计算的性能也超过了C++
http://ams.confex.com/ams/pdfpapers/52402.pdf
再一个证据:
题目:<<Is Java ready for computational science?>>
<<Java为科学计算做好准备了吗?>>
出处:Computer Science Dept., University of Karlsruhe, Germany
德国Karlsruhe大学计算机科学系
http://www.ubka.uni-karlsruhe.de/vvv/1998/informatik/27/27.pdf.gz
IBM的Java编译器以3:2战胜Fortran 90
Fortran90:Java的结果(单位为秒)
20:14
40:30
440:444
1080:1089
11790:11690
输了的两项是以不到!%的差距输的
而赢了的三项中有两项是以33%以上的差距获胜的
文章中的结论:
Conclusion:
Java will become a major language for computational science.
Java将成为科学计算中的主要语言
还有一个证据:
<<Real Java for Real Time>>
用在实时领域中的真正的java
The best JIT compilers today
generate code that come close to, or in some cases even
outperform, C++ code.
当今最好的JIT编译器可以产生性能接近甚至超过C++的代码
http://www.lucas.lth.se/publications/pub2002/nilsson_realjavaforrealtime.pdf
三位作者:
Anders Nilsson、Torbjorn Ekman、Klas Nilsson
瑞典Lund大学计算机科学系
Dept. of Computer Science
Lund University
SWEDEN
One More证据:
<<Java server benchmarks>>
其中对比了Servlet与C/C++写的CGI的各方面的性能
结论:
Conclusion:
Java servlets outperform CGI
Java Servlet的性能超过CGI
http://www.research.ibm.com/journal/sj/391/baylor.html
Servlet与CGI的性能对比:
结论:Servlet性能大大超过用C写的CGI:
基准所取得的结果是:
管理 — 为 64 个节点 SP 配置开发和成功地实现了 Java 和 WebSphere 安装和有效的管理过程。
稳定性 — 大规模 WebSphere 配置的稳定性通过烤机测试证明,在这种测试中,64 个节点的 WebSphere 系统,连续 48 小时运行,硬件或软件没有故障或错误。收集的连续 12 小时以上的性能数据表明稳定的吞吐量和 CPU 利用率。

