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位