本帖最后由 xu6148152 于 2014-1-10 18:59 编辑
这个涉及到更深层次的知识了。跨平台确实主要靠的是虚拟机的运行机制。Java虚拟机会屏蔽与具体平台相关的信息。编译器是javac。
“jvm启动时,会启动jre/rt.jar里的类加载器:bootstrap classloader,用来加载java核心api;然后启动扩展类加载器ExtClassLoader加载扩展类,并加载用户程序加载器AppClassLoader,并指定ExtClassLoader为他的父类; 当类被加载时,会先检查在内存中是否已经被加载,如果是,则不再加载,如果没有,再由AppClassLoader来加载,先从jar包里找,没有再从classpath里找”
|