咨询下java跟C/C++区别 java编写出来的程序是要有java虚拟机才能运行的,java虚拟机把java语言解析然后运行,但是C/C++是把代码编译成汇编语言,那是不是对于系统底层的修改或者应用,java就没有C/C++强?例如在vista跟win7的音量控制里面,可以是控制每个程序的音量,xp下没有这个功能,如果要编写一个这样控制每个程序音量的软件,java能写出来吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没错,你理解的很对Java的长处是跨平台,通用的代价就是不能依赖底层特别的API。不够Java可以通过JNI方式调用Native库,所以没有绝对的做不到。 xp下系统本身不能分别调节每个程序的音量,但是有个这样的软件,不过我用过,经常报错推出,因此想知道java能不能编写出一个这样的程序,不知道这个程序调用的算不算系统底层的API呢? Java内存管理由JVM负责,容易但耗内存,不灵活C++内存手动回收Cache系统用Java做效率会很低 不能!Java 无法对其他应用程序进行控制,也无法修改操作系统上的设置。如果用 JNI 调用本地 library 的话,那还不如直接用 C++ 写这样的程序。 我目前觉得最核心的差别是多了一层JVM而已,JVM就好像你上厕所用C++的话,你就要自己冲厕所用JAVA就是有红外线的厕所,你人一走他就会帮你冲还有就是你想命令一个人做一件事,在俄国说俄语,在英国说英式英语,在中国说chiglish,在美国说美式英语,你在不同机器上,说的语言的语法会有区别,他会先帮你转为标准的英语,这样你无论去哪里都行,无论你讲什么英语都行 C++就是底层开发的,JAVA优势在网络 如果是java控制音量,理论上是可以的。windows里有相应的API,通过native调用,应该可以 7楼的比喻有点意思,不过下边好象颠倒了,应该是我们只说标准的语言,不同的平台的翻译工作就由Java代劳了 控制Windows程序的音量?如果你的程序和特定平台绑定,只运行在某个操作系统上,没有任何理由使用Java做这样的程序。而且分发Java程序,还需要考虑客户端是否安装JRE这些琐事。 java是完全面向对象的,C语言是面向过程的。java与平台无关,即可以在不同的平台上都可以稳定的运行。而C语言,就不可以。简单的说,C语言的int类型在不同平台占用的空间是不一样的。这就导致了他不能移植。 C++的内存不好控制,Java有垃圾回收器。Java可以跨平台。c++不可以。Java比C++安全。 求助帖,关于线程,socket,sigar 我的java程序提示无法访问的语句 一个很奇怪的环境问题 请教 equals 和 compareTo 有区别么 面试题 jsp做服务器端,.net做客户端的应用程序,能够实现吗? ========很简单,但我不明白......======== 怎样看到头像? 关于<<thinking in java>>中的interrupt()例子 请教我的rs.getRow()出错? 我想做个调查,有关报表? 匿名类产生的..$1.class文件
不够Java可以通过JNI方式调用Native库,所以没有绝对的做不到。
C++内存手动回收Cache系统用Java做效率会很低
不能!Java 无法对其他应用程序进行控制,也无法修改操作系统上的设置。如果用 JNI 调用本地 library 的话,那还不如直接用 C++ 写这样的程序。
多了一层JVM而已,
JVM就好像你上厕所
用C++的话,你就要自己冲厕所
用JAVA就是有红外线的厕所,你人一走他就会帮你冲
还有就是
你想命令一个人做一件事,
在俄国说俄语,在英国说英式英语,在中国说chiglish,在美国说美式英语,你在不同机器上,说的语言的语法会有区别,他会先帮你转为标准的英语,这样你无论去哪里都行,无论你讲什么英语都行
java与平台无关,即可以在不同的平台上都可以稳定的运行。而C语言,就不可以。简单的说,C语言的int类型在不同平台占用的空间是不一样的。这就导致了他不能移植。