我经常阅读Smalltalk中的“图像生成”过程。这个过程似乎是指从Smalltalk内部从头开始创建图像。
但是还有一个“剥离”过程,似乎涉及删除对象以部署运行时。
两者有什么区别?有没有支持图像生成的Smalltalk?
答案 0 :(得分:1)
术语图像生成通常是指从安装附带的默认香草图像开始,并将所有代码加载到某个项目所需的代码中的过程。这在开发期间定期完成,以确保所有代码实际加载并在默认图像中正常工作。
剥离是在部署之前(有时)完成的过程,从包含项目所有必需代码的图像中,一些未使用的类和方法从图像中“剥离”。这样做是为了使部署的映像更小或更少依赖外部共享库,或出于安全原因或许可原因。例如,剥离可能会删除许多与无头服务器的UI相关的类。或者它可能会删除编译器以防止用户更改代码。在任何情况下,剥离都不是精确的科学,因为很难确定什么可以被删除,什么不可以。
因此,对于图像生成,您最终得到的图像大于您开始使用的图像,并且剥离后最终会得到较小的图像。