刚打开iteye就看到这个标题“Java什么时候比C++快”,觉得很好笑。
你要比,就比同等水平的基础上的相比,笨蛋写得C代码和C++代码,去和高手写的Java代码比效率,有什么意义呢?
我是写密码算法的,深刻知道算法C和C++实现和Java实现之间的效率差,甚至也比对过C代码和汇编代码的效率差,计算机是个死的东西,再怎么优化,Java也就是和C效率相当,也没有见过超越C的(是否能超越C++?)因为Java上的优化,C和C++也可以照做。
Java是成也GC,败也GC,不担心内存泄露是好事,但是大量垃圾不能及时回收,或回收大量垃圾带来的卡顿非常糟糕,这都是见仁见智的一些点。
但是存在一种场景,就是一个软件、一个程序中,计算不是最主要的效率影响因素,很大部分的运行时间消耗在网络IO、磁盘存取、人机交互等等地方,这样的情况下,Java实现和C/C++实现,总体效率是差不多的,因为再快的计算也被这些环节抹平了。这时候,Java易上手的优势就体现出来了。这才是Java的优势。
Java的优势在于OO,面向对象的分析和设计,以接近人类的理解模式和思考模式来设计程序。运行效率不是Java的首要目的。在提供了大量好用的API和拥有大量的开源组件后,在”一次编译,到处运行“这一目标大致实现后,开发效率比运行效率更加吸引人们的注意力。
相关推荐
首先,Java的语法相对简单,尤其与C和C++相比,它去除了指针的概念,这使得初学者能够更容易地理解和掌握。Java的自动垃圾回收机制也是一个显著优点,它减轻了程序员管理内存的负担,降低了程序出现内存泄漏的风险。...
谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel在网络上被称为天才的...
Java的接口和C++的虚类都是面向对象编程中用于实现多态性的关键概念,但它们在设计和使用上有着显著的区别。这篇文章将探讨这两者的相同点和不同点,帮助开发者更好地理解和应用这两种机制。 首先,让我们来看看...
【面向对象语言C++与Java的区别】 随着信息技术需求的不断变化,计算机语言经历了从机器语言、汇编语言到高级语言的演进,直至现代流行的面向对象语言。在面向对象编程领域,C++和Java是最典型且广泛使用的两种语言...
### 浅谈Java语言评价胜出的8大技术优势 #### 1. 强大的API支持 Java提供了非常丰富的API支持,包括网络编程中的Socket API、数据库操作中的SQL API、图形用户界面的Swing和AWT API等。这些API不仅功能强大而且...
3. 自动化内存管理:Java提供了自动的垃圾回收机制,这意味着程序员不需要像在C或C++中那样手动管理内存。这减少了内存泄漏和其他与内存管理相关的错误,同时简化了开发过程。 4. 强大的标准库和第三方库支持:Java...
"浅谈Java的发展及前景" 经过对文件的分析,我们可以从多个角度来谈论Java的发展及前景。 首先,从Java的发展历史来看,Java是由Sun Microsystems公司于1995年5月推出的面向对象的程序设计语言。Java的出现标志着...
Garbage Collection技术在Java中已经比较成熟,但是在C++领域的发展并不顺畅,虽然很早就有人思考在C++中也加入GC的支持。 2.3.1 内存泄漏的定义 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中...
例如,IBM在全球范围内投入大量资源进行Java研发,Intel则致力于开发Java芯片,数据库厂商如Oracle、Sybase等纷纷提供对Java的全面支持,系统集成商和网络设备供应商也纷纷推出基于Java的产品和服务。 Java的版本...
浅谈高职高专Java基础教学 Java 语言是高职高专教学中的一门重要课程,然而由于学生的整体水平和层次相对较低,学习的主动性和自觉性较差,使得教学工作变得非常困难。因此,笔者结合教学经验和思考,总结了个人的...
Java反射技术浅谈 Java作为一种广泛使用的编程语言,它的设计目标之一是提供一种灵活的编程方式,使程序能够在运行时识别和操作对象。为了实现这一目标,Java语言引入了反射机制,使得开发者能够动态地探索和操作...
谈一下C++的字符串:C++提供两种字符串的表示:C风格的字符串和标准C++引入的string类型。一般建议用string类型,但是实际情况中还是要使用老式C风格的字符串。 1.C风格的字符串:C风格字符串起源于C,并在C++中得到...
在国内IT界,不谈Java--会有千万人跳出来和你争嘴。越是不心看到在这个领域被国外的同行越落越远。 接触Java也仅仅是在作毕业设计时用过。对Java也算是有了基本的了解,那时的Java才jdk才1.0,烂得很,连些基本能都...
内不谈java--会有千万人跳出来和你争嘴的。 越是如此,我越是不忍心不说出来,越是不不忍心看到在这个 领域被国外的同行越拉越远--在硅谷的感受。 我是96年毕业的,正值java刚出,火气冲天之时。 我当时是一名C++...
国内不谈java--会有千万人跳出来和你争嘴的。 越是如此,我越是不忍心不说出来,越是不不忍心看到在这个 领域被国外的同行越拉越远--在硅谷的感受。 我是96年毕业的,正值java刚出,火气冲天之时。 ...
本篇文章将基于“经典之谈——Java内存分配”这一主题,结合“详谈Java的内存分配.pdf”文档,深入讲解Java内存的各个方面。 首先,Java内存分为几个主要区域,分别是:程序计数器(Program Counter Register)、...
浅谈人工智慧 电脑游戏中的人工智能制作 棋类编程 部分1: 开始 棋类编程 部分2: 数据结构 棋类编程 部分3: 产生移动 棋类编程 部分4: 基础搜索 棋类编程 部分5: 高级搜索 棋类编程 部分6: 评估...
虽然早期的JAVA程序因为解释器的存在在性能上稍逊色于C++等编译型语言,但随着Just-In-Time(JIT)编译器的发展,JAVA程序的运行效率得到了显著提升,甚至在某些情况下可以超越C++。JIT技术能够动态编译和优化代码,...
回顾历史,计算机语言有着一个漫长的...在整个发展过程中,出现了非常经典的c 语言,史上最为强大的c++语言等 等,它们在各自不同的应用领域中都占有相当重要的地位,而该文要论述的则是最近几年比较热门的java 语言。