Java是面向对象的可跨平台的编程语言
编程语言执行方式不同可分为三类
- 编译执行:c/c++。 源程序编译为可执行文件,执行速度快 。无法跨平台
- 解释执行:python,JavaScript 。 可以跨平台,解释一段,执行一段。 执行速度慢
- 中间码+虚拟机:Java,c#。 源程序编译为中间码,中间码与平台无关,可以跨平台 。但中间码不能直接运行,需要对应平台的解释器,速度介于前两者之间。
跨平台:编译后的程序可以在不同系统下运行
Java跨平台原理:
C/C++源程序经过编译生成后的是与平台绑定的可执行文件
Java源程序编译后生成的是与平台无关的中间码.class(.Java->.class),这些中间码不能直接运行,需要JVM加载解释执行。JVM是与平台相关的。
Windows JVM—>WinNT程序
Liunx JVM—> Liunx程序
Mac JVM—>Mac程序
Java优点:
平台无关 面向对象 多线程开发 分布式应用 高性能 无指针 自动收集内存
缺点:
运行速度慢 占用资源多 复杂
先编译为中间码,然后需要解释器加载解释执行
要运行Java程序需要先运行JVM
无指针,无法直接操作内存
Java不需要手工释放内存,但垃圾回收线程不能实时收集内存
JDK(Java Development Toolkit)包含Java编译器,JRE与其他组件
JVM(Java Virtual Machine):Java虚拟机
JRE(Java Runtime Environment):Java运行时环境。JRE包含JVM(Java虚拟机)与Java运行支持类库
JDK文件在官网中下载
开发Java需要从源文件到中间字节码的编译器。
运行Java只需要JRE
JDK =Java编译器 + JRE + 其他组件
JDK不需要安装,只需要配置环境变量即可
JDK文件夹中有javac.exe编译器,java.exe虚拟机