Java和C的区别
Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。
另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。具体原因是,Java是解释型语言,所有代码都会翻译成统一的、与系统无关的bytecode,然后放到JVM上运行;而C是编译式语言,代码要先通过编译器转换成与系统相关的中间代码,然后才能运行。
再一个不同是,Java不支持系统调用,既无法与操作系统进行交互,这是由它跨平台的特点决定的,而C则可以调用系统中的指令,如fork()。这也就是为什么Java中只有线程(Thread)概念而没有进程(Process)概念,而C两者均有。
再者,Java无法对内存进行控制,而C则可以通过指针对内存进行人为分配。
还有一点,Java有Gabbage Collection机制,可以自动回收不再使用的空间,而C则要用free()函数释放空间。
1、C语言代码不易跨平台,java代码易于跨平台;C语言可以直接操作内存,java不能直接操作;C语言可以封装动态库,java不起作用。
2、Unix和Java都是用C语言编写的;C语言做单独的功能,可以提高效率,java适合Web应用程序开发;JAVA做网络开发的时候,已经有很多成型的框架技术,C语言很少,且需要处理底层内容,对不熟悉计算机原理的开发者来说使用难度很大。
3、C语言的安全性不如Java高,C语言没有Java垃圾收集机制,需要手动释放应用程序的空间。Java具有良好的通用性,只要安装了Java虚拟机(JVM),就可以跨平台直接移植。
资料拓展:C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。
更多关于java和c语言的区别,进入:https://m.abcgonglue.com/ask/fc8d901616110226.html?zd查看更多内容
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!