当前位置: 首页 > news >正文

嘉兴网站建设系统整站优化包年

嘉兴网站建设系统,整站优化包年,网站开发专业的建设设想,东莞网站建没加载过程 JVM的类的加载过程分为五个阶段:加载、验证、准备、解析、初始化。 加载   加载阶段就是将编译好的的class文件通过字节流的方式从硬盘或者通过网络加载到JVM虚拟机当中来。(我们平时在Idea中书写的代码就是放在磁盘中的,也可以通…

加载过程

JVM的类的加载过程分为五个阶段:加载、验证、准备、解析、初始化
加载
  加载阶段就是将编译好的的class文件通过字节流的方式从硬盘或者通过网络加载到JVM虚拟机当中来。(我们平时在Idea中书写的代码就是放在磁盘中的,也可以通过网络加载到虚拟机)

验证
  验证阶段主要是验证class文件的格式或者内容是否符合java规范和虚拟机规范,比如最常见的字节码文件中的cafe baby,以及通过class文件是u2或者u4的的方式解析字节码中各部分的内容是否符合规范。

准备
  准备阶段就是给静态变量(static修饰的变量)赋默认值的过程,int类型的赋值为0,对象类型赋值为null,这都是默认值,需要注意的是常量,也就是被final修饰的static,在类编译的时候就已经赋值完成了。

解析
 解释阶段做的事情用一句话来说就是将符号引用转变为直接引用(句柄)
 句柄:如下如所示虚拟机有两种引种对象数据的方式,一种是通过句柄池的方式,一种是通过直接指针的方式,句柄池的方式就是在引用和真实地址之间多了一层句柄,这样的好处就是当引用的真实对象发生改变时,栈中存放的值不需要改动,但是多了一层就会增加系统的复杂性,所以hotsport虚拟机用的是直接地址指针的方式(如下图)。
直接引用:数据在内存中的真实地址
**符号引用:**包括一些方法名和字面量等,这些符号引用在加载过程中有的可以确定下来的,比如static修饰的main方法,这些可以确定下来的引用在解析过程中就会转变为指向真实地址的指针,还有一些是只有在实际运行期间才可以确定下来的,比如多态,接口等,这些就需要到真正调用的时候才转为直接地址引用。(这也就是静态连接和动态连接的区别)

在这里插入图片描述

初始化
类的初始化是将给静态变量赋值(这时候的赋值才是赋代码中书写的值)静态代码块收集在一起进行执行的过程(其实就是执行字节码中的clinit方法,注意这个方法不是类的构造方法)执行顺序根据静态变量和静态代码块在类中的顺序决定。代码如下

public class Hello {//准备阶段给a赋值为0.初始化的时候给a赋值为3public static int a=3;//根据顺序先执行a=3,在实行静态方法static {String b="b";}public static void main(String[] args) {}}

注意:类的初始化,实例化对象

双亲委派机制

类的加载过程,同通过类加载器实现的。类的加载器主要有如下几种:
引导类加载器:c++代码实现,负责接在java的核心类库,比如rt.jar等
扩展类加载器:加载java的一些扩展类,负责加载jre下ext扩展目录下的jar报
应用类加载器:负责加载classpath下的类,也就是我们自己写的类
自定义类加载器:我们自己写的写的类加载器,负责加载自定义路径下的类

  1. 这些类加载器是有父子关系的,父子关系通过类中一个parent属性关联起来,这一点与extends是不同的。应用类加载器的父亲是扩展类加载器,扩展 类加载器的父亲是引导类加载器。
  2. 引导类加载器是c++代码实现的,通过扩展类加载器的parent属性获取到的值是null
  3. 这些类加载器是怎么来的呢? 在java程序运行起来以后,虚拟机启动起来以后会通过 C++代码创建引导类加载器,引导类加载器加载java启动器Launcher,然后由启动器Launcher负责加载扩展类加载器和引用程序加载器,在创建应用程序加载器的时候,是将先前创建好的扩展类加载器传给应用程序加载器的创建方法,将应用程序类加载器的parent设置为扩展类加载器,将扩展类加载器的parent设置为null,因为扩展类加载器的父亲引导类加载器是c++代码实现的。
    总结: 引导类加载器是C++程序创建的,引导类加载器器加载启动器Launcher,Launcher创建扩展类加载器和应用程序加载器,在创建应用程序加载器的时候,将它的父亲设置为扩展类加载器。
http://www.laogonggong.com/news/6921.html

相关文章:

  • 安微省住房和城乡建设委官方网站代运营一家店铺多少钱
  • 太原免费静态网站制作北京优化网站方法
  • 怎么让百度搜到网站百度seo搜搜
  • 网站的后缀名怎么建设今天特大军事新闻
  • 做网站教程 第一课关键词挖掘爱网站
  • 兰州网站运营诊断在线外链工具
  • 邯郸建移动网站费用外包网站
  • wordpress文章跳转seo的特点是什么
  • 河北邢台官方网站搜索引擎优化要考虑哪些方面
  • 用股票代码做网站的哈尔滨seo整站优化
  • 做杂志的网站口碑营销的优势有哪些
  • 邵阳疫情最新消息今天网站关键词优化软件效果
  • 网站界面需求北京百度推广排名优化
  • 龙华品牌网站制作职业技能培训有哪些
  • 武汉seo搜索引擎徐州关键词优化平台
  • 大型网站开发php框架阿里巴巴怎么优化关键词排名
  • 建网站的网站济南seo排名搜索
  • 企业网站建设公司电话常见的网络营销方式有哪些
  • 网站建设动态静态常见的推广平台有哪些
  • 建设部人才中心网站太原网络推广价格
  • 金山区做网站公司百度seo在哪里
  • 郑州做网站排名公司十大职业资格培训机构
  • wordpress5.0发布seo的搜索排名影响因素有哪些
  • 昆明网站设计cms网站模板
  • 网站建设一般报价多少钱重庆森林经典台词罐头
  • 西安网站建设首选网站制作公司怎么找
  • 江苏省工程建设信息网怎么优化网站关键词排名
  • 网站制作镇江百度手机助手下载
  • 深圳营销建网站公司东莞网站营销
  • 帮网贷做网站会判刑吗搜索关键词的网站