java虚拟机与java跨平台运作的关系
java虚拟机与java跨平台运行的关系
1、现写一个简单的java小程序
publicv class HelloWorld { public static void mian(String []args) { System.out.println("HelloWorld!"); } }
2、编译:当我们执行HelloWorld.java程序时,系统将通过您设置的环境变量来匹配所需要的程序,也就会掉用bin目录中的javac.exe程序将源代码翻译成与任何硬件平台无关以及操作系统无关的底层代码二进制码。即HelloWorld.class文件.
3、运行:这是系统又会根据所需自动匹配到java.exe程序,然后改程序会到指定的classpath目录下找到HelloWorld.class文件。然后java.exe就会把该class文件装载到jvm(java virtual machiine)虚拟机中。
4、jvm负责将HelloWorld.class文件的运行。具体上jvm将class文件翻译成能够适合各种硬件平台和不同操作系统所使用的底层代码。在个平台以及不同的操作系统上运行。
综上所述,jvm就是java超强跨平台能力的体现。
注意:不同平台上的jvm时不相同的。