我有一个对象,x.我想把它复制为对象y,这样改变y就不要修改了x.我意识到复制从内置JavaScript对象派生的对象将导致额外的,不需要的属性.这不是问题,因为我正在复制我自己的一个文字构造的对象.
如何正确克隆JavaScript对象?
我正在使用Apache Commons Pool创建一个Nashorn引擎池.在应用程序启动时,我调用preparePool()将所有脚本minIdle的实例数预热eval()到引擎中,以便它可以invokeFunction()立即应答呼叫.
热身
@Override
public NashornScriptEngine create() {
// ...
try {
engine.eval(asset1);
engine.eval(asset2);
engine.eval(asset3);
} // ...
return engine;
}
Run Code Online (Sandbox Code Playgroud)
根据池大小和预加载脚本的复杂性,这需要相当长的时间.
问题
我可以只预热一个实例并将其安全地克隆到minIdle实例数吗?
是否可以安全地序列化并保留已创建实例的克隆?(这将允许维护引擎缓存,如果其中一个资产发生更改,则只需要使其无效)
相关资源(适当时将更新此部分)