C++跟java比,运行效率高在哪里java相比C++,除了开发效率以外还有哪些优势吗
1,执行效率的问题。这个归根结底是因为每句话执行的过程比较短。就好比买东西,c++是自己直接去超市拿。java的话呢,就是先告诉售货员,然后售货员去拿。所以c++会快一些。但是现在硬件性能往往过剩,所以其实在很多方面,区别并不太大了。2,开发效率的问题。说开发效率高也得看在什么情况,一概而论是不恰当的。在我的理解就是Java应用某些特定场景的轮子比较多,所以在这些场景下开发效率就会高。说白了就是站在巨人的肩膀上。现代的c++其实也是一样的,如果只用面向对象的方式去编程,写起来跟Java差别不大。当然我个人接触Java不太多,有说的不对的欢迎指正。
■网友
想起来都是吐槽,我只能说我偏题了,我平常用C更多,觉得几个麻烦的地方,其实C++类似:
1. 字符串, 我平常更多用C, 你要写很多代码防止溢出, 写函数要多传长度参数, 要写代码处理缓冲区长度不够的问题, 要检查返回值 ... 不能不说用C++好很多了, 但是std::string还是有很多缺点
2. 好库太少, 其实不要太苛求,不要太洁癖的话, 好用的库还是有一些的。 比如要用一个hash, 找了几个库看代码觉得不好, 于是问同事推荐, 他推荐了一个知名的开源通信库, 进去代码一看, 里面的hash是常见的二维链表方式的, 但是:
1. 为啥数组 hash table 要保存链表头指针还要加上 key-value 对? 这样不是很浪费内存吗?
2. 为啥求余居然用 %1024 %2048 这样的数值, 这不是很容易hash冲突的? 不应该用质数吗?
3. 每次新增一个key-value, key-value pair对要malloc出来, 然后key也要单独malloc, value也要单独malloc, 这样我添加一个元素还得 malloc 3 次, 多线程环境下好慢的! 说不定还不如直接遍历搜索呢!
其实我也知道这都不是太大的问题,因为内存啊速度啥的都不是瓶颈,但是就是想起来就不舒服斯基, 最后觉得反正也不是很复杂的东西,要不还是自己写吧。
【C++跟java比,运行效率高在哪里java相比C++,除了开发效率以外还有哪些优势吗】 写java就没有这个问题, 反正大部分东西系统都做好了给你,既不用去费心选库,啥性能什么的你能操心的地方也不多,你爱用不用。
■网友
C++相比于Java,更接近底层空间。同时,C++的编译器很强大,做了很多存储和语法上的优化。个人感觉。
推荐阅读
- #医保云#备案报销手机搞定 看病买药“一码通行” 江苏医保云平台上线试运行
- 「降雪」目前江苏全省道路运行基本顺畅 降雪持续
- 京哈高铁北京至承德段进入运行试验阶段
- 「淮镇段」连淮扬镇铁路全线贯通在即 淮镇段再次试运行
- |受检样品全部为阴性 高新区冷链食品集中监管仓运行良好
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- Java工程师和C++工程师在工作上有啥区别哪个更适合自身发展
- 笔记本在运行大型单机游戏时断开电源会造成啥伤害吗
- 27岁,转行java的血与泪,该何去何从
