在java执行过程中我们将其划分为5个部分:评价、决议、加载、验证和编译,并伴随着与他们相关的检查。我们论证了如何联合这5个部分来确保类型的稳定。我们采用一个抽象的观点和基于我们的模型的一种比字节码更接近java源代码的语言。我们考虑到java具有以下的一些特点:类、子类、作用域和重载、方法、继承和接口。