- JAVA的特点:语法简答、面向对象、稳定、与平台无关、多线程、动态等。
- 与平台无关:Java与其他语言相比,最大的优势是编写的软件能在执行码上兼容、能在所有的计算机上运行。
——原因: Java可以在计算机操作系统之上再提供一个Java运行环境,该运行环境由JAVA虚拟机(Java Virtual Machine)、类库以及一些核心文件组成,也就是说,只要平台提供了Java运行环境,用Java编写的软件就能再其运行。
- 平台:由操作系统(OS)和处理器(CPU)组成。
每个平台都会形成自己的机器指令。
- 机器指令:可以被平台直接识别,执行的一种由0、1构成的序列代码。
比如c++程序可能因为平台的改变导致程序错误或无法执行。
具体:c++源程序在特定平台对其源文件进行编译、连接、生成机器指令,即根据当前平台的机器指令生成可执行文件,那么可以在与当前平台相同的平台上运行这个可执行文件,但不能保证在其他平台上也能正常运行。
- Java可以在平台之上再提供一个Java运行环境(Java Runtime Environment,JRE),由此实现与平台无关。
- Java虚拟机的核心是字节码指令,即可以Java虚拟机直接识别、执行的一种由0 1 组成的序列代码。
- (注意:字节码指令不是机器指令,因为它并不能被任何的平台直接识别、执行。
- Java正对不同的平台提供的Java虚拟机的指令是相同的。
- Java的编译器不针对特点的操作系统和CPU编译,而是针对JVM,将源程序编译成字节码(相当于“中间代码”)。然后Java虚拟机将字节码翻译成所在平台的机器码,并让当前平台运行该机器码。
- 多线程:Java内置了对多线程的支持,多线程允许计算机同时完成多个任务。
- 实际上,多线程使人产生多个任务在同时执行的错觉,因为目前的计算机的处理器在同一时间只能执行一个 线程,但处理器可以在不同的线程之间切换,由于处理器的速度非常快,所以给人感觉好像多个任务在同时执行。