Re: Endianness of Java Virtual Machine
karthikbalaguru wrote On 10/30/07 17:30,:
On Oct 31, 2:12 am, dalouis <efsk...@gmail.com> wrote:
On Oct 30, 5:05 pm, karthikbalaguru <karthikbalagur...@gmail.com>
wrote:
Hi,
Is 'Java Virtual Machine' Big-Endian ?
Or
Is it independent of Endianness ? (That is Bi-Endian)
Can someone provide some link in the internet that discusses
more about this ?
Thx in advans,
Karthik Balaguru
Endian is something that is determined by the architecture of the
machine you are running on, therefore it would depend which platform
you are running the virtual machine on.
Although Im not sure what difference it would make for you if you are
writing java code, since java completely hides details such as this
from you.
Actually, I came across a link that states 'Java Virtual Machine is of
Big-Endian'.
http://www.intel.com/design/intarch/papers/endian.pdf
I am eager to know the advantages of such a desing of Java Virtual
Machine.
Is there any link / document in the internet that discusses about
these ?
The fact that a document makes a claim doesn't prove
that the claim is correct ...
It seems to me that Intel's characterization of the
JVM as Big-Endian is at best incomplete. The endianness
of the JVM is unspecified, and implementations for both
Big-Endian and Little-Endian machines do in fact use the
platforms' native formats for `int' and so forth. You
could point to a specific JVM implementation and say that
it was Big- or Little- or Middle-Endian, but saying that
"the JVM" has a specific endianness is like saying C++ has
a specific endianness.
It is true that the class file format is Big-Endian,
serialized forms are Big-Endian, and so on. But these are
best viewed as interchange formats, not as characteristics
of the JVM's that process them. Your computer -- whatever
it is -- presumably sends and receives IP packets, whose
format has a strong Big-Endian flavor; does it follow that
your computer is Big-Endian? Of course not, and it seems
equally pointless to point to a Big-Endian class file and
infer that any JVM that loads it must be Big-Endian.
--
Eric.Sosman@sun.com