对于一门语言实现一种通用执行环境,能够叫作虚拟机(系统与进程的通用平台),也能够叫作解释器。须要实现如下几个部分:
1 语言内置对象在虚拟机中的实现,通常有字符串,列表,hash,object对象等,字符串通常采用字符串池来实现。
2 内存管理,包括了内存分配,内存回收,垃圾回收等内容
3 独立于os平台的中间码,java字节码,python字节码等
4 虚拟机的执行字节码的部分:模拟cpu在执行语言层的“汇编”代码
5 模块加载
6 编译过程
7 任务执行粒度,线程,进程,协程以及实现等内容
8 线程/进程/协程的通讯与同步机制
下面简单对几种语言进行对比,只是做为一种理解的划分(很不全面)java