Eclipse和JDK编译的字节码不同。那么,JVM如何理解这两个字节码?例:
package com.hcl.raj.utilities;
public class StringTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String name = "Rajkumar";
byte[] byteCodes = new byte[] {15,22,35,48};
String str1 = new String(byteCodes);
System.out.println(str1);
}
}
上述源代码的JDK和Eclipse编译后的代码不同。
由于编码和格式问题,最初尝试发布已编译的代码已删除
最佳答案
Eclipse在内部使用了一个SDK(可以与您直接用于生成字节码的SDK相同,也可以与另一个SDK相同)。
同样,不同的SDK可以生成不同的字节码(例如,如果JDK来自不同的公司或不同的版本),但是如果它们在生成字节码时满足字节码规范,则它们也会被遵循该规范的JVM很好地解释。 。
关于java - JVM如何理解由JDK和Eclipse两者编译而成的字节码,两者都不相同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12053183/