- Jdk和jre有什么区别?
JRE是Java Runtime Environment的缩写,是Java程序的运行环境。既然是运行,当然要包含JVM,也就是所谓的Java虚拟机,还有所以的Java类库的class文件,都在lib目录下,并且都打包成了jar。至于在Windows上的虚拟机是哪个文件呢?就是<JRE安装目录>/bin/server中的jvm.dll。
JDK是Java Development Kit的缩写,是Java的开发工具包,主要包含了各种类库和工具,当然也包含了另外一个JRE,那么为什么要包含另外一个JRE呢?而且<JDK安装目录>/JRE/bin目录下,包含有server一个文件夹~包含一个jvm.dll,这说明JDK提供了一个虚拟机。另外,JDK的bin目录下有各种Java程序需要用到的命令,与JRE的bin目录最明显的区别就是JDK文件下才有javac,这一点很好理解,因为JRE只是一个运行环境而已,与开发无关。正因为如此,具备开发功能的JDK所包含的JRE下才会同时有server的JVM,而仅仅作为运行环境的JRE下,只需要server的jvm.dll就够了。
注意:JDK所提供的运行环境和工具度需要进行环境变量的配置以后,才能使用,最主要的配置就是把<JDK安装目录>/bin目录设置为Path环境变量值的一部分。
总结:JDK是Java的开发工具,它不仅提供了Java程序运行所需的JRE,还提供了一系列的编译,运行等工具,如javac,java,javaw等。JRE只是Java程序的运行环境,它最核心的内容就是JVM(Java虚拟机)及核心类库。
2.验证java安装成功的指令:javac -version
java -version
dos指令下都有产生版本提示信息才证明安装成功。
3.java的工作过程?
Javac.exe将java文件编译成.class字节码文件,
Java.exe运行生成的.class字节码文件。
4.为什么要配置环境变量?
在任意目录下都可以进行javac和java.exe文件。
环境变量配置:新建名称JVA_HOME,下面填写路径。
path中添加:%JAVA_HOME%\bin
5.idea中常用快捷键集合:
psvm+回车:生成public class static void main(String args[]){
sout+回车:生成system.out.println()
ctrl+shift+l:代码统一格式化
alt+insert:生成构造方法、setter、getter、等方法
arrayList容器名+f+回车:生成for(int i=0;i<students.size();i++)
6.java中类与对象的关系?
7.全栈工程师和架构师的区别?
全栈:前端、后端、数据库样样精通,写代码做全栈。(全部精通)
架构师:负责整个项目的架构,不怎么写代码。(项目经理再做5年)
8.构造方法的作用与种类?
9.继承出现的作用?
继承用到的关键字:extends,出现的目的:将多个类中共性的内容向上抽取,达到代码复用的目的!特点:父类有的,子类全部都有。
10.抽象类的使用及作用?
抽象类依旧是类,只不过里面可以存在抽象方法(只有方法声明,没有方法体并且使用abstract修饰的方法)。要注意的是如果一个父类是抽象类,子类调用父类的时候要重写父类中的抽象方法。
注意:抽象类不能创建对象,但是可以提供构造方法,供子类创建对象的时候为父类的成员变量赋值。
子类的构造方法会首先调用父类的构造方法。
用new创建对象的时候,其实就是调用了构造方法。抽象类中创建不了对象。
11.switch语句:
switch语句:类似于if else if else if else if else
常见的输入语句:
switch语句的输入类型:
enum枚举类型数据
case后的值不能重复,只能为整形且为上方定义数据类型匹配。Case里的语句体无break,可能会造成“穿透”现象。
swithch结束的标志:1、遇到了break;2、遇到了default;
12.继承是有限制的,一个子类只能继承一个父类,无法再与其它类有所连接。
接口:可以多继承多实现,interface A extends B,C(b,c都是接口)
接口中主要定义抽象方法,
13.区别接口中的方法类型:
1、无方法体,构造方法。
2、有方法体,
final修饰的变量不允许修改。
14.ArrayList集合类:
容器,存储数据,必须先存后边才能取到值。Jdk提供,导入包即可使用。