A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯伟超 中级黑马   /  2012-12-29 12:00  /  1547 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在程序运行的过程中,.class字节码在编译期间产生的,我想问,如果说程序运行的话是使用的是字节码文件,那在运行时期,字节码是怎么实现程序的运行呢?因为字节码文件生成的是在硬盘上的,难道程序的运行也是在硬盘上吗?java虚拟机的作用不是在内存中执行程序的吗?这一个地方感到很迷惑,请懂的帮忙解释,程序的在的运行机制!

3 个回复

倒序浏览
我感觉你有点钻牛角尖了 其实这个问题你可以这么理解
现在所有计算机都是约翰 冯 诺依曼结构  单从内存来解释 就很复杂  
硬盘只是一个存储空间    字节码文件的展开  还是在内存中
回复 使用道具 举报
舒远 黑马帝 2012-12-29 13:01:56
藤椅
java虚拟机在执行程序的时候,首先将字节码加载到内存。过程很复杂。经历了加载,校验,初始化等一系列过程。
程序的运行肯定是在内存中,这点不容置疑
回复 使用道具 举报
硬盘只是一个存储空间,而程序的运行时在内存的,.class文件存放在硬盘上,当需要时jvm会加载它,然后放在内存中运行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马