博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 字节码校验
阅读量:4039 次
发布时间:2019-05-24

本文共 662 字,大约阅读时间需要 2 分钟。

 当类加载器将新加载的java平台类的字节码传递到虚拟机时,这些字节码首先要接受校验器的校验。校验器负责检查那些无法执行的明显有破坏性的操作。除了系统类之外,其他类都要被校验。但是可以是使用非正式的指令钝化校验器。

java -noverify Hello
下面的一些列举是校验器执行的一些检查:
1.变量要在使用前初始化
2.方法调用与对象引用类型之间要匹配
3.访问私有数据和方法的规则没有被违反
4.对本地变量的访问都在运行的堆栈内
5.运行时堆栈没有溢出
如果这些检查没有通过,类不会被加载。
下面一段代码可以用来测试,先将类导入到工作空间,然后钝化校验器,查看效果:
import java.applet.Applet;import java.awt.Graphics;public class VerifyTest extends Applet{	   public static void main(String[] args) {		System.out.println("1+2="+fun());	}	   	   public static int fun(){		   int m;		   int n;		   m=1;		   n=2;		   int r=m+n;		   return r;	   }	   	   public void paint(Graphics g){		  g.drawString("1+2="+fun(), 20, 20);  	   }}
内容仅作了解就可以了。

转载地址:http://dhpdi.baihongyu.com/

你可能感兴趣的文章
时间工具类
查看>>
mybatis foreach
查看>>
微信验证域名
查看>>
Java实现微信JS-SDK【一】配置篇
查看>>
java合成图片
查看>>
httpclient 4.3.2 post get的工具类
查看>>
taskExecutor使用
查看>>
微信朋友圈分享
查看>>
eclipse安装JAVA反编译插件
查看>>
ip限制
查看>>
IE6 png 透明
查看>>
列表拖动排序
查看>>
select实例,拼音检索
查看>>
Spring MVC @Transactional注解方式事务失效的解决办法
查看>>
js正则表达式限制文本框只能输入数字,小数点,英文字母
查看>>
Spring事务失效的原因
查看>>
mybatis获取数据库表字段名+数据
查看>>
使用springfox整合SpringMVC和Swagger
查看>>
JAVA静态代理和动态代理
查看>>
使用Navicat计划任务备份mysql数据库
查看>>