1、机器语言发展:机器指令(0101表示)—>汇编语言—>高级语言(分为面向过程c/c++、面向对象java/python等)。

2、java主要特性:跨平台,面向对象,垃圾自动回收机制(GC机制)。其中跨平台性决定因素是由于各平台中Jvm的不同(后续会有详细介绍)。

3、java运行机制:先编译后运行。编译生成class字节码文件,jvm运行class文件。

4、JDK和JRE
JDK:java开发工具包,包含JRE和java工具(javac/java/jdb等)。
JRE:java运行环境,包含JVM和类库。

5、JVM:运行所有Java程序的抽象计算机,是Java语言的运行环境 ;从结构上看,它由抽象的指令集、寄存器组、类文件格式规定、堆栈、内存垃圾收集器和存储区六个部件组成。
JVM是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。
  也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。
  只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。

6、环境变量配置
为什么配置环境变量:为了在任意目录下都能编译运行java文件。
JAVA_HOME:配置jdk安装目录,如: D:\Java\jdk1.7.0
PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 为防止别的环境变量影响,该配置最好放在整个配置的开头。
CLASSPATH(根据情况配置):.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
验证是否配置生效:cmd输入 java -version

7、两个cmd命令:javac和java
javac:编译java文件,如:javac HelloWord.java
java:运行编译好的class字节码文件,如:java HelloWord

8、java源文件,Class之间的命名规则:
(1)一个java文件中可以包含多个Class:当一个java源文件中有多个Class时,Class的命名可以和java文件不同。javac编译后对应会生成多个和Class名称一样的字节码文件。
(2)一个java文件中只能包含一个Public修饰的Class:即使一个java文件中有个Class,但只能有一个Class被Public修饰。且java文件名称命名必须和该Class命名一致。