开发者

Why CVM is called C Virtual Machine, from SUN for CDC (J2ME)?

Why does Sun call their VM for CDC devices C Virtual Machine ? Isn't that confusing. I mean it appears that is a virtual machine for the C language, not java. On the mobility faq sun says:

FAQ question:

What is the difference between a Java virtual machine (JVM) and a C virtual machine (CVM)?

Answer:

The short answer is that CVM is a JVM. The longer answer is that CVM is a full-featured JVM designed for higher-end, emerging, next generation consumer electronic and embedde开发者_运维百科d devices, that is, devices with a 32-bit processor and 2Mb+ of total memory. These devices include wireless communicators (such as devices running Symbian's EPOC OS), high-end PDAs (for example, devices running embedded Linux or Windows CE), residential gateways, automotive telematic systems, and screenphones.

Ref: http://developers.sun.com/mobility/configurations/questions/vmdiff/

It's really confusing. Or I'm missing the point????


I finally found the solution:

Note: CVM was once an acronym for "Compact Virtual Machine." Engineers at Sun Microsystems believed that people might confuse the "Compact" in CVM with the K in KVM, however, so now C doesn't stand for anything at all. The virtual machine is known simply as CVM.

http://developers.sun.com/mobility/configurations/articles/cdc/


I mean it appears that is a virtual machine for the C language, not java.

You are missing the point. The C in CVM does not stand for the C programming language. AFAIK, it stands for CDC; i.e. Connected Device Configuration. In other words, it is a JVM that is designed to run Java on a memory constrained device such a a mobile phone.

EDIT: And to those folks that Sun are saying that CVM means "C virtual machine", read the FAQ and its answer again. Sun are responding to people who mistakenly misinterpret CVM as "C virtual machine" by saying this is not the correct interpretation. But maybe they are not saying it emphatically enough for people who are used to getting all their information in sound-bites.

But, yes, Sun are notorious for their confusing Java product nomenclature. And this is (IMO) just another example. For example, if you do a Google search for "JVM Specification" you will see lots of hits that point directly or indirectly to the Java Virtual Machine Specification. But searching for "CVM specification" yields nothing relevant, because (AFAIK) there is no separate CVM spec.

In short, Sun have created an unnecessary acronym that is easy to ascribe an incorrect meaning to. That was (IMO) dumb on both counts. However, they didn't ascribe that meaning to it themselves.


Sun has several implementations of Java Virtual Machines, with different characteristica. Not all devices are capable of running the fullblown Hotspot in their desktop offering, and the money is also elsewhere.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜