zoukankan      html  css  js  c++  java
  • java执行效率低,但效率就低吗?

    很多没用过java或者没怎么用过java的程序员都会说java执行效率低,这种言论时不时的在影响着我这个初级的java开发者。

    java执行效率低因如下几点导致(和C++比较):

    1,java不允许内存地址类型被修改,也不能像C++那样直接给内存地址加偏移量直接操作内存。C++处理内存地址办法确实直接了当,执行效率很高,但是也容易出现bug,java使用对象时,严格遵循类型转换规则。

    2,C++在new对象之后有delete操作符来及时释放内存。java有垃圾回收机制,一段时间后会自动回收不再被需要的对象。这个时差也是效率的体现。

    3,一个指定为有10个成员的数组,写入第十一个成员时C++不会限制这种灵活操作上的错误。程序员没限制,直接操作内存。

    综上所述:java的效率低,因为限制多,带来的好处是错误相对较少。没有规矩,不成方圆,我认为循规蹈矩地开发才是java的思想吧,java把开发者自由开发的部分权限收回了,同时也限制了程序员驰骋内存、底层的梦。

    4,最重要的一点,java程序的执行依赖于jvm(java虚拟机)为桥梁来链接java程序和操作系统,尴尬的是jvm本身就是用C来实现的。java程序的执行首先编译java程序为java class文件,然后经过jvm才能被操作系统执行,而c++编译后直接就能被操作系统执行,执行效率能不低吗!同时这个特点也是java的一个优点:跨平台行性,java class文件可以在任何支持jvm的平台上执行,windows,linux,但是c++代码经过windows编译后就无法在linux系统上面正确执行。

    所以java的执行效率和c++是没有可比性,但是,任何事物都有双面性,执行效率低,不一定就是效率低。总体看来,java也是种很不错的语言。

  • 相关阅读:
    C语言之基本算法24—黄金切割法求方程近似根
    windows下PHP不能开启pgsql扩展的解决方法
    Linux 文件基本属性
    Android倒计时功能的实现
    hdu2444The Accomodation of Students (最大匹配+推断是否为二分图)
    Asp.net core使用IIS在windows上进行托管
    [Asp.net]web.config customErrors 如何设置?
    [Asp.net mvc]Html.ValidationSummary(bool)
    [C#基础]说说lock到底锁谁?(补充与修改)
    [web.config]如何灵活使用配置文件
  • 原文地址:https://www.cnblogs.com/dfdi33/p/5142907.html
Copyright © 2011-2022 走看看