LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1959|回复: 13

java语言有什么特点?

[复制链接]
发表于 2004-6-23 14:20:34 | 显示全部楼层 |阅读模式
它的长处?短处?对硬件的控制怎么样?等。
发表于 2004-6-23 20:45:24 | 显示全部楼层
在java虚拟机上运行,跨平台。 其它似乎都不能算特点
发表于 2004-6-23 21:47:00 | 显示全部楼层
very easy!
发表于 2004-6-24 01:10:06 | 显示全部楼层
对硬件的控制远不如C
发表于 2004-6-24 07:43:18 | 显示全部楼层
JAVA和C++的语言对比, 我总结如下:

1。 JAVA比起C++更像object-oriented programming, 相信用过JAVA的朋友都知道JAVA都是在一个一个CLASS里定义执行的, 而每个文件可以多过一个main的执行function,只要你有n个class在那个文件里。 可在C++里, 一个文件只能有一个main function。 最明显的就是C或c++里, main是可以单独拿出来执行的, 而JAVA里main本身也要在一个class里。

2。JAVA比C++要安全, 虽然我保留这个发言权, 但通过对C++里设立指针,和JAVA里设立reference来作对比, 却有这种意思。 初看指针和reference其实定义没什么大的区别, 但细看, 最大区别就是reference的控制权在系统, 而指针的控制权在programmer。相信如果长期编译C或C++的朋友有过因为指针问题而debug很久的经验, 原因就是由于太多指针的设定, 而操控权都在programmer上, 一个不小心, 就会毁了程序。而JAVA里是用reference的, 所以系统帮你处理了这些问题。当然这里有好有坏, 安全了, 但又失去了某些操控权。

3。 JAVA对data type的限制比C++或者C要严谨, 举个例子, 在C里boolean的data type可以为true/false, 或者0/1, 但在JAVA里只有ture/false, 而0/1不被接受!这里面的障碍就是, 在C++里你可以用原先的int来return一个boolean值, 而JAVA里的这种casting是不允许的。

4。JAVA对变量的默认allocation是dynamic, 换句话说是要在run-time的时候才会由系统给出内存的, 除非你有加static这个keyword, 不然在编译的时候, compiler是不会事先划分内存给变量的, 这个跟C和C++不同, C和C++对变量是static binding, 在compiling的时候就由系统划分了内存给这些变量了。 所以在速度上, C/C++比JAVA要快, 因为是static binding, 而JAVA里的变量都是dynamic binding, 所以默认都是存在heap或者stack里, 相信JVM就是在STACK基础上运作的, 而STACK就是dynamic memory allocation.

以上纯属个人意见, 欢迎指教哦。
发表于 2004-6-24 07:48:22 | 显示全部楼层
这么精啊。。。。
发表于 2004-6-24 07:59:58 | 显示全部楼层
最初由 hantsy 发表
这么精啊。。。。


不好意思, 我这一个星期都在看<<Data Structure and Algorithms in Java>>这本书, 献丑了 :p
发表于 2004-6-27 11:14:33 | 显示全部楼层
将来有机会学java的时候还要向你请教啊!
发表于 2004-7-4 23:05:00 | 显示全部楼层
最初由 小劲鸭 发表
JAVA和C++的语言对比, 我总结如下:

1。 JAVA比起C++更像object-oriented programming, 相信用过JAVA的朋友都知道JAVA都是在一个一个CLASS里定义执行的, 而每个文件可以多过一个main的执行function,只要你有n个class在那个文件里。 可在C++里, 一个文件只能有一个main function。


你把java跟C++搞反了。。。。。。。:mad: :mad: :mad:
发表于 2004-7-5 12:48:56 | 显示全部楼层
最初由 iDay 发表
你把java跟C++搞反了。。。。。。。:mad: :mad: :mad:


没有啊, C++和JAVA比较, 我真的认为JAVA比较像OOP说。。。C++是OOP和POP的结合。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表