转载声明:文章来源:https://blog.csdn.net/hutubiancheng/article/details/124756252
一、JAVA运行机制
Java程序的运行必须经过编写、编译、运行三个步骤。
编写是指在Java开发环境中进行程序代码的输入,最终形成后缀名为.java的Java源文件。
编译是指使用Java编译器(JDK中)对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件,这不像C语言那样最终生成可执行文件。
运行是指使用Java解释器将字节码文件翻译成机器代码,执行并显示结果。
字节码文件是一种和任何具体机器环境及操作系统环境无关的中间代码,它是一种二进制文件,是Java源文件由Java编译器编译后生成的目标代码文件。编程人员和计算机都无法直接读懂字节码文件,它必须由专用的Java解释器(JVM)来解释执行,因此Java是一种在编译基础上进行解释运行的语言。
二、SDK JDK JRE JVM
SDK(Software Development Kit)软件开发工具包
JDK(Java Development Kit) JAVA开发工具包
JRE(Java Runtime Environment) JAVA运行环境
JVM(Java Virtual Machine)虚拟机
JDK = JRE + javac.exe(编译工具)+jir.exe(打包工具)
JRE = JVM + 类库
JDK用于开发(编译、执行、打包),而JRE只用于执行。另外,由于Eclipse等IDE具有自己的编译器,所以只需要JRE就可以了。
Java提出的“一次编写,到处运行”是建立在JRE基础之上的;
Java的.class文件可以放到任何装有JRE的机器上运行;
开发java应用程序需要JDK,运行java程序需要JRE;
三、JAVA程序组织形式
Java程序是一个纯粹的面向对象的语言,因此Java程序必须以类(class)的形式存在。
类(class)是Java程序中的最小程序单位,Java程序不允许可执行语句,方法等成分独立存在,所有的程序部分都必须存放在类定义里。
一个Java源文件可以包含多个类定义,但最多只能包含一个public类定义。如果Java源文件里包含public类定义,则该源文件的文件名必须与这个public类的类名相同。
四、JAVA数据类型
引用数据类型还包括一种特殊的null类型。
自动类型转换:从小到大
强制类型转换:从大到小
数值类型和布尔类型不能进行类型转换,引用数据类型的转换只能再有继承关系的两个类型之间进行。
五、标识符
即用于命名的符号。由数字、字母、下划线、美元符组成,不可为关键字和保留字,不能包括空格,开头不可为数字。
六、final
final修饰的变量不可被改变,final修饰的成员变量必须显式的指定初始值(否则没意义,默认初始化)。
final定义并指定初始值的变量在编译阶段就确定下来,保存在常量池中,程序执行时直接进行宏替换。
final修饰的方法不能被重写,比如Object类中的getClass()方法。
final修饰的类不能被继承。