JDK简单概述
JDK是什么?
JDK是提供给Java开发人员使用的。它提供了Java的开发工具、编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等,所以安装了JDK,就不用在单独安装JRE了。JDK的安装目录里面有bin、include、jre、lib等目录。
JRE是什么?
JRE是 JDK 的子集,也就是包括 JRE 所有内容,以及开发应用程序所需的编译器和调试器等工具。JRE 提供了库、Java 虚拟机(JVM)和其他组件,用于运行 Java 编程语言、小程序、应用程序。JRE的安装目录里面有两个文件夹bin和lib。
JVM是什么?
Java虚拟机,是JRE的一部分。它是整个java实现跨平台的最核心的部分。JVM可以理解为是一个虚拟出来的计算机,是可运行java字节码文件的虚拟计算机。
Java程序是怎样运行的呢?
java程序要运行需要经过三个步骤
- 编写:首先我们要编写java代码,生产.java的文件
- 编译:将编写好的.java文件使用java编译器编译(cmd命令是javac还记得吧)生成.class字节码文件
- 运行:是指使用java解释器将字节码翻译成机器代码在虚拟机上运行
JVM的类加载过程
类加载过程即是指JVM虚拟机把.class文件中类信息加载进内存,并进行解析生成对应的class对象的过程。
注意,类加载并不是一开始就加载所有的类信息都加载到内心中,而是用到再去加载。
类加载
类加载的过程主要分为三个部分:
加载
链接
初始化
而链接又可以细分为三个小部分:
验证
准备
解析
java的一些加载顺序
类的静态代码块和静态变量会随着类的加载而加载
构造函数在实例化对象的时候被加载
注意静态方法和普通方法,这个谁先被调用先就先执行