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

网站建设800元全包搜索案例的网站

网站建设800元全包,搜索案例的网站,wordpress系列教程,海南省住房建设厅网站首页一个 class 文件被加载到内存中的步骤如下图所示#xff1a; 装载 装载是指 Java 虚拟机查找 .class 文件并生成字节流#xff0c;然后根据字节流创建 java.lang.Class 对象的过程。 1. ClassLoader 通过一个类的全限定名#xff08;包名类名#xff09;来查找 .class 文件…一个 class 文件被加载到内存中的步骤如下图所示 装载 装载是指 Java 虚拟机查找 .class 文件并生成字节流然后根据字节流创建 java.lang.Class 对象的过程。 1. ClassLoader 通过一个类的全限定名包名类名来查找 .class 文件并生成二进制字节流。其中 class 字节码文件的来源1.class 文件2jar包zip包3网络的字节流。 2. 把 .class 文件的各个部分分别解析parse为 JVM 内部特定的数据结构并存储在方法区。JVM 会将这些 .lcass 文件的结果转换为 JVM 内部运行时数据结构。 3. 在内存中创建一个 java.lang.Class 类型的对象。程序在运行过程中所有对该类的访问都通过这个类对象也就是这个 Class 类型的类对象是提供给外界访问该类的接口。 加载时机 隐式装载在程序运行过程中当碰到通过 new 等方式生成对象时系统会隐式调用 ClassLoader 去装载对应的 class 到内存中。 显示装载在编写源代码时主动调用 Class.forName() 等方法也会进行 class 装载操作。 链接 链接过程分为3步验证、准备、解析 1. 验证 目的是为了确保.class文件的字节流中包含的信息符合当前虚拟机的要求并且不会危及虚拟机本身的安全。 ● 文件格式检验:检验字节流是否符合class文件格式的规范并且能被当前版本的虚拟机处理 ● 元数据检验:对字节码描述的信息进行语义分析以保证其描述的内容符合Java语言规范的要求 ● 字节码检验:通过数据流和控制流分析确定程序语义是合法、符合逻辑的 ● 符号引用检验:可以看作是对类自身以外(常量池中的各种符号引用)的信息进行匹配性校验 2. 准备 准备的主要目的是为类中的静态变量分配内存并为其设置“0值”。 public static int value 100; 在准备阶段JVM 会为 value 分配内存并将其设置为0而真正的值100 是在初始化阶段设置。 public static final int value 100; 有 final 关键字修饰的变量会在准备阶段分配内存并设置值为100。 Java 中基本类型的默认“0值”如下 ● 基本类型int, long, short, char, byte, boolean, float, double的默认值为0 ● 引用类型默认值是 null。 3. 解析 解析的任务是把常量池中的符号引用转换为直接引用也就是具体的内存地址。在这一阶段JVM 会将常量池中的类、接口名、字段名、方法名等转换为具体的内存地址。 初始化 初始化这一阶段是执行类构造器cinit方法的过程并真正初始化类变量。例如 public static int value 100; 在准备阶段JVM 会为 value 分配内存并将其设置为0而真正的值100 是在初始化阶段设置。 初始化的时机 JVM规范中严格规定了class初始化的时机主要有以下几种情况会触发class的初始化: 1. 虚拟机启动时初始化包含main方法的主类 2. 遇到new指令创建对象实例时如果目标对象类没有被初始化则进行初始化操作 3. 当遇到访问静态方法或者静态字段的指令时如果目标对象类没有被初始化则进行初始化操作 4. 子类的初始化过程如果发现其父类还没有进行过初始化则需要先触发其父类的初始化 5. 使用反射API进行反射调用时如果类没有进行过初始化则需要先触发其初始化 6. 第一次调用java.lang.invoke.MethodHandle实例时需要初始化MethodHandle指向方法所在的类 初始化类变量 在初始化阶段只会初始化与类相关的静态赋值语句和静态语句也就是有 static 关键字修饰的信息。没有 static 修饰的语句块在实例化对象的时候才会执行。 Class 初始化和对象的创建顺序 面试题在代码中使用 new 创建一个类的实例对象时类中的静态代码块、非静态代码块、构造函数之间的执行顺序是怎样的 对象的初始化顺序静态变量/静态代码块 --  普通代码块 -- 构造函数 1. 父类静态变量和静态代码块 2. 子类静态变量和静态代码块 3. 父类普通成员变量和普通代码块 4. 父类的构造函数 5. 子类普通成员变量和普通代码块 6. 子类的构造函数 总结 1. 装载指查找字节流并根据此字节流创建类的过程装载过程成功的标志就是在方法区中成功创建了类所对应的 Class 对象。 2. 链接指验证创建的类并将其解析到 JVM 中使之能够被 JVM 执行。 3. 初始化是将标记为 static 的字段进行赋值并且执行 static 标记的代码语句。
http://www.hkea.cn/news/14512525/

相关文章:

  • 做淘宝导航网站wordpress标签logo
  • 盐城网站建设小程序公司网站设计论文经济可行性分析
  • 备案网站可以做接码平台么网站建设 北京昌平
  • 网站必须做等保合规上海网站建设 上海网站制作
  • 公司自己做网站吗什么都不懂能去干运营吗
  • 快速排名程序招聘seo网站推广
  • 四川省化工建设有限公司网站做网站招标
  • 大连市营商环境建设局门户网站网站改版 数据迁移
  • 免费素材视频网站广州番禺越秀和樾府
  • 东莞网站建设营销的企业公众号开发者密码怎么获得
  • 响应式网站 html邢台建设一个企业网站
  • 网站开发建设技术特点自媒体平台有哪些赚钱
  • 网站建设公司怎么发展网站建设之前必须 域名备案
  • 夜晚很晚视频免费素材网站windows优化大师官方网站
  • 青岛网站建设方案策划登陆Wordpress手机app
  • 郑州网站建设+论坛深圳深圳龙岗网站建设公司
  • 购买网站域名 空间wordpress 风格
  • 几个做ppt的网站知乎凡客官网 电脑版
  • 衡水网站设计境外电商平台入驻
  • wordpress中的搜索郴州网站seo外包
  • 做企业网站赚钱吗房产网站开发
  • 自己做网站要多久济宁网站制作
  • html网站怎么做视频有没有做家具特卖的网站
  • 没有专项备案的网站利用淘宝联盟做网站赚取佣金
  • 网站建设合同验收标准中国国际室内设计师网
  • 什么手机可做网站wordpress 赞赏
  • 效果好的网站建企业官网属于什么网站
  • 电子商务网站建设定位设想快速生成网站程序
  • 网站建设实训意见sem和seo都包括什么
  • 网站实名制查询网站开发报告