㈠ java是c语言还是C++编写的
java是C++编写的。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
java工作原理由四方面组成:
(1)Java编程语言
(2)Java类文件格式
(3)Java虚拟机
(4)Java应用程序接口
当编辑并运行一个Java程序时,需要同时涉及到这四种方面。使用文字编辑软件或集成开发环境在Java源文件中定义不同的类,通过调用类中的方法来访问资源系统;
把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的Java API调用。
㈡ 既然JAVA这么底层,为什么还需要C和C++语言
不依赖操作系统的程序才是最上层的程序,cpu的汇编码还有芯片要求那,你能说他过时??没这个一切都没了,能跨平台是因为他站的太高,抬个腿就过去了,单你却忽视了在他下面的程序是什么开发的,你只知道有虚拟机就能用java ,虚拟机下面还用东西,不是直接占到硬件上的。。。所谓的不依赖操作系统是只是代码不依赖,因为他们的编译代码是中间代码,并非机器码,在运行时才编译成机器码。。。。。
不是所有程序都需要跨平台,比如你玩个魔兽争霸你还要支持手游吗,用java 通常是由跨平台需要,如果没有这个需要,那就会有其他方面考虑,其他方面的优势java未必有,很多软件开发都有需要大量第三方组件,如果java缺乏这些东西,或者效果不好,自然不会用。。。。还有即使一些低端CPU系统非常简单,就不可能去支持虚拟机,甚至连系统都没有,这些程序谁开发。。。微软公司对windows进行优化难道要靠java吗???
编程出发点不同罢了, java不可能取代c和c++ ,就像裁缝不能取代厨子一样。。。。。
还有c++,c只是一种语法,不支持跨平台是因为编的是机器码,如果你做个编译器能把他编译成java的中间码,为什么不能跨平台。。。
㈢ javac与java的区别
javac用来编译java文件,java用来执行。
1,javac命令用来编译java文件,例如编写一个Test.java文件,使用javac Test.java可以执行编译操作,将生成一个Test.class文件。
2,java命令可以执行生成的class文件,使用java Test可以执行编写的代码。
㈣ c c++ java的区别
C语言
C语言的优点:
1.简洁紧凑、灵活方便
2.运算符丰富
3.数据结构丰富
4. C是结构式语言
5. C语法限制不太严格,程序设计自由度大
6. C语言允许直接访问物理地址,可以直接 对硬件进行操作
7. C语言程序生成代码质量高,程序执行效 率高
8. C语言适用范围大,可移植性好
9. C语言有一个突出的优点就是适合于多种 操作系统,如DOS、UNIX,也适用于多种机型
10.有效地将一个较复杂的程序系统设计任 务分解成许多易于控制和处理的子任务,便 于开发和维护
C语言的缺点:
1. C语言的缺点主要是表现在数据的封装性 上,这一点使得C在数据的安全性上做的有 很大缺陷,这也是C和C++的一大区别。
2. C语言的语法限制不太严格,对变量的类 型约束不严格,影响程序的安全性,对数组 下标越界不作检查等。从应用的角度,C语 言比其他高级语言较难掌握。
3.可重用性差
4.数据安全性差
5.难以开发大型软件和图形界面的应用软件
6.把数据和处理数据的过程分离为相互独立 的实体
7.当数据结构改变时,所有相关的处理过程 都要进行相应的修改
8.每一种相对于老问题的新方法都要带来额 外的开销
9.图形用户界面的应用程序,很难用过程来 描述和实现,开发和维护也都很困难
C++
C++优点:
1.可扩展性强
2.高效 简洁 快速
3.可移植性
4.面向对象的特性
5.强大而灵活的表达能力和不输于C的效率
6.支持硬件开发
7.程序模块间的关系更为简单,程序模块的 独立性、数据的安全性就有了良好的保障
8.通过继承与多态性,可以大大提高程序的 可重用性,使得软件的开发和维护都更为方便
C++缺点:
1.比较底层,易用性不是很好
2.多重继承和友元机制
3.标准库涵盖范围不足
4.开发周期长
5.非并行
6.掌握有难度
7.粒度封装不够
Java的优点:
1.简单性
2.面向对象性(面向对象的程度可以达到 95%)
3.健壮性
4.跨平台性
5.高性能(自动垃圾回收机制)
6.多线程
7.动态性
8.安全性
Java的缺点:
1.效率低(毋庸置疑)
2.跨平台是它最大的优点也是最大的缺点
3.复杂性(做一个项目需要很多的知识,涉 及面广)
㈤ C与Java的区别
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()函数释放空间。
总的来说,Java比较容易上手,学得快,但对于了解编程语言来说帮助不如C大。
当然Java和C之间的区别还有很多很多。
反正就各有各的优势啦,C一般负责底层 java这就是应用程序
㈥ 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()函数释放空间。
㈦ Java和C + +有什么区别
差别很大,c是典型面向过程的编程语言,java是完全面向对象的编程语言。
㈧ JAVA开源是什么意思标准C和C++是不是开源的
一种语言有很多实现。你说的是sun公司的java,其他公司也有java的版本,比如ibm,还有gnu的Java。 语言本身是一种标准,没有开源不开源的说法,除非大家有种默认的说法。例如如果没有特指其他的java,java自然直sun公司的java。
开源指的是语言的实现是开源的。比如c,有turbo c,源代码不公开的,就不是开源的。但是linux下默认的gcc是更符合c/c++标准的一种实现,同时也是开源的。而微软的各种c/C++实现(visual c++)就不是开源的。
如果某种语言所有的实现都不是开源的,那它就不是开源的。例如C#过去可以认为它不是开源的,因为仅有的实现visual c#不开源。但c#是一种国际标准,如果有能力谁都可以做出自己的实现,像现在有了Mono project,它是一个开源的c#实现,甚至可以在linux下用。
强调的是,不是说只要公开就是开源,实际上还有其他版权的一些条款,你必须符合某种开源的版权。还有不是说开源的你就可以随便用了,有很多开源产品都有类似“强盗”的条款:粗略地说,只要你用了它的代码,你的代码也必须开源,否则就侵权了。如果做商用,必须仔细看你用的每一个开源库的版权声明,看是否要求你也开源。
㈨ 详细的比较一下Java和C/C++的优劣
1. c是面向过程的语言。c++和Java都是面向对象的。在c中没有类或者对象的概念。
2. java运行在虚拟机上,号称与平台无关。也就是你开发的java程序无论是unix,linux还是windows都可以正常运行。但是实际上这是一个良好的愿望,实际跨平台时还会有各种各样的问题。c和c++都是直接编译成可执行文件,是否能跨平台主要看你用到的编译器特性是否有多平台支持。
3. 因为c和c++是直接编译成可执行文件,所以运行效率要比java高。至于c和c++哪个更快,两种语言的拥趸已经吵了很多年。
4. java因为是运行在虚拟机上,不需要考虑内存管理和垃圾回收机制。也是就你可以声明一个对象而不用考虑释放他,虚拟机帮你做这事情。而c和c++语言本身没有多少内存管理的概念,写c和c++程序如果用到指针就一定要考虑内存申请和释放。内存泄漏是c和c++最头疼的问题。
5. 代码重用:java中有一个根类object,所有的类都是其子类,通过这种方式将容器和算法分离,实现一种操作作用于多种对象,提高代码重用。c++中没有总根对象,但是c++提供了另一个更强大的功能“模板”,同样高效地实现了一种操作作用于多种对象,提供了高效的代码重用方法。
6. 数据结构:java内建了丰富的数据结构:列表,集合等等(很久没用java了,有些记不太清)。而c++则用“模板”同样提供了各种数据结构(容器)。
7. c语言在一些比较低层,和硬件打交道的地方用得比较多。另外很多开源软件由于unix/linux开发习惯也大多采用c来开发。Java是现在最流行的开发语言,c++比起java稍稍不那么流行一些,但是功能很强大。如能深入掌握,可以写出兼顾效率和美观的优秀代码。
㈩ java在c/s开发方面是不是特别烂几乎没人用
术业有专攻,java的优势就是WEB,为何要纠结在C/S上?也没人要求你用java做CS的东西吧(除非你是在做老师安排的作业)。所以如果你想做WEB,JAVA完全能够做到最好,如果你是想做CS的,可以考虑.NET。