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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 光明宇宙 于 2013-3-16 10:04 编辑

api里面有没有方法,怎么去看这些个方法的源码呢?如果明白其中的原理,最好能图形化表示出来,不胜感激~~~

4 个回复

倒序浏览
基本的运算符应该是由虚拟机实现的吧,也就是用c或汇编语言写的,
你可以去研究一下汇编的代码

运算操作在内存中一般是由栈来实现的,用两个栈,一个存放数据,一个存放运算符。

在运算时,数据与运算符依次进栈,当下一个运算符在进栈时,首先要与运算符栈中栈顶的运算符做比较,
如果栈顶的运算符优先级较高,则这个运算符要先出栈并且与数据栈中出栈的两个数据做运算,
然后将运算结果压入数据栈中,这时下一个运算符才进栈,按这样的方式进行进栈出栈操作,
直到两个栈为空返回结果。

附个图片,简单画了画,竟然没有权限加图片,只好加到附件里了,有兴趣的下载下来看吧{:soso_e113:}

无标题.png (19.14 KB, 下载次数: 33)

无标题.png
回复 使用道具 举报
fighting 发表于 2013-3-15 08:58
基本的运算符应该是由虚拟机实现的吧,也就是用c或汇编语言写的,
你可以去研究一下汇编的代码

多谢!!!
回复 使用道具 举报
再等等,看还有木有更详细点的解释~~

点评

问题不要等,别的同学给你思路了,自己要多思考,多实践,自然就从中悟出来了。如果问题已经解决,请尽快结贴,谢谢  发表于 2013-3-16 08:12
回复 使用道具 举报
这个你要看计算机组成原理了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马