java 字节码校验
转载地址:http://blog.csdn.net/seacean2000/article/details/11516729当类加载器将新加载的java平台类的字节码传递到虚拟机时,这些字节码首先要接受校验器的校验。校验器负责检查那些无法执行的明显有破坏性的操作。除了系统类之外,其他类都要被校验。但是可以是使用非正式的指令钝化校验器。[java] view
·
转载地址:http://blog.csdn.net/seacean2000/article/details/11516729
当类加载器将新加载的java平台类的字节码传递到虚拟机时,这些字节码首先要接受校验器的校验。校验器负责检查那些无法执行的明显有破坏性的操作。除了系统类之外,其他类都要被校验。但是可以是使用非正式的指令钝化校验器。
下面的一些列举是校验器执行的一些检查:
1.变量要在使用前初始化
2.方法调用与对象引用类型之间要匹配
3.访问私有数据和方法的规则没有被违反
4.对本地变量的访问都在运行的堆栈内
5.运行时堆栈没有溢出
如果这些检查没有通过,类不会被加载。
下面一段代码可以用来测试,先将类导入到工作空间,然后钝化校验器,查看效果:
内容仅作了解就可以了。
更多推荐
已为社区贡献1条内容
所有评论(0)