- 编译型:将高级语言代码一次性“翻译成”可被平台硬件执行的机器码,然后包装为可执行程序。
- 解释型:通过专门的解释器对源程序进行逐步解释成平台的机器码并运行。
我们常说,Java 是跨平台的,那为什么了?
Java 的跨平台性是基于 JVM *(Java Virtual Machine——Java 虚拟机)*的跨平台性
Java是 ”半编译半解释形“ 的
- 将源文件编译成字节码文件
- 字节码文件在不同机器的JVM上生成不同的机器码,边解释边执行
- JVM: Java核心程序虚拟机
- JRE:(Java Runtime Environment)包含JVM,还包含其他环境支持
- JDK:包含JRE,提供编译、运行Java程序所需的各种工具与资源
- bin:各种命令工具,java、javac…
- conf:相关配置文件
- include:平台特定的头文件
- jmodes:JDK的各种模块
- legal:个模块的授权文档
- lib:JDK工具的补充JAR包
内存泄漏:分配出去的内存得不到及时回收,将引起系统性能下降甚至崩溃
垃圾回收(Garbage Collection,GC)特点:
- 只能回收内存资源
- 可以将引用变量设为空,暗示垃圾回收器可以回收对象
- 垃圾回收是不可预知的



