「java比c的优势」java与c比较

博主:adminadmin 2023-03-19 21:58:09 299

今天给各位分享java比c的优势的知识,其中也会对java与c比较进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用Java 编程与 C 或 C++ 比起来,有哪些好处

Java比C++

好在:

1.Java比C,C++简单,学起来比C\C++容易

2.Java完全对象化,比如数组在Java中是

一个对象,含有length这个属性;而不像C++中数组是一个指针。所以访问数组,Java都会进行边界检查,更安全,但牺牲了速度。同时因为Java

中所有类都会继承Object这个基类,所以可以把几个好不相干的类用基类联系起来,比如放在同一个数组里。

3.Java中没有指针这样不安全(虽然指针速度快)的概念。

4.Java中有完善的内存管理机制,能自动垃圾回收,最大可能降低内存溢出的可能,同时提高编程效率。

5.Java中有完善的异常机制(标准C++中不够完善)。

6.java中保持数据时对象本身是在堆里,同时靠一在栈里的句柄与之连接。这个设计更合理。

由以上几点可见Java更安全。

8.Java标准库完整的多,相比之下C++除了一个STL(而且还超级难用)就没了,实际C++编程中需要大量使用第3方库。这很大程度上是因为Java有一些商业公司支持,更新速度快,而C++只有一个可怜的标准委员会,上一个C++标准版本还是C++98。.

9. Java因为是把程序编译为字节码,运行时需要JVM把字节码再翻译为机器码,所以他跨平台,一次编译到处运行。但这也是他慢的根本原因。

10.Java原生支持多线程(C++仅靠标准库办不到),原生的UI,如AWT Swing

不好在:

1.Java比C\C++慢。Java 1.0 比C慢20倍 现在的Java 1.6运行速度也只是C的一半。

2. C++在继承和派生上比Java更灵活

3. C++ 中可以直接插入汇编 能直接操控底层硬件 所以操作系统还是得用c写

4. Java办的到C++一定办得到,C++办得到的Java则不一定。

5. Sun被甲骨文收购了之后,Java的发展很受影响。

6. C++编译的程序可以直接运行,Java需要安装JRE有几十MB,影响产品发布的用户体验。

最后插一句,Java的一部分优势会随着C++0x的发布有所减弱。

和C语言相比Java编程有哪些优势

c语言与java的区别与各自的优势:(c是面向过程的,java是面向对象的)

1.语言背景:

C语言是在单机时代应用非常广泛,它融合了高级语言的简单易用和汇编语言的执行效率。而Java是在研究电子消费产品开发平台和互联网应用的基础上实现的,它的许多语言特性也是从c语言那里沿用和发展,并且使面向对象更加自然和完善(如安全性和代码的移动性)。

2.语言跨平台:

C语言不可以跨平台,JAVA 是不怕这一点的,因为Java可以跨平台,在windows 和 unix 等系统上都可以很好的运行。

3.指针管理:

指针是c语言最大的优点,它可以使用户几乎可以访问计算机的所有内存资源和其他部分资源(就是指那里打那里)。同时也是c语言程序最难掌握和调试的问题,并且给系统的安全性和稳定性带来很大的困难。 而java中没有指针的概念,尽管也有数组和对象的引用的概念,但它的管理全部交给系统管理,这样限制了用户的资源的访问,但是也给java系统带来安全性和稳定性。JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于Java程序的安全

4.封装

在java中引入了package的概念,使面向对象和面向组件开发更加方便,而在c语言中没有package概念,需要其他方式来实现。Java都能够实现面向对象思想(封装,继乘,多态)。而由于c语言为了照顾大量的C语言使用者,而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了c语言的固有缺陷。

5.数据类型及类

Java是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为。而c语言允许将函数和变量定义为全局的。

6.自动内存管理

Java程序中所有的对象都是用new操作符建立在内存堆栈上, Java自动进行无需内存回收操作,不需要程序员进行删除。而c语言中必须由程序贝释放内存资源,增加了程序设计者的负扔。Java中当一个对象不被再用到时,无用内存回收器将给它加上标签以示删除。JAVA里无用内存回收程序是以线程方式在后台运行的,利用空闲时间工作。

7. 字符串:

C语言不支持字符串变量,在c语言程序中使用Null终止符代表字符串的结束,在Java中字符串是用类对象(strinR和stringBuffer)来实现的,这些类对象是Java语言的核心!

Java没有函数,作为一个比c语言更纯的面向对象的语言,Java强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。

Java比C的优点有哪些?

java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。

java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。

手机用到的是用j2me所编出来的小程序。

JAVA比起C语言有哪些优势?

1.Java面向对象开发语言2.强大的网络开发能力3.分布式开发4.平台无关性5.具有很强的安全性和可靠性,去掉了C语言中的指针;Java目前已经在大型网络数据库中发挥了重大作用但主要开发B/S(浏览器/服务器)结构因此对于一些中小型的基于C/S(客户端/服务器)结构数据库应用并不适合;对硬件要求高;开发率低下等。 2.C语言高级编程语言;1.简洁紧凑、灵活方便。2.运算丰富。3.数据结构丰富。4.结构式语言。5.语发不太严格,社计自由度大。6.直接访问物理地址,可以对硬件进行操作因此既具备高级语言功能又具备低级语言的许多功能。7.与Java对比起来执行率较高。

Java和c语言间的差距 谁更有优势

对于很多初学者来讲,不太清楚Java和C语言的区别,为了让那个大家更清晰的了解,近日特意给大家归纳了一些两者的大致区别,希望能够给大家带来一定的帮助作用,也欢迎大家进行详细补充和归纳。

首先,Java是针对于对象的机制,运算符“new”为每个对象分配内存空间,实际内存会随程序的运行而发生改变。在运行的同时每个Java系统会对内存进行扫描,会对整个系统资源进行“采集”。这个时候一部分的垃圾文件就会被删除或者暂时回收。这样就使得整个系统资源就使用的更加充分合理,程序员对于这点就不需要担心系统内存方面的一些管理要求,在编写程序的时候也就变得更加的简洁明了。而c语言则是通过malloc()和free()这两数据库函数来分别实现对于的内存的分配和内存的合理运用。

其次,C语言更多通过子函数调用,Java通过类和类引用,同时拥有非常多的接口。Java面向对象特征主要表现为封装,继承和多变,C语言支持“运算符的重载”,这个是数据抽象和泛型编辑的一大宝典。Java本身为了降低复杂性而不支持这种多变机制,对于Java可以支持方法重载和重写。

另外,Java比C语言多了一些修饰“Public、Private、Protected”都是一些比较常用的修饰符,而C语言没有这类的修饰语言,换句话的意思就是C语言还缺乏一定的安全性。

再者,Java不使用指针,但是指针是C语言的精髓,然而Java中更多的是对数据每一位的操作,比如substring等。

总结来讲,Java与C语言相比,Java具有简单、面向对象、分布式、健壮、可移植、解释性、安全、多线程、垃圾回收等等特点。而对于C语言则是一个比较宏观的领域,因此Java可以说是C语言的基础上开设,即C语是基石,Java在时下的运用和使用方面就比较全面。

java比c的优势的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java与c比较、java比c的优势的信息别忘了在本站进行查找喔。