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


    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

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

  • 相关阅读:
    C语言进阶——指针进阶试题讲解(万字长文详解)
    C语言 数据结构与算法 I
    Spring 注入静态@Value值
    2月21日,每日信息差
    计算机操作系统 第四章 存储器管理(3)
    不科学,RocketMQ生产者在一个应用服务竟然不能向多个NameServer发送消息
    安卓手机APP开发___设置闹钟
    React+后端实现导出Excle表格的功能
    有没有免费的视频剪辑软件?快来看看这些视频裁剪软件
    [附源码]Python计算机毕业设计Django数字乡村基础治理系统
  • 原文地址:https://blog.csdn.net/m0_57290404/article/details/126619413