1.Java机制
Java采用了这样的机制:Java源代码编译后生成的Bytecode形势的类文件不能直接在造作系统上执行,必须由Java虚拟机(JVM)来解释执行。
缺点:编译后的文件不能直接在CPU上执行,程序运行效率低。要运行Java则必须安装Java的运行环境(JRE),以便由JVM来解释执行Java程序。
优点:Java有良好的跨平台移植性,“一次编译,到处运行”。
2.环境变量配置
新建JAVA_HOME系统变量,将安装路径作为变量值:
打开Path系统变量,在最后加上以下两个变量值:
新建CLASSPATH系统变量,加入以下两个变量值(最后必须加上分号):
3.编译和运行——编译多个文件
新建以下目录和源文件
package cn.com.corejava;
public class A{
public static void main(String[] args){
String helloword;
helloword = B.hi("China");
System.out.println(helloword);
}
}
package cn.com.corejava;
public class B{
public static String hi(String name){
return "Hello, " + name + ".";
}
}
此时需要同时编译两个文件,需要在src同级目录中新建一个srclist.txt作为列表文件
并在其中写入你要编译文件的绝对路径,用换行分隔
在cmd窗口下进入列表文件所在目录执行 javac -d classes @srclist.txt (-d classes表示)
设置classpath:set classpath=D:\temp\01\classes(此为编译后class文件目录)
随即可运行java程序:java cn.com.corejava.A
4.Java编译和运行——编译自己提供jar包的文件
首先对前面编译好的A.class和B.class打包成jar包
进入temp\01\classes目录,在命令中执行jar命令:jar -cvf ../ch01.jar . (注意最后的“.”表示当前目录下所有文件)
ch01.jar就会保存在classes的同级目录
在temp下创建02目录,在02中创建classes、lib和src目录,并新建C.java文件,将ch01.jar复制到lib目录下
package cn.com.corejava.cc;
import cn.com.corejava.B;
public class C{
public static void main(String[] args){
String helloword;
helloword = B.hi("CC");
System.out.println(helloword);
}
}
编译时,由于使用了ch01.jar中的类,需要再执行javac之前把ch01.jar设置到classpath中,或者载javac中使用-classpath参数说明ch01.jar
运行程序时不仅要把编译后的class文件设置到classpath中,还要把程序中用到的第三方类库设置到classpath中(可以使用相对路径)
然后使用java加包名运行程序