北京沣登科技发展公司

j***ascript运行字节码,j***ascript 字节码

大家好,今天小编关注到一个比较意思的话题,就是关于javascript运行字节码的问题,于是小编就整理了2个相关介绍javascript运行字节码的解答,让我们一起看看吧。

  1. javascript为什么不像java一样直接事先编译成字节码然后跑在v8上?
  2. js字符串最多存储多少字节?

j***ascript为什么不像j***a一样直接事先编译成字节码然后跑在v8上?

js到v8 其实已经没有虚拟机字节码这层了,直接编译成cpu指令了,这也是v8快的核心。j***a反而多出一层虚拟机指令。

但js本质还是有很多动态语言特性,动态语言因为无法提前固化变量类型,就会多出不少处理成本。

javascript运行字节码,javascript 字节码div>
图片来源网络,侵删)

一旦编译完成,第一次运行的代码会有缓存成cpu的指令,一旦缓存j***a的也会绕过虚拟指令,所以到这个阶段,单纯就cpu指令而言,没有啥区别包括马上推出的php8也是如此。

但复杂在每个语言优化程度,和对动态部分解析有差异,而造成实际的速度还是有区别。从这点来说,j***a沉淀的时间更久,强语言特性也没有历史负担,所以j***a在运行后会显得更快一些

js字符串最多存储多少字节?

JS字符串的长度受到下标限制

javascript运行字节码,javascript 字节码
(图片来源网络,侵删)
理论最大长度是2^53-1(即js中可表达的最大安全整数)。2^53是多大呢?大约9PB。根据统计,中国2014年所有出版物(不计复本)不到2000亿字,也就是400GB而已。按此推算,不要说存一个txt了,中国自有甲骨文以来所有的书、各类出版物字数加在一起估计也不可能超过100TB,也就是0.1PB。当然啦,实际引擎是不可能允许分配那么大的字符串的,你的电脑也没那么大存储不是。V8的heap上限只有2GB不到,允许分配的单个字符串大小上限更只有大约是512MB不到。JS字符串是UTF16编码保存,所以也就是2.68亿个字符。FF大约也是这个数字

到此,以上就是小编对于j***ascript运行字节码的问题就介绍到这了,希望介绍关于j***ascript运行字节码的2点解答对大家有用。

javascript运行字节码,javascript 字节码
(图片来源网络,侵删)

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.fengdengtech.com/post/70144.html

分享:
扫描分享到社交APP