今天看了JVM的原理,里面的java方法(java API)和本地方法除了前者是java写的class文件后者是用c、c++或者会变写的然后编译成相应的机器码,还有什么区别和联系?

解决方案 »

  1.   

    java方法执行的时候使用的是java栈,本地方法用的是本地方法栈
    java方法执行的时候jvm PC计数器的值为下一条指令的地址或偏移量,而执行本地方法的时候PC计数器的值是“undefined”java方法的操作数大都取自java栈,字节码,方法区等,本地方法的操作数大都取自寄存器java方法不用考虑内存使用,本地方法可能需要考虑本地方法拥有与jvm同样的权限,可以说是jvm的扩展,而java方法受jvm管制=========