作者回复: 黑线和绿线都跟内存读写有关。
与内存状态有关的操作所构成的流,有时还会叫做Effect流,效果流。这时候会产生前后序的依赖关系。
作者回复: 这句话我再解释一下。
比如,A有10个子类,B1、B2、B3...B10
但在实际运行时,很多子类可能从来没有用到过,只有B2和B3会被用到。那么,编译器只需要为这两个子类做优化就行了。这就是JIT的优势。它是根据实际运行的情况来优化的。
作者回复: 现代的IDE,是内置了编译功能的,这是IDE能那么智能的原因。一般只需要实现前端功能就行了,能够检查语法和语义的错误。
比如,如果你需要让Visual Studio Code支持某种语言,你需要提供一个支持语言服务器协议(LSP)的后台服务,让编辑器调用它的功能来支持解析、即时提示等功能。