Java 的开发效率究竟比 C++ 高在哪里?

73 篇文章 1 订阅

Java和c++的相似之处多于不同之处,Java吸收了C/C++的优点,但是丢弃了指针等容易使程序崩溃的内容,提升了语言的健壮性。

内存

两个例子,申请变量

Object a = new Object();
void * a = malloc(sizeof(void*));


对于java 来说
因为存在 垃圾收集器,申请的变量,放置在堆还是栈上,其实 可以不用那么在意,只有在做性能分析 , OOM 的时候才有用。
而对于C/C++ 来说

  • 你应该堆你申请的每一个直接都有个清晰的认知,申请一个字节就可以为何申请4个字节,
  • 申请的内存,何时释放
  • 赋值操作导致拷贝,从而发生内存的增加,如何避免 大内存的拷贝。
  • 如果 一个三方库,提供申请内存函数,理论上也会提供 销毁内存的回调,不要忘记调用

总的来说 C++程序员更关注 内存的布局 以及性能对于程序的影响

关于java好用的项目工具

IDE

主流的 Java 开发工具现在非 IntelliJ IDEA 莫属。前几年,可能 Eclipse 还能和 IDEA 一争高下,到了现在已经基本是 IDEA 的天下了。

如果你问我用 IDEA 到底哪最牛,我觉得有 3 点:

  • 代码智能提示,牛!
  • 代码自动生成,牛!
  • 代码调试,牛!

而这 3 点,恰恰就是能极大提高程序员开发效率的 3 点。所以建议做 Java 后端开发的程序员,可以优先考虑 IDEA 作为开发工具。

版本管理工具

对于项目中的代码版本管理工具,Git 已经处于垄断地位了,新项目的话不需要再考虑 SVN、CVS了。

之所以 Git 现在处于垄断地位,主要胜在 2 点:

  • Git 是分布式的,不会因为版本管理服务器崩溃导致完整的代码历史版本丢失。
  • Git 创建分支是非常廉价的操作,可以随意创建分支,从而使并行开发很容易落地。而 SVN、CVS 这些版本管理工具创建分支则非常笨拙,并行开发非常麻烦。

上述第 1 点大大提升了代码资产的安全可靠程度;第 2 点则完美适应当代的敏捷开发需求。也因此,Git 大行其道就不足为怪了。

构建工具Java 项目的构建工具现在是龙争虎斗,业内一般有两个选择:Maven 和 Gradle。

如果是后端的 Java 项目,那绝大部分用的还是 Maven 去构建项目。如果是前端的 Android 项目,则选择 Gradle。Gradle 本身要比 Maven 先进很多:它配置灵活,性能优秀,真的是个非常优秀的构建工具。那为什么在后端 Java 项目构建的时候,大部分用的还是 Maven 呢?

因为Gradle本身太过灵活了,这种灵活带来了两个和后端项目构建特性不太匹配的问题:

  • Gradle 因为灵活,所以用法规则多变,导致学习门槛过高——后端项目本身的构建流程,套路比较死板,变化非常少,所以不需要太多的构建特性、构建规则。也就是说,灵活本身引入的多种用法、规则、特性对后端项目意义不大,为了构建工具本身的使用,去投入时间学习,本身性价比不高。
  • 上面说了,后端项目本身的构建流程是比较套路化的,需要进行一些强约束,去保证这种套路的可靠与稳定。而 Gradle 因为本身比较灵活的配置规则,反而失去了 Maven 的那种强约束,这就很可能因为失去了约束,从而造成团队在使用 Gradle 的时候,出现各种冲突和潜在的错误,造成项目构建的不稳定,这对后端项目来说是得不偿失的。

 

02maven项目构建_哔哩哔哩_bilibili
03maven程序安装_哔哩哔哩_bilibili
04maven仓库类型_哔哩哔哩_bilibili
07maven的常用命令_哔哩哔哩_bilibili

以上有兴趣的朋友可以研究一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值