Java代码安全性检查机制:
首先由类装载器(class loader)负责把类文件(.class文件)加载到Java虚拟机(JVM)中,它通过区分本地文件系统的类和网络系统导入的类增加安全性,这可以限制任何特洛伊木马程序。因为本机类总是先被加载,一旦所有的类都被加载完,执行文件的内存就固定了。
然后,字节码校验器进行校验,字节码校验器不检查那些可信任的编译器所生成的类文件,而是对那些有意违背命名空间规定和java语言规则的类文件进行检查,并且关闭具有安全性漏洞的类文件,自己码校验器主要执行下面的检查。
加载的类符合JVM规范的类文件格式,没有违反访问限制,代码上没有造成上溢或者下溢,所有操作代码的参数类型都正确的,没有非法的数据类型转换发生,检查该类文件是否存在某些非法操作。字节码校验器在java源程序中,会执行try-catch-finally语句序列并且捕捉和响应java的程序错误。
最后,如果字节码校验检验通过,由java解释器负责把类文件解释成为机器码进行执行。
时间: 2024-12-20 16:07:43