风吹九月 2022-04-11 20:46 采纳率: 0%
浏览 43

jvm究竟是怎么执行字节码的?

学过java的人都知道,java代码的执行过程为:源代码首先被编译成为字节码,然后由jvm加载到内存里面,再然后由jvm翻译为机器码执行。这里面我想知道的是,在最后一步中,jvm将字节码翻译为机器码之后,是如何将cpu的执行权交给翻译后的机器码的?而翻译后的机器码被cpu执行完毕后,又是如何将执行权交还给jvm从而可以翻译并执行下一段字节码的?也许是不太懂的这种问题该如何查找,在百度上面一直没有找到相关的解释,如果有哪位同学研究过这类问题并且弄清楚了其中的机制,还望不吝赐教,多谢。

  • 写回答

1条回答 默认 最新

  • CaptHua 2022-04-15 18:31
    关注

    jvm解释执行字节码时最终也会翻译成cpu指令,编译后的机器码也是cpu指令。没啥区别。cpu执行权是个什么鬼?系统里任务的执行是进程和线程。这个问题里许多概念是错的。建议看下《现代操作系统》这本书,完了再学Jvm。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月11日

悬赏问题

  • ¥15 QQ邮箱过期怎么恢复?
  • ¥15 登录他人的vue项目显示服务器错误
  • ¥15 (标签-android|关键词-app)
  • ¥60 如何批量获取json的url
  • ¥15 comsol仿真压阻传感器
  • ¥15 Python线性规划函数optimize.linprog求解为整数
  • ¥15 llama3中文版微调
  • ¥15 pg数据库导入数据序列重复
  • ¥15 三分类机器学习模型可视化分析
  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)