掌握V8的架构和使用过程
V8内部架构相当复杂,但是使用还是很方便的,因为V8把所有功能实现封装到内部的命名空间中,只给使用者提供了相当简洁的外部封装类,这些类都在一个叫做v8的命名空间中,全局函数封装在V8命名空间中(注意大小写有别)。V8引擎使用上的便捷性体现在多个方面:
l 大量采用模板类,统一了所有脚本对象的内存管理和垃圾回收。
l 所有脚本对象不允许直接在堆或栈上构造,这通过私有的构造函数体现出来。对象的创建都使用静态的New方法,对象的类型转换都使用CAST方法。
l 所有对象通过Handle<>模板类的封装来自动管理对象的生命周期,Handle分成Local和Persistent两种。Local在内部栈上管理对象,一旦离开栈作用范围