C、C++、Java

操作系统层面

  • C、C++直接在操作系统上执行

  • Java需要编程编译成字节码基于JVM去执行,而JVM是运行在操作系统与C\C++平级

    :computer:JVM虚拟机:可以理解为模拟的操作系统,独立在操作系统之上的一个拥有独立内存的子系统

  • 最初是JVM是将字节码解释为C语言去执行,后来发现这样的性能特别低,现在直接解释为机器语言提高效率

语言关系

  • 为了设计符合人类思想行为的高级语言,C语言面向过程,C++面向对象,符合人类思想,由于是直接对操作编程容易导致系统的安全性问题,需要Coder自己手动管理物理内存,复杂的指针语法,而Java语言解决了C++的这些安全问题,并且更加的如意上手

跨平台性

  • C、C++在同一个功能API每个操作系统中各不相同,程序无法在其他环境中直接执行
  • Java是运行在JVM上的,统一了JVM的输入源规范根据不同的平台解释成对应的平台的API,即实现了“write once,run everywhere”

两种编程思想

面向过程

  • 关注的是数据的流向过程

面向对象

  • 关注的是对象之间关系的交互

面向对象解决问题的步骤:首先对事件中的对象进行OOA,分析各个对象的行为及属性->第二步骤对事件中对象之间的交互关系进行合理的设计OOD->最后对合理的设计进行编码实现OOP

三大特性

封装

  • 对象本质进行包装,通过public、private、protected关键字语法去实现,保护对象的数据安全

继承

  • 古代君王世袭制,Java所有类都默认继承超类Object

多态

  • 猿人不断进化成人类,人类不仅继承了猿人的特征,还具有独立的思考

数据类型

基本数据类型

  • 整型:

    • byte:1
    • short:2
    • int:4
    • long:8
    • char:2(UTF-16)
  • 浮点型:

    • float:4
    • double:8
  • 特殊型:

    • boolean:true和false

    • retrunadress:JVM规范定义的基本数据类型,用来标识finally和return的

包装类

  • Integer、Double、Long

引用型

  • 接口,对象

JVM中默认locals中一个槽为32位