一、Java程序运行机制
Java既具有解释型语言的特征,也具有编译型语言的特征,因为java要先编译再解释执行。
1、编译型语言:
使用专门的编译器,针对特定平台,将某种高级语言源代码一次性翻译成可被该平台硬件执行的机器码(包括机器指令和操作数)。
运行效率高,跨平台性差。
2、解释型语言:
使用专门的解释器对源程序逐行解释执行,通常不回进行整体编译和链接处理。
执行效率低(每次执行都要编译一次,执行时不能离开解释器),较容易跨平台。
3、Java运行机制
先编译生成java字节码(*.class文件),然后由java解释器执行(JVM,类装载器等)。
jvm是可以运行字节码的虚拟计算机,同实际的计算机一样,它具有指令集并使用不同的存储区
二、JDK安装
1、PATH环境变量
2、CLASSPATH环境变量----定位类
JRE通过CLASSPATH环境变量搜索java类,若发生找不到类定义的错位,则检查该环境变量。
三、垃圾回收机制
1、C/C++需要程序员显式的回收已分配的内存。
缺点:
(1)忘记回收无用内存,导致内存泄露,降低系统性能。
(2)错误的回收了程序核心类库的内存,导致系统崩溃。
2、Java使用Garbage Collection(GC)由JRE负责回收不使用的内存。
当没有对象引用指向原先分配的内存,该内存成为垃圾。
垃圾回收机制的开销会影响程序性能。
垃圾回收机制只能回收内存资源,对数据库连接,磁盘IO连接等无能为力。
编写java程序的原则:对于不需要的对象就不要引用他们,或将引用变量置为null;