Java笔记Day01

1. Java语言跨平台原理

Java提供了基于各种操作系统(windows、linux、mac等等)的JVM,如果想要在一台计算机上运行一个Java程序,只需要在该计算机上安装本机操作系统相应版本的JVM,JVM就会将.class文件解释为对应的计算机底层指令,并最终执行。所以,不管计算机系统如何,Java程序始终面向的是JVM,计算机系统的差异被JVM屏蔽掉了。Java语言是跨平台的,JVM不是跨平台的,因为JVM必须针对各类操作系统提供不同的JVM版本。

2. JDK与JRE

JDK是Java开发工具集,JRE是Java运行环境。其中,JDK=JRE+Java开发工具,JRE=JVM+必须类库。

3. 环境变量配置

JAVA_HOME

计算机--属性--高级--高级系统设置--高级--环境变量--系统变量--新建:JAVA_HOME=JDK中bin文件夹所在路径(不含bin),实际上就是将变化的部分提取成变量,应对JDK安装文件位置的变化而已。

PATH

配置方式之一:计算机--属性--高级--高级系统设置--高级--环境变量--系统变量--PATH编辑:PATH=%JAVA_HOME%\bin;PATH

配置方式之二:在命令行窗口当中输入set path=xxx\xxx\xxx;%path%

其中配置方式一是一种一劳永逸的配置方式,配置方式二是一种临时配置方式,只对当前命令行窗口有效,当前窗口关闭之后,不影响系统环境变量当中path的设置。

这样我们通过命令行窗口在任何目录下都可以直接使用bin目录下面的命令了。当我们在命令行窗口当中输入javac xxx.java命令时,命令行会先去当前目录下寻找javac命令,找到就执行,否则再去根据PATH环境变量当中配置的路径按分号为分隔从前往后逐项路径底下去寻找javac命令,找到就执行,找不到就报错。其他命令寻找步骤同上。

classpath

在命令行窗口当中执行java xxx命令时,如果没有设置classpath,那么JVM会到当前路径去加载xxx.class文件,找到就加载,否则报错;如果设置 set classpath=a\b\c,那么JVM就会到a\b\c路径当中去加载xxx.class文件,找到就加载,否则报错,根本不会去当前路径里寻找,哪怕当前路径当中有一份xxx.class文件;如果设置set classpath=a\b\c;(一定要注意该命令末尾的分号),那么JVM会先到a\b\c路径当中去加载xxx.class文件,找到就加载,找不到再去当前路径当中加载,找到就加载,找不到报错,由于该方式属于隐式的设置方式,分号不容易发现,加载结果会与程序员预期产生差异,所以不推荐使用,建议使用set classpath=.;a\b\c方式,用"."显示指明当前路径。

4.Hello World

class Demo {
	public static void main(String[] args) {
		System.out.println("Hello World!!!");
	}
}
(1) main方法是程序的入口

(2) main方法被虚拟机所调用

(3) main方法使得一个类可以独立运行


你可能感兴趣的:(Java,SE)