一个更好的解释，好吧，跟编译器无关是运行时的