问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么语言能完全取代Java同时具备C++的所有优点?

发布网友 发布时间:2022-03-01 04:03

我来回答

2个回答

热心网友 时间:2022-03-01 05:32

C++和java都是很棒的语言,套用一句李连杰的话就是:

语言本身没有优劣之分,但程序员有强弱之别。

1、在内存管理方面

在这方面我更欣赏java,也认为这是java比C++更易用的重要原因。C++的用户自己管理
内存和灵活的指针用法往往让用户为了一个内存问题而调试好几天。让用户自己释放内
存使得用户必须非常小心,在程序有多个出口或指针被多个线程或被多个容器拥有的情
况下,何时能安全的释放内存都必须非常谨慎的,而且还要保证在程序的各个出口都保
证不内存泄露,这简直就是噩梦!智能指针能解决一些问题,但他带来的问题同样很多
。java的自动垃圾收集简直就是一大解脱!

2、在多线程编程方面

多线程编程大大增加错误的随机性和破坏了接口的“抽象”,要在C++中设计好一个多线
程程序往往不是件轻松的事情。所以我更欣赏linux/unix下以多进程为主的编程手法。
java用“同步方法”来解决同步问题使得多线程异常简单(相对于C++),但在多线程方
面我更喜欢C++,因为java的方法虽然简单,但太过小儿科了,带来了两大弊端:

1)java采用了锁住整个对象的粗粒度多线程同步控制,而C++可以用更细粒度进行控制
。java采用的方法是这样的:类A,类中有成员变量m1、m2,为了保护成员变量,将类A
中所有访问这两个成员变量的成员函数设为synchronized,当某个线程T1调用了类A对象
(记为obj)的synchronized方法时线程T1将锁住整个对象obj,此时若另外一个线程T2
调用obj的synchronized方法(不一定和T1调用的那个方法是同一个方法)将阻塞(若T
2调用了obj的非synchronized方法不会被阻塞),直到T1调用完synchronized方法为止
。这种锁住整个对象的做法显然简化了实现,控制不够精细。例如,若T1调用了obj的一
个只访问m1不访问m2的方法,由于T1锁住了整个对象obj,导致了T2若调用obj的只访问
m2而不访问m1的方法也会阻塞,这显然不合理的。而且能造成重大的性能损失。

2)java采用锁住对象的方法来实现同步在很多情况下也不合理。因为要同步的资源往往
不是类的私有成员。如我们要同步的资源是某个文件A,在C++情况下,给A配把“锁”即
可,而java会锁住访问文件A的对象,这就要求所有线程都只能创建一个对象供所有线程
共享使用,否则不同的对象就可以同时访问文件A了,同步防护失去了意义。这就带来很
大的不便,需要程序员自己注意不要在别的线程中也new出一个对象来。

3、在网络编程方面

在这方面-java-是靠网络起家,网络编程在java下特别简单。而用C+
+来写网络程序实在是麻烦了。
--

热心网友 时间:2022-03-01 06:50

什么人能具备机器人的能力又同时具备人类的智慧呢?
什么语言能完全取代Java同时具备C++的所有优点?

1、在内存管理方面 在这方面我更欣赏java,也认为这是java比C++更易用的重要原因。C++的用户自己管理 内存和灵活的指针用法往往让用户为了一个内存问题而调试好几天。让用户自己释放内 存使得用户必须非常小心,在程序有多个出口或指针被多个线程或被多个容器拥有的情 况下,何时能安全的释放内存都必须非...

python编程软件简介(常用python编程软件)

Python本身被设计成具有可扩展性,它提供了丰富的API和工具,以便开发者能够轻松使用包括C、C++等主流编程语言编写的模块来扩充程序。就像使用胶水一样把用其他编程语言编写的模块粘合过来,让整个程序同时兼备其他语言的优点,起到了黏合剂的作用。正是这种多面手的角色让Python近几年在开发者世界中名声鹊起,因为互联网与移...

go语言与java的区别(go与java)

Go的标准库已经非常稳定,lib库也在不断地扩充和完善中5.部署方便(基于C语言的特性是的Go语言的二进制文件可以运行于任何一种操作系统,天生的跨平台特性,更优于Java)Go语言作为一个新兴的编程语言,因其最初的商业开源的特性,有Google的加持,加上现在区块链技术中Go项目所占比例逐渐增加,因而在...

c和c++和c#之间的关系是什么?

C++是完全兼容C的一门具备面向对象特点的语言,使得C的领域从系统级别,横跨到应用级别,覆盖领域更加广泛。C++同时延续了C的全部优点(具备面向过程和面向对象特点、编程本质掌握程度深)。C#是微软研发的基于C特点的一门类似于Java的编程语言。其中C#有很多C语言的影子。C#是一门专注于windows平台开发应用...

kotlin能取代java吗的最新相关信息

除了JAVA本身的强大之外,还有一个原因在于,JAVA与C#语言,几乎是一模一样的。只有非常细微的差别,不仅语法一样,而且连编程思想都一样。只要掌握其中一门,完全可以在几天之内,无师自通另外一门。然后就可以对照api文档,去开发另外一门语言的程序了。所以学习JAVA的一大亮点就在于“学一门,会两门...

Java, C, C++, Python 语言各有什么优点,学哪门语言更强大,更有...

Java:面向对象,开源,不说跨平台了哈,恶心;不直接支持硬件级别的处理等。C/CPP:C面向过程,CPP面向对象(部分比较怪异),分裂比较严重,支持硬件级别的处理。ptyhon:动态解释型,开发效率高,开源,灵活,入门低。上面只是简单的说了下一些比较明显的特点。你问哪门语言更强大,我不知道,都很强大...

php语言是什么(php是什么编程语言)

PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP...

C++能像java和C那样作为机器语言吗?

C++可以说是对C的扩充,具备C语言的特性,可以进行底层编程,从这方面来说,C++的控制范围要比java要大,但是其语言本身过于庞大,不适合进行嵌入式编程,所以嵌入式目前使用较多的是C或java,C++目前可以结合MFC类库开发windows下的桌面应用程序或用于网络 ...

开发人员希望使用的六种脚本语言

许多编程语言可以很容易地写一些小东西 再扩展成一个较大的应用程序 但当软件需要变成一个真正的有强大逻辑结构的库时 问题就来了 F#就可以让你做得很好 你可以从简单的(就像使用动态类型语言如Python或Ruby那样)开始 最终完成一个非常强大的程序(如同C #或Java ) F#的关键益处是做到过渡完全流利而无...

php有什么作用(php%的作用)

PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。 PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比。 PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多。 PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。 PHP支持几乎所有流行的数据库以及操作...

C语言是什么语言 autoC语言 charC语言 flagC语言 breakC语言 absC语言 systemC语言 C++语言 whileC语言
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
招行从工行柜员机上给异地的农行卡转钱手续费多少??? ...跨行转账给农行的卡啊?如果能转手续费大约是多少? ...的工行卡上的钱转到农行卡上,怎样转手续费才最少,两张卡是同地_百 ... 运行gpedit.msc 提示windows找不到文件'g 工行转农行用什么app 工商银行卡的钱转入农行卡 汕头好玩的地方推荐 汕头有什么好玩的旅游景点 海丰爬山的地方推荐,汕尾海丰旅游推荐景点 北流旅游观光 北流市博物馆管辖隶属 哪种语言有替代Java的可能性? 以下十种编程语言能在未来替代 Java 和 C 语言么 茶叶蛋怎么做的 软考证书超过规定的领取时间很久还能不能领? 请问华为认证对于找工作有没有帮助阿?? 华为的hcnp属于技术任职资格吗? 通过了国家的软考(网络工程师)还有必要考华为认证,思科认证,微软认证吗? 淮安市人文,民俗,特产是什么 介绍淮安的一种特色小吃 500字作文 淮安有什么特色美食呢? 淮安市人文、民俗、特产是什么? 介绍淮安特产的作文七百字 请问如何调节冰箱温度? 职称证书是什么 请问职称证书是怎么确定的? 电子商务师在哪报名啊 JAVA中堆和栈 亲身经验告诉大家PMP证书到底有没有用 一直做项目管理工作几年了,需不需要去考个PMP认证 项目经理必须考pmp认证 Java的活力还能有多久 最有可能成为替代java的语言会是什么 java语言可以做什么? java有哪些技术上的优点?比其他语言好在哪儿? java语言有什么优势 流行的java语言有什么优点 常州特产 常州的特产是? 常州的特产是什么东西 介绍常州特色的作文 常州的饮食文化和常州的特产及介绍 闽南的特色小吃有哪些?? 福建泉州特产 福建特产介绍 福建特产有哪些 福建特产食品有哪些 泉州有什么特色小吃? 我想学C语言编程下载哪个编程软件好? 请问最好的C语言编程软件是什么? 现在都有什么c语言编程软件,哪款好用? C语言编程软件用什么好? 学C语言用哪个编程软件最好? 急