JVM java虚拟机的运行原理。  进来就有分~~! 麻烦告诉下

解决方案 »

  1.   

    http://www.google.com.hk/search?hl=zh-CN&source=hp&q=jvm%E8%BF%90%E8%A1%8C%E5%8E%9F%E7%90%86&aq=f&aqi=&aql=&oq=&gs_rfai=想简单了解就看看百度知道
    想深入了解看看51cto
      

  2.   

    这不是一俩句话能说明白的,推荐看一下《深入java虚拟机》
      

  3.   

    不是一两句能说清楚的,要深入的话《深入java虚拟机(第二版)》,不过可以稍微了解一下,要学会用百度Google啊~~~
    Java虚拟机的主要任务是装在class文件并且执行其中的字节码。Java虚拟机包含一个类装载器,它可以从程序和API中装载class文件。Java API中只有程序执行时需要的那些类才会被装载。字节码由执行引擎来执行。不同的Java虚拟机中,执行引擎可能实现得非常不同。在由软件实现的虚拟机中,最简单的执行引擎就是一次性解释字节码。另一种执行引擎更快,但是也更消耗内存,叫做"即时编译器(just-in-time compiler)"。在这种情况下,第一次被执行的字节码会被编译成本地机器代码。编译出的本地机器代码会被缓存,当方法以后被调用的时候可以重用。第三种执行引擎是自适应优化器。在这种方法里,虚拟机开始的时候解释字节码,但是会监视运行中程序的活动,并且记录下使用最频繁的代码段。程序运行的时候,虚拟机只把那些活动最频繁的代码编译成本地代码,其他的代码由于使用得不是很频繁,继续保留为字节码-由虚拟机继续解释它们。一个自适应的优化器可以使得Java虚拟机在80%~90%的时间里执行被优化过的本地代码,而只需要编译10%~20%的对性能有影响的代码。 当Java虚拟机是由主机操作系统上的软件实现的时候,Java程序通过调用本地方法(native method)和主机交互。Java中有两种方法: Java方法和本地方法。Java方法是由Java语言编写,编译成字节码文件,存储在class文件中的。本地方法是由其他语言(比如c,c++或汇编语言)编写的,编译成何处理器相关的机器代码。本地方法保存在动态链接库中,格式是各个平台专有的。运行中Java程序调用本地方法时,虚拟机装载包含这个本地方法的动态库,并调用这个方法。本地方法是联系Java程序和底层主机操作系统的连接方法。通过本地方法,Java程序可以直接访问底层操作系统的资源。一个本地方法接口(Java Native Interface, JNI)-使得本地方法可以在特定主机系统的任何一个Java平台实现上运行。如果希望使用特定主机上的资源,它们又无法从Java API访问,那么可以写一个平台相关的Java程序来调用本地方法。如果希望保证程序的平台无关性,那么只能通过Java API来访问底层系统资源。
      

  4.   

    当时学习Java还没想这么多,学习下
      

  5.   

    J偶还没到深入JVM的水平,学习
      

  6.   

    原理不就是 编译.java文件成.class,让后调用源文件运行……
      

  7.   

    一两句话说不清楚
    要说的话要写很长,不太想写了
    其实这个你google下就明白了
      

  8.   

    毫无疑问,看《深入java虚拟机第二版》或者《java虚拟机规范》第二版