日期:2014-05-20  浏览次数:20669 次

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

------解决方案--------------------
java方法执行的时候使用的是java栈,本地方法用的是本地方法栈
java方法执行的时候jvm PC计数器的值为下一条指令的地址或偏移量,而执行本地方法的时候PC计数器的值是“undefined”

java方法的操作数大都取自java栈,字节码,方法区等,本地方法的操作数大都取自寄存器

java方法不用考虑内存使用,本地方法可能需要考虑

本地方法拥有与jvm同样的权限,可以说是jvm的扩展,而java方法受jvm管制

=========