JVM进阶(十四)——初识JAVA 类加载机制
来源:互联网 发布:sql 年月日变成日期 编辑:程序博客网 时间:2024/06/05 02:30
JVM进阶(十四)——初识JAVA 类加载机制
从本篇博文开始,我们就进入虚拟机类加载机制的学习了。那么什么是类加载呢?当我们写完一个Java类的时候,并不是直接就可以运行的,它还要编译成.class(字节码)文件,再由虚拟机解释给当前的操作系统去执行。这些过程都是我们看不见的,我们能看见的也就是一个.class文件。既然虚拟机要解释这些.class文件给当前的操作系统听,那么他怎么获得这些.class文件呢?虚拟机获得这些.class文件的过程就是类加载了。
所以,总结来说就是:虚拟机将.class文件从磁盘或者其他地方加载到内存,并同时对文件中的数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接识别的类型,这就是类加载机制!
首先我们来看看类的一个生命周期:
总共有加载、验证、准备、解析、初始化、使用和卸载七个阶段。其中前面的5个阶段就是我们要说的类加载机制了,验证、准备、解析阶段又统称为连接阶段。注意:解析阶段不一定会在准备阶段之后就执行,也有可能会在初始化阶段之后,这是为了支持JAVA的动态绑定的特性。
什么是动态绑定呢?相信大家都知道JAVA的4大特性吧:封装、继承、抽象、多态。其实多态就可以理解为动态绑定。多态的实现机制就是:父类或者接口可以创建他们的子类或者实现类的实例对象。简单的来说就是:父类可以new出子类,接口可以new出他的实现类。
多态通俗来说就是:父类A有一个方法function(),子类B,C分别继承A并且重写function(),当创建一个对象A b = new B(); b.function()就调用B的funciotn,假如你new C(),那调用的就是C重写的function。虚拟机怎么判断你使用的是哪个类的function就是动态绑定,这个现象就是多态。
今天就先说这么多,大家好好理解一下。要记住那几个阶段,接下来的博文我们会逐一的讲解每个阶段的流程。
- JVM进阶(十四)——初识JAVA 类加载机制
- JVM进阶(十四)——初识JAVA 类加载机制
- Java进阶(五十四)初识JAVA类加载机制
- Java进阶(五十四)初识JAVA类加载机制
- Java进阶(五十四)初识JAVA类加载机制
- JVM进阶(十五)——JAVA 类加载器
- JVM进阶(十五)——JAVA 类加载器
- JVM进阶(一)——初识JAVA栈
- JVM进阶(二)——初识JAVA堆
- JVM进阶(一)——初识JAVA栈
- JVM进阶(二)——初识JAVA堆
- JVM内核—JVM类加载机制
- JVM——Java类加载机制总结
- JVM——Java类加载机制总结
- JVM——Java类加载机制总结
- 【JVM】Java类加载机制
- 【009】【JVM——类加载机制】
- JVM(2)——JVM类加载机制
- 使用Maven对SSM整合时,XML文件没有打包到项目的war文件中
- Xcode配置SVN详细步骤
- TP 框架 常识
- Unity+Vuforia ar 摄像机自动对焦
- 如何成为一名大数据开发工程师
- JVM进阶(十四)——初识JAVA 类加载机制
- ubuntu16 配置静态ip(NAT方式)
- Tomcat配置虚拟路径
- Try-Catch真的会影响程序性能吗
- PHP 操作Mongodb
- Android编程权威指南(第二版)学习笔记(二十九)—— 第29章 定制视图与触摸事件
- windows下使用C++访问redis
- Java使用库函数排序
- Java未来的应用前景