929805 wrote:None. There is no such thing as X86 classes and x64 classes, there are only "classes".
1. As my understanding, Java should be able to compile and run under x86 and x64 platform, and it should be no difference on the compiled classes. The only difference should be x86 JVM and x64 JVM (for example, x86 JVM has better than x64 JVM, and x64 JVM should be
support larger address range than x86 JVM). If not, what will be differences among classes compiled under x86 and that of x64?
929805 wrote:There is documentation which states how Java compiled code must be handled within a JVM. (The Java Virtual Machine Specification.) Here's a quote from very close to the beginning:
Is there documentation or reference (e.g. Java Knowledge Base, etc) stating this issue?
The Java virtual machine is an abstract machine.So you shouldn't expect it to mention specific machine architectures, or to specify how it should work on any particular machine architecture. On the contrary, you should expect it to ignore the existence of different machine architectures. And likewise when it gets around to describing the class file format, it simply provides an abstract description. It's up to the implementers to write something which runs in a particular machine architecture and which faithfuylly implements the JVM specification.
Is there documentation or reference (e.g. Java Knowledge Base, etc) stating this issue?There is no documentation or reference that says anything else!