微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

面试题

java跨平台怎么实现的?(一次编写到处运行)

java文件通过javac编译成class文件后,通过在不同平台的jvm(java虚拟机)生成不同平台的机器码,就能在不同平台运行。

图片

 

jvm虚拟机  栈(一个线程对应一部分栈,一个方法对应栈中一部分栈帧内存区域,栈先进后出特性与调用嵌套方法先后的需求一致

每有一个线程,jvm虚拟机就分配   一部分栈区域    给线程

每有一个方法,当前栈就会分配   一部分栈帧内存区域(在栈中)   给这个方法   存放方法中的局部变量,操作数栈,动态链接方法出口

栈的特性先进后出调用嵌套方法时,最里层的方法需要先结束,最外层最后结束。

栈帧中:

操作数栈:存放需要赋值给局部变量的

动态链接用于调用方法时,将常量池中该方法的符号引用转换为直接引用————图片

图片

jvm虚拟机  程序计数器

和栈一样,每有一个线程,jvm虚拟机就分配   一部分程序计数器区域    给线程(每个线程的程序计数器是独立的)

用于存放代码的执行到哪的位置,当线程挂起时,能知道要从哪继续执行

图片

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐