简单问题?
1)如何知道对象的大小.类似c++中的sizeof?
2)用Array.sort()对对象(如:Employee,我定义的 )排序.Emplyee的方法compareTo()不impletementComparable行不?为什么?
3)jvm 和complier大致有什么区别?各自的功能是什么?
4)内存被划分几部分?是不是像c++一样.分为(静态存储,堆,堆栈.)
5)对象有无vptr,像c++一样?java是怎么实现动态绑定的.
问题点数:50、回复次数:7Top
1 楼dlxu(脱离纯粹Coding阶段)回复于 2004-05-02 17:43:09 得分 0
3)Compiler是把源代码转换成字节码,而JVM是运行字节码的Top
2 楼haoqingshi(飞翔)回复于 2004-05-02 19:51:22 得分 0
4)按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.
Top
3 楼moke33(Mr.Li ★ 我爱冰冰)回复于 2004-05-02 20:00:02 得分 50
1)原始对象大小是固定的,如果是数组或向量用length()
2)可以,不过可能会出错,最好重写compareTo()
3)jva在complier之中,在你运行javac时,系统会根据classpath寻找一个jvm.dll的文件,这就是“虚拟机器”jvm,然后建立一个虚拟的机器环境,在这里面运行java程式
4)据我所知,也一样,不过在堆和栈的划分上有点不同,java的对象都是在堆里分配,只是在栈里保存相应的内存映像(引用),这也是java比c++慢的原因之一
5)据我所知,没有,java中利用单继承,接口来实现,自动upcast
这只是根据我目前所知发表的观点,各位如有补充和修改,欢迎Top
4 楼vongood((my c++))回复于 2004-05-02 20:18:37 得分 0
关注。Top
5 楼fxfzx(虾米)回复于 2004-05-02 22:43:34 得分 0
upTop
6 楼banquet(Everything will be well)回复于 2004-05-03 12:42:24 得分 0
谢谢各位! 但下面的问题还不是很清楚?
================================================
1)length()求的是元素的个数.我想知道对象所占的字节数,如:
String s1; s1占几个字节.
Object obj; obj占几个字节.
2)的原因是什么?
5对象有无vptr,像c++一样?java是怎么实现动态绑定的????
Top
7 楼banquet(Everything will be well)回复于 2004-05-08 18:44:13 得分 0
怎么没人?????Top




