另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。具体原因是,Java是解释型语言,所有代码都会翻译成统一的、与系统无关的bytecode,然后放到JVM上运行;而C是编译式语言,代码要先通过编译器转换成与系统相关的中间代码,然后才能运行。
再一个不同是,Java不支持系统调用,既无法与操作系统进行交互,这是由它跨平台的特点决定的,而C则可以调用系统中的指令,如fork()。这也就是为什么Java中只有线程(Thread)概念而没有进程(Process)概念,而C两者均有。
再者,Java无法对内存进行控制,而C则可以通过指针对内存进行人为分配。
还有一点,Java有Gabbage Collection机制,可以自动回收不再使用的空间,而C则要用free()函数释放空间。
JAVA是纯面向对象的语言!Java
一般用于应用级软件,
C语言是面向过程的语言,一般用于最底层的编写,
只要是程序语言都是相通的,只是他们的表达形式不相通而已!手机上的代码也有C,c++,java
等,但是手机上的应用程序大部分都是Java
,就是J2me,而手机系统很少是用Java写的,主要是Java不是那种强烈追求性能的语言,而手机的内存一般都比较低,一般较常用的手机系统大部分都是基于C
或者C++,
比如最常见的塞班系统就是SYMBIAN
C++;而android系统是C语言!