java的“一次编译,到处运行”的原理是,把源文件编译成字节码,字节码由java虚拟机执行,然后只需要在各个平台安装对应的java虚拟机就可以了。
举个例子,你只会说A语言,你想去全世界旅游,但世界各处目前会B语言的人多,会A语言可能找不到导游。所以,最佳策略是,先把A语言编译成B语言,在当地找一个会B语言的导游。
编译阶段和运行阶段都有classpath参数,用于指定编译或运行的文件位置。
classpath参数有几种写法:--class-path,-classpath,-cp
假设场景如下,有一个源文件Main.java:
public class Main{ public static void main(String[] args){ Console.writeLine("Hello,World"); } }
它用到一个 Console 类,该类 位置: ./classes/Console.class
则编译命令为:
javac -cp .:classes Main.java
运行命令为:
java -cp .:classes Main
linux下用冒号:分割多个地址,在windows下面是分号;