Java语言为何经久不衰,受人追捧?

C++的产生让面向对象的思想更有利于我们去解决问题,弥补了C的面向过程的缺陷。

那么Java语言的产生又是为何呢?首先java也是采用面向对象的思想,但又不等同于C++,java摒弃了一些C++难以理解和应用的东西,比如摒弃了指针。

但最最最重要的是java的“一次编写,处处运行”的特点。不管是C语言还是C++,用它们编写的代码编译成的机器码都是只作用某一个特定的运行环境,比如某个CPU。当换一个环境或换一个CPU的时候原来的代码要有很大的变动才能正常作用。这显然很麻烦。

特别是在网络时代,有不同的设备联网,不同的操作系统,有了java语言就可以在不改变代码的情况下在这些不同的运行环境下正常运行。

但前提是机器要装有java虚拟机(jvm),因为java代码编译的时候并不是编译成机器代码,而是字节码这种中间代码。JVM负责把字节码边运行边解释成适合的机器码,保证了正常运行。

当然,java还有如安全性、多线程、动态等等优秀的特点,在此不再累赘。

以上是个人学习心得,欢迎指正。

java语言与c 的区别_Java语言的特点以及与C、C++的区别相关推荐

  1. java语言保留结构和联合_Java 语言中取消了联合概念,保留了结构概念。( )_学小易找答案...

    [单选题]Graves病最严重的临床表现是 [判断题]Java 语言中取消了联合概念,保留了结构概念.( ) [单选题]下列关于子类继承父类的成员的描述中,错误的是 . [多选题]冯.诺依曼机确立计算 ...

  2. java c++的区别_Java语言与C、C++之间的区别?

    小伙伴你知道吗?Java是由C++开发而来的,并且在当时一直被搁置.随着Java语言的崛起那么Java和C/C++有什么不同和相同之处呢? 通过上述我们知道那Java前身是C++,并且保留了C++的大 ...

  3. java语言基于什么区别_Java语言程序有几种?它们有什么区别?

    [判断题]镜片表面弯度是以镜度来表示的,镜度越大镜片弯曲度越大. [判断题]4 △ 基底向右眼颞侧的三棱镜,可表示为4 △ BO. [单选题]用顶焦度计测镜片的测前准备中可不做的步骤为( ). [判断 ...

  4. java中常量和变量的区别_Java语言基础 变量和常量

    变量和常量 1.变量的有效范围(作用域) (1)在类体中定义的变量被称为成员变量,成员变量在整个类中都有效.类的成员变量分为静态变量和实例变量,静态变量通过修饰符static确定,并且可以通过&quo ...

  5. java第二版课后题答案_Java语言程序设计第2版第16章 课后习题答案

    <Java语言程序设计第2版第16章 课后习题答案>由会员分享,可在线阅读,更多相关<Java语言程序设计第2版第16章 课后习题答案(62页珍藏版)>请在人人文库网上搜索. ...

  6. java两个和三个_Java语言基础(day_03)

    数据类型中补充的几个小问题 1)在定义Long或者Float类型变量的时候,要加L或者f.整数默认是int类型,浮点数默认晨double. byte,short在定义的肘候,他们接收的某实是一个int ...

  7. java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...

    本文主要向大家介绍了Java语言基础学习之流程控制语句和跳转控制语句实例分析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.流程控制语句 在一个程序执行的过程中,各条语句的执行顺 ...

  8. JAVA语言程序设计教程张席_Java语言程序设计教程

    第1章 预备知识 1 1.1 目前流行的编程语言简介 1 1.1.1 C/C 的一些概念 1 1.1.2 从C到C 2 1.1.3 面向对象初步知识 3 1.2 从C/C 到Java 4 习题 5 第 ...

  9. java 语言是跨平台的吗_java语言的跨平台特点是由什么保证的?有什么用吗?

    作为最火的编程语言之一,Java与其他语言的最大区别就在于它的跨平台性,这种特性使得Java在任何平台上都可以运行,问题来了,那你们知道Java它的跨平台性到底是由什么保证的呢?下面跟我一起来了解一下 ...

最新文章

  1. Scala入门到精通——第二十九节 Scala数据库编程
  2. python try exception类_Python异常-try、raise语句及自定义异常类
  3. FTP 两种传输模式 Binary 和 ASCII 的区别
  4. 判断select下拉框是否有选,并给下拉框赋值
  5. sqlMapConfig.xml配置文件详解
  6. A Software Developer’s Reading Plan
  7. java继承 值_java继承
  8. spring 定时任务表达式正确性校验
  9. 网页的短信与邮箱注册
  10. PHP编程中 @符号的作用
  11. [转]WinRAR破解方法
  12. limt mysql操作
  13. 如何找到算法的时间复杂度
  14. 大麦路由器dw22d不拆机刷breed和openwrt
  15. 使用visio如何快速生成一个网格状图案,文档技巧!
  16. RxJava过滤操作符 debounce
  17. TensorFlow2.0基础学习笔记
  18. AlphaStar的游戏——星际争霸2 AI综述
  19. 《劝学》---附一篇《热爱生命》
  20. java << 、>>理解

热门文章

  1. DDR线长匹配与时序
  2. hdu 1280 前m大的数 哈希
  3. 数据库对数字不限长度的冒泡排序
  4. mysql 查看导出数据字典
  5. C#与时间有关的一些方法
  6. RedHat Enterprise Linux 6.4使用Centos 6的yum源问题
  7. Go内置库模块 flag
  8. VS2010 代码前出现虚线的问题
  9. 利用SqlBulkCopy插入数据
  10. nginx: [error] invalid PID number in /usr/local/webserver/nginx/logs/nginx.pid