手写 Python 虚拟机
海纳
华为资深编译专家,原 Huawei JDK 团队负责人
1327 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 35 讲
导学|直播加餐:三小时掌握C++ (3讲)
手写 Python 虚拟机
15
15
1.0x
00:00/00:00
登录|注册

结束语|结束,只是新的开始

你好,我是海纳。
今天就是专栏的最后一节课了。在这个专栏里,我们一起实现了 Python 虚拟机的基本功能,并且在直播课程中,又实现了一个小的脚本语言。从而打造了一个五脏俱全的小型语言虚拟机。

虚拟机的基本结构

就像专栏第一课所介绍的,编程语言虚拟机是一个有足够深度的领域。以相对成熟的 Hotspot 和 V8 举例,一个典型的编程语言虚拟机包括执行器、垃圾回收器和运行时支持等三大特性。
执行器有两种基本的结构:解释器和 JIT(Just In Time,即时编译)执行器。我们专栏所实现的正是字节码解释器,而 JIT 执行器因为有完整的编译流程,很难在有限的时间内实现它的完备功能,只能留给你自己去探索。
垃圾回收器的主流算法也在不断地演进。Hotspot 从 CMS 走向 G1 回收器,然后向 ZGC 等无暂停垃圾回收算法演化,支持的堆越来越大,回收的效率也越来越高。与此同时,JS 和 Go 语言中的分块分区算法也在持续进步。
在 Python 虚拟机中,运行时包括列表、字典等内建类型支持,也包括闭包、函数对象等维持运行时状态的对象。运行时与语言的语法特征有很强的关联性。很多语言仍然在不断地向前发展,所依赖的正是语言运行时提供的能力。
我们会看到像 Scala 和 Kotlin 等语言一开始可以运行在 JVM 上,后面慢慢地演化出自己的语言核心库,并慢慢转向自研编译器。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Python虚拟机的基本结构包括执行器、垃圾回收器和运行时支持,其中执行器有解释器和JIT执行器两种基本结构。 2. 虚拟机的三大基本模块(执行器、垃圾回收器、运行时支持)在不断向前演进,新的语言、算法、硬件和应用场景也在高速发展。 3. 兴趣是学习编程的最好老师,作者从个人经历中阐述了对底层软件的热爱和对编程的热情。 4. 作者认为当前行业低谷期是一个让投机者离场,让热爱者更有时间沉淀的调整期,只有热爱者才能在黑暗中燃烧自己,照亮前行的路。 5. 在基础软件领域,革命的力量正在悄悄地积聚,革命也必将发生,而基础软件开发人员将是前进路上最重要的核心保障。 6. 作者展望未来,指出信息化和智能化正在带领人类往更深远、更静谧、更神秘的未知领域前进。 7. 基础软件领域也来到了变革的分叉点,作者认为无论未来人类往什么方向前进,基础软件开发人员一定会是前进路上最重要的核心保障。 8. 作者鼓励读者填写反馈,期待看到读者的真实反馈。 文章重点总结如上所示。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手写 Python 虚拟机》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • kkxue
    功力深厚,表达专业清晰,期待hinus下个专栏!
    2024-07-12归属地:广东
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部