1 JVM篇
1.1Java的特点-一次编译,到处运行
“一次编译,到处运行”的原理
怎么实现的跨平台:多了一个JVM虚拟机,也就是解耦操作,根据第三方的原则,找出第三方,JVM虚拟机,实现与操作系统的解耦。
值得注意的是:Java是跨平台的,但不跨语言。
1.2JVM的运行过程
对于代码的装入,校验,执行
小贴士:JDK中包含有JVM,通过JDK中的java.exe完成JVM环境的装载;
在JVM解释执行过程中 ,会产生垃圾回收;
2.JDK篇
JDK(Java DevelopmentKit)是J2SE的开发包;
JDK 可以进行编译;
JRE 只能运行java程序;
2.1环境变量
JAVA_HOME——java的安装目录(C:\jdk1.8.0_25);
PATH——寻找应用程序的路径(%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;);
CLASSPATH——java虚拟机寻找.class文件所在路径(现在的应用基本上不需要设置CLASSPATH,尤其是指向tools.jar 和rt.jar,只要能够找到jre,系统自动会找到这些jre自带的classpath(除非你人为地把这些jar文件移动到其他地方去了));
2.2命令窗户(不使用IDE工具)
2.2.1javac 编译命令
javac 编译命令(将.java文件编译成.class文件;注意:.java里面可以有多个类,但是必须只有一个public的类,原因是public的类编译完成后的.class文件名称要与文件.java的名称一致)。
一个.java文件里面有几个类,就会编译生成几个.class文件。
例如Test.java
Public class Test{ } class Test1{ } |
在命令行窗口输入的命令是
Javac Test.java |
这个时候,Test.java的文件编译后就会生成Test.class和Test1.class这两个字节码文件。
2.2.2java解析命令
输入的命令为(还是以Test.java为例):
Java Test1 |
这个时候,java后面需要加的是需要解析的类名称
2.3JAD 反编译程序
将.class文件反编译成.java文件