复习:
jdk = jre + kit
java javac
javadoc
jar
path: 想直接在cmd输入命令(可运行文件的名字)
java
java可执行文件所在路径-->配置到path中
javac : 编译
.java源文件 -->编译-->.class字节码文件
.java文件中可以编写多少类?
只有一个类能被public 修饰 并且类名和文件名一致
检查语法错误.
java : 运行 : 在内存中运行
java Hello
jvm -- >进行类加载-->把.class中的 类 加载到内存中
启动类加载 3
如果/jre/lib/rt.jar中包含Hello这个类 就处理
扩展类加载 2 4
如果/jre/lib/ext/*.jar 中包含Hello这个类 就处理
本地类加载 1 5
classpath:.
调用主方法
public static void main(String[] args){}
jvm -- > 检查代码是否危害电脑
字节码验证,
栈不能溢出,
方法的参数类型需要正确,
类型转换需要正确。
*如果上面都正常把字节码转换为机器码进行运行。
一次编译,到处运行.
指定的.class
不同的操作系统安装了不同的jdk
顶级元素2:
package:
包 :
写在源文件的第一行
作用:装 .java源文件
区别可能同名的源文件
可以把具有相同/类似功能的类放在同一个包中
cd briup
mkdir ch2
cd ch2
mkdir src bin
pwd
vi src/Test1.java
编译:javac -d bin src/Test1.java
-d :把编译以后的.class文件放在指定目录下(bin :里面都是可执行文件)
即用于自动生成包文件
运行:java -cp bin com.briup.ch2.Test1(java -cp bin com/briup/ch2/Test1)
-cp : 运行指定目录中的类,这个目录可以是文件夹,也可以是jar包
import 导入: (导包)
当前类中使用Test1
ch1/Test1.java
ch2/Test1.java
import ch1.Test1
main(){
new Test1();
new ch2.Test1();
}
注释:
//
/* */
文档注释:使用javadoc生成api
/**