BEAM和JVM之间的一些基本特征/架构差异是什么?

栏目: Java · 发布时间: 7年前

内容简介:首先,梁是注册机,而不是堆栈机.像Prolog的WAM一样,它使用“X寄存器”,它们是正常寄存器(在C中实现为一个数组)和“Y寄存器”,它们是本地功能激活记录(“调用帧”)中的插槽的名称在栈上没有堆栈操作说明.其次,有一些说明可以快速分配一堆堆内存,用于初始化堆上的元组和其他数据结构,用于选择元组元素等.JVM专注于对象,并具有隐藏的“新”操作内存分配和基本初始化的细节.BEAM有一个减少进程的“减少计数器”的指令,并决定是否有时间让另一个进程运行.另一方面,JVM具有针对线程的同步指令.
BEAM和JVM之间的一些基本特征/架构是什么?

>是的我知道:一个最初是围绕着java,另一个是围绕erlang建造的

>我理解JVM(有些),并希望比较他们的结构

>例如,我知道JVM有一个Global GC,而BEAM每个进程有一个

首先,梁是注册机,而不是堆栈机.像Prolog的WAM一样,它使用“X寄存器”,它们是正常寄存器(在C中实现为一个数组)和“Y寄存器”,它们是本地功能激活记录(“调用帧”)中的插槽的名称在栈上没有堆栈操作说明.

其次,有一些说明可以快速分配一堆堆内存,用于初始化堆上的元组和其他数据结构,用于选择元组元素等.JVM专注于对象,并具有隐藏的“新”操作内存分配和基本初始化的细节.

BEAM有一个减少进程的“减少计数器”的指令,并决定是否有时间让另一个进程运行.另一方面,JVM具有针对线程的同步指令.

一个重要的区别是,BEAM具有尾部调用指令,JVM缺少.

最后,对于BEAM和JVM,目标文件中使用的指令集只是一种传输格式. BEAM仿真器将文件中的指令重写为具有许多优化的特例指令(可从一个版本更改为另一个版本)的内部版本.或者,您可以编译为本机代码.大多数JVM都做同样的事情.

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/2276370/what-are-some-fundamental-feature-architectural-differences-between-the-beam-and


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

100个可操作的网络赚钱方法

100个可操作的网络赚钱方法

陶秋丰 / 云南科技 / 2009-12 / 29.80元

《100个可操作的网络赚钱方法》专为有志于网上创业的读者量身打造,作者是“实战型”的网赚高手,在17岁时就通过互联网创业“年人10万”,如今结合自身的亲身实战经验,与大家分享可以实实在在盈利的100个网络赚钱方法和技巧。内容包括:网站创建与推广、竞价广告、联盟赚钱、网站SEO优化、域名投资、广告投放盈利、威客、博客、淘客赚钱等多个方面。 本手册中作者结合自身的网络赚钱经历,通过具体的、可操作......一起来看看 《100个可操作的网络赚钱方法》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具