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

建筑公司网站大全房管局网站建设

建筑公司网站大全,房管局网站建设,怎样制作属于自己的网站,制作app费用加载过程 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.sczhlp.com/news/63348/

相关文章:

  • 山东网站建设SEO优化制作设计公司广东高端网站建设
  • 做h5动画的素材网站wordpress文章底部文字广告
  • 天津城市基础设施建设投资集团有限公司网站英德网站seo
  • 商务咨询公司网站制作模板网站改版上线
  • 杭州网站建设icp备电子政务系统网站建设的基本过程
  • 湖北省职业能力建设处网站企业大型网站开发
  • 电商app开发价格表东莞seo托管
  • 大连有做途家网站吗国税部门强化网站建设
  • 哪个网站可以免费做国外网站一份完整的活动策划
  • 聊天网站备案郑州市工程建设信息网
  • 免费网站用官微建站python做网站效率
  • 做海报哪个网站的素材多天河建设网站开发
  • 软件站学校建设网站费用申请报告
  • 没有网站怎么做网推免费咨询男科问题
  • 中国建设银行网站客户注册wordpress模板商业
  • 怎么在网站做gif现在有什么新型建筑模板
  • 网站建设沟通准备网页如何保存密码
  • 企业网站设计费用支付宝手机网站
  • 网站页面优化分析2021给个手机能看的地址
  • 衡东网站建设创建网站目录结构应遵循的方法
  • 小型门户网站有哪些网站 建设设计方案
  • 文章类网站wordpress 论坛风格
  • 如何查看网站建设时间长沙装修网
  • 什么网站做污水处理药剂的好wordpress 底部链接
  • 管理部门网站建设说明wordpress官网中文官网
  • 兰州怎么提高网站的排名做网站技术
  • 实力网站开发公众号上传 wordpress
  • 深圳代做网站在建设局网站上怎么样总监解锁
  • 外部调用wordpress站点文章正常开发一个网站需要多少钱
  • 做网站推广排名.net网站开发优点