环境变量
编程语言
- 自然语言(和人交流)
- 机器语言(和计算机交流) 与自然语法相比更加严格
- 编程语言
(计算机读不懂,人读懂,需要运行机制,很多种编程语言,意图转化成计算机能读懂的语言,如c++[增加了面向对象],c,Java【纯面向对象】)符号语言
java历史
- List itemSun公司创建java(跨平台,面向对象)
- 计算机的硬件是靠操作系统来驱动的(如安卓),计算机的软硬件是通过操作系统来驱动
- Java ME 手机端
- Java EE 服务器
java的语言的特点
- 面向对象(使用计算机模拟现实世界,解决现实问题,贴近人类思维模式)【是一种思想】
- 简单(相对于C,c++,不易造成内存溢出,减少代码量,代码可读性)跨平台(操作系统,服务器,数据库)
计算机的执行机制
- 编译执行(如c++,c) (【程序员】源文件编译成机器码,一次编译,多次执行,不可跨平台)
- 解释执行将源文件一行一行解释,一行一行执行,不同的操作系统具备不同的解释器。执行效率低,可以跨平台。
- Java先编译,再解释:将源文件编译成字节码文件(平台中立文件,class),再将字节码文件进行解释执行(比起直接解释源文件,解释字节码更快变成机器码)
Java可以跨平台是因为字节码文件是平台中立文件,可以采用不同的翻译器,将字节码解释成机器码
Java能跨平台是与编译比,Java效率快是与解释比
安卓的流畅是靠硬件来支撑的,安卓基于java,高于java,采用解释执行
java的执行机制
由java源文件编译出来的字节码文件可以在任意平台上运行,java之所以有这跨平台的特点,要归功于Java虚拟机,Java虚拟机屏蔽了底层操作系统的差异
java虚拟机
- 使用软件在不同操作系统,模拟相同的环境。
- 程序并不直接面对操作系统,程序面对虚拟机,底层操作系统不匹配交给虚拟机,但你必须要遵循Java的规则。
- 要运行java,必须需要虚拟器,解释器 (有运行环境,能运行class文件),编译器
JVM(Java)虚拟机
- 使用软件在不同操作系统,模拟相同的环境。
- JRE 运行环境包含JVM和解释器,完整的Java运行环境
- JDK 开发环境: 包含JRE+类存+开发工具包(编译器+调试工具)