简单问题?

古布 DHC 2004-05-02 05:24:22
1)如何知道对象的大小.类似c++中的sizeof?
2)用Array.sort()对对象(如:Employee,我定义的 )排序.Emplyee的方法compareTo()不impletementComparable行不?为什么?
3)jvm 和complier大致有什么区别?各自的功能是什么?
4)内存被划分几部分?是不是像c++一样.分为(静态存储,堆,堆栈.)
5)对象有无vptr,像c++一样?java是怎么实现动态绑定的.
...全文
17 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
古布 2004-05-08
怎么没人?????
  • 打赏
  • 举报
回复
古布 2004-05-03
谢谢各位! 但下面的问题还不是很清楚?
================================================
1)length()求的是元素的个数.我想知道对象所占的字节数,如:
String s1; s1占几个字节.
Object obj; obj占几个字节.
2)的原因是什么?
5对象有无vptr,像c++一样?java是怎么实现动态绑定的????


  • 打赏
  • 举报
回复
fxfzx 2004-05-02
up
  • 打赏
  • 举报
回复
vongood 2004-05-02
关注。
  • 打赏
  • 举报
回复
moke33 2004-05-02
1)原始对象大小是固定的,如果是数组或向量用length()
2)可以,不过可能会出错,最好重写compareTo()
3)jva在complier之中,在你运行javac时,系统会根据classpath寻找一个jvm.dll的文件,这就是“虚拟机器”jvm,然后建立一个虚拟的机器环境,在这里面运行java程式
4)据我所知,也一样,不过在堆和栈的划分上有点不同,java的对象都是在堆里分配,只是在栈里保存相应的内存映像(引用),这也是java比c++慢的原因之一
5)据我所知,没有,java中利用单继承,接口来实现,自动upcast

这只是根据我目前所知发表的观点,各位如有补充和修改,欢迎
  • 打赏
  • 举报
回复
haoqingshi 2004-05-02
4)按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的.
  • 打赏
  • 举报
回复
dlxu 2004-05-02
3)Compiler是把源代码转换成字节码,而JVM是运行字节码的
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE
加入

6.2w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2004-05-02 05:24
社区公告
暂无公告