V8引擎的一些基本概念。
Javascript 里的对象均由垃圾回收机制管理, 与C++里的由用户管理的方法略有不同。
Handle:
管理JavaScript的所有对象。每种对象均由Handle管理(比如Handle<Array> array = Array::New(3)).
管理Handle的机制是叫GC机制,GC机制管理Handle的生命周期。 不采用传统的堆栈方法。需手动声明Handle的使用周期。
生命周期结束后自动回收Handle对象。Handle可以指定全局或者局部。全局Handle定义在堆上。局部Handle定义在栈上。
Q :那为什么要采用Handle来管理。好处在哪些地方。跟传统的直接在堆栈上定义的区别在哪儿?
A :
Context :
允许每个script拥有独立的运行环境。各自拥有独立的全局变量。
Script :
js脚本运行的步骤:由对象Script来管理。
编译:Script::Compile(Handle<T> sources);
运行:Script::Run(Handle<T> sources);
V8引擎的一些基本概念。