您的位置:首页 > 编程语言 > Java开发

java 虚拟机的理解

2015-07-24 09:44 351 查看
当运行"java thb.java " 命令时,就启动了一个java虚拟机进程,java虚拟机进程会在类路径中,找到thb.java 源文件,读取源文件的二进制数据,并把二进制数据加载到内存中,放到运行内存中的方法区中。字节码验证器会验证加载字节码是否腐恶语法,然后解析器会解析字节码,最后初始化。

thb t=new thb(); java 虚拟机执行这条语句的步骤,1.搜索方法区,看方法区内是否有thb类的字节码,没有,加载字节码到方法区 2.在堆区中存放thb对象,该对象持有指向方法区内字节码的引用 3.栈中的变量t 引用堆区中的对象,它指向堆区中对象实例的引用。

当执行对象的方法时,比如speak方法,当执行t.speak( )方法时,java虚拟机根据局部变量 t 持有的引用,定位到堆区中的thb实例,在根据thb实例持有的引用,定位到方法区中thb类的类型信息,从而获得speak()方法的字节码,接着执行speak()方法包含的指令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: