DAY01
一:JRE JVM JDK的概念和之间的关系
JRE:全称为Java Runtime Environment(Java运行时环境)JRE中包括了JVM和核心类库.
JDK: 全程为Java Development ToolKit(Java语言开发工具包)里面包括了编译器、JRE、一堆JAVA开发工具(例如java.exe就是解释器)
JVM: JAVA虚拟机,是JRE的一部分,对上层源文件代码不关心。如person p = new person() p是对象引用 存储在栈中 new person在堆中(对象实例) 对象的首地址也会在栈中 这个首地址又指向了堆中的对象实例。
二:编译型和解释性语言的区别
编译型语言一次性将代码编译。编译型语言专门有个编译器,将源代码编译成改平台能执行的 机器码,对上层的源代码不关心(因为JVM屏蔽了底层平台的差异(可不保留(理解一次编译,多次执行)。
一次编译,多次执行:编译了一次之后,直接拿编译结果即可,所以执行效率高。
解释型语言类似于翻译器,翻译一句,执行一句,是更接近底层的语言。平台提供对应的解释器即可运行。
JAVA比较特殊,先编译源文件,然后将编译好的字节码由JAVA虚拟机执行。所以JAVA既是编 译型语言也是解释型语言 例如pyrhon就是解释型语言
总结图
三:为什么要配置path、classpath、java_home?
path:配置path是为了让程序在任意目录下都可以运行,系统根据path的变量名来寻找程序。
classpath:让解释器去寻找标准类库。比如我们经常使用某个包里的类或者其它的代码,则导入之后不需要再去import即可使用,标准在bin目录后缀名为jar里面。在1.5之后不需要配置classpath.
java_home:当JDK改变路径的时候,只需要改变java_home的值即可,不需要再去更改路径。第三方软件也能更好地找到JDK位置。更方便,如JDK安装在C:\d\ddd\dddd里面,设置JAVA_HOME为改目录路劲,以后只需要输入%java_home%即可找到。