谁能帮我解释一下,从java虚拟机为什么不需要平台支持,还有谁能详细描述一下这个过程: 40

当一个编程软件在计算机上运行以后,从你开始输键盘,屏幕上显示代码,到你点击编译,然后运行,这其中计算机中硬件、软件的访问执行过程是什么,尽量具体详细。我自己想大概是这样的... 当一个编程软件在计算机上运行以后,从你开始输键盘,屏幕上显示代码,到你点击编译,然后运行,这其中计算机中硬件、软件的访问执行过程是什么,尽量具体详细。
我自己想大概是这样的:首先键盘由于电容产生的电压信号转接进入显卡,处理后模拟信号传到屏幕上,当你代码敲完之后,点击编译,编译器将你的屏幕上的源代码信号经过预处理词法语法分析器转换为二进制代码,编译成功后,这其中应该调用了文件流对像,将这串二进制代码存储在了硬盘上,而后点击运行这个过程中程序中使用的各种变量值应该都是存储在内存上的,当生命周期结束后,会有函数自动将其在内存中收回空间,我知道想指针这种对象,如果是new出来的,必须通过代码delete进行释放,但是流对象为何也要这样(当然除了C++以外其他不是这样的),最后到程序结束,在这个过程中,编程软件作为一个进程占用内存空间,但我不知道打开软件是,显示有谁将磁盘上的软件二进制码读到内存上的,是内存的驱动吗,还是由cpu先读出来,再传到内存上?
我知道以上这段话肯定有大段大段的错误,只是表面理解的说一下,麻烦哪位大神,帮忙具体详细的解释一下,实在纠结,万分感谢。
展开
 我来答
百度网友e68d201
2011-08-26 · 超过18用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:45.9万
展开全部
java虚拟机需要平台支持 windows和linux上的java虚拟机是不同的 但效果是一样的

java虚拟机封装了不同平台的api,你使用它,从外部来看是一样的,但不同平台上内部实现有所不同。
java虚拟机最常用的函数想必是malloc啊,HeapCreate啊,HeapAlloc啊这些需要系统支持的内存管理函数了 还有一大堆系统函数的支持 图像api啊 网络api啊 一堆一堆的

是java虚拟机把class字节码翻译并加载到系统上进行运行。

文件流对像是一个数据结构 在java中甚至可能是保存在堆栈的一段代码 为什么不可以delete掉?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朱可星
2011-08-08 · TA获得超过913个赞
知道小有建树答主
回答量:1860
采纳率:91%
帮助的人:388万
展开全部
java--class-- binary

因为jvm 把 所有要 操作系统识别class的 工作都 做了,只要有class文件和虚拟机就可以运行在任意环境下 ,当然 虚拟机 版本根据 系统平台而不同。

至于键盘输入,那是按压后电容变化引起的 脉冲电流变化,进而 内存状态改变,触发事先定义的逻辑电路,所以就 生成对应的二进制信号,并按照人可以 理解的 形式显示在屏幕。

还有什么 不明白可以发到我邮箱longkeman@yahoo.com.cn
追问
能再详细点吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石原里美fUOm6
2011-08-19 · TA获得超过105个赞
知道答主
回答量:98
采纳率:0%
帮助的人:54.6万
展开全部
你为什么要钻的这么深的,有些不理解放在那里就行了,你要想理解,你可以去看下,java的咖啡馆。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小梦幻雪狸
2011-08-08
知道答主
回答量:16
采纳率:0%
帮助的人:5.8万
展开全部
猪知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-08-09
展开全部
路过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式