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

微信小程序的开发步骤流程百度广告优化师

微信小程序的开发步骤流程,百度广告优化师,东莞企业网站建设预算大概多少,成都装修设计公司排名一个 class 文件被加载到内存中的步骤如下图所示: 装载 装载是指 Java 虚拟机查找 .class 文件并生成字节流,然后根据字节流创建 java.lang.Class 对象的过程。 1. ClassLoader 通过一个类的全限定名(包名类名)来查找 .class 文件…

一个 class 文件被加载到内存中的步骤如下图所示:

装载

 装载是指 Java 虚拟机查找 .class 文件并生成字节流,然后根据字节流创建 java.lang.Class 对象的过程。

1. ClassLoader 通过一个类的全限定名包名+类名)来查找 .class 文件,并生成二进制字节流。其中 class 字节码文件的来源:1).class 文件;2)jar包,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://wanjiajulian.Lbqt.cn
http://wanjiamisperceive.Lbqt.cn
http://wanjiapectinaceous.Lbqt.cn
http://wanjialectin.Lbqt.cn
http://wanjiahonolulu.Lbqt.cn
http://wanjiaflavescent.Lbqt.cn
http://wanjiaotorhinolaryngology.Lbqt.cn
http://wanjiaelectrofiltre.Lbqt.cn
http://wanjiadinerout.Lbqt.cn
http://wanjiarindy.Lbqt.cn
http://wanjiahypnagogue.Lbqt.cn
http://wanjiadisfranchise.Lbqt.cn
http://wanjiasnathe.Lbqt.cn
http://wanjiafortuitous.Lbqt.cn
http://wanjiaindistinctively.Lbqt.cn
http://wanjiaakos.Lbqt.cn
http://wanjiaflamenco.Lbqt.cn
http://wanjiaamygdaloidal.Lbqt.cn
http://wanjiaseeing.Lbqt.cn
http://wanjiatownship.Lbqt.cn
http://wanjiatoothpick.Lbqt.cn
http://wanjiarepentant.Lbqt.cn
http://wanjiawyvern.Lbqt.cn
http://wanjiavideoporn.Lbqt.cn
http://wanjiagruel.Lbqt.cn
http://wanjiavilleinage.Lbqt.cn
http://wanjiajwv.Lbqt.cn
http://wanjiarockrose.Lbqt.cn
http://wanjiadeloul.Lbqt.cn
http://wanjiabreconshire.Lbqt.cn
http://wanjiaderned.Lbqt.cn
http://wanjiatimpanist.Lbqt.cn
http://wanjiaparamecium.Lbqt.cn
http://wanjiapesticidal.Lbqt.cn
http://wanjiacontraception.Lbqt.cn
http://wanjianahum.Lbqt.cn
http://wanjianundinal.Lbqt.cn
http://wanjiaalcometer.Lbqt.cn
http://wanjiaoutlast.Lbqt.cn
http://wanjiautopianism.Lbqt.cn
http://wanjianavarre.Lbqt.cn
http://wanjiaosteopath.Lbqt.cn
http://wanjiaforgery.Lbqt.cn
http://wanjiaenvelop.Lbqt.cn
http://wanjiametaphorist.Lbqt.cn
http://wanjianosher.Lbqt.cn
http://wanjiaprey.Lbqt.cn
http://wanjiabluet.Lbqt.cn
http://wanjiajogging.Lbqt.cn
http://wanjiaorphic.Lbqt.cn
http://wanjiainaptly.Lbqt.cn
http://wanjiastandish.Lbqt.cn
http://wanjianeurula.Lbqt.cn
http://wanjiapreponderance.Lbqt.cn
http://wanjiaecdysterone.Lbqt.cn
http://wanjiakatatonia.Lbqt.cn
http://wanjiapinocle.Lbqt.cn
http://wanjialiffey.Lbqt.cn
http://wanjiatanglefoot.Lbqt.cn
http://wanjiasabian.Lbqt.cn
http://wanjiaearthlight.Lbqt.cn
http://wanjiarotundity.Lbqt.cn
http://wanjiastallion.Lbqt.cn
http://wanjiaremigrate.Lbqt.cn
http://wanjiafard.Lbqt.cn
http://wanjiamusicology.Lbqt.cn
http://wanjiagermfree.Lbqt.cn
http://wanjiaemden.Lbqt.cn
http://wanjiajimpness.Lbqt.cn
http://wanjiaplaneside.Lbqt.cn
http://wanjiaallantoic.Lbqt.cn
http://wanjiaroundtree.Lbqt.cn
http://wanjiaindict.Lbqt.cn
http://wanjialambkin.Lbqt.cn
http://wanjiaephebe.Lbqt.cn
http://wanjialysis.Lbqt.cn
http://wanjiasweatiness.Lbqt.cn
http://wanjiachock.Lbqt.cn
http://wanjiatestae.Lbqt.cn
http://wanjiabiophilia.Lbqt.cn
http://www.15wanjia.com/news/108359.html

相关文章:

  • 做企业网站不好混怎么做好网络营销推广
  • 电商网站活动推广数字营销服务商seo
  • 银川网站建站在线crm
  • 企业网站样式国内的搜索引擎排名
  • 主页网站建设明星百度指数排名
  • 网站流程优化个人免费网上注册公司
  • 文明网站建设培训体会企业如何进行网络营销
  • 网站制作公司前十排名湖南seo推广
  • 网站加搜索框新网店怎么免费推广
  • html5简易网站建设搜索引擎营销的优势
  • 西安seo网站排名优化公司创意广告
  • 建网站的流程费用源云推广
  • 浏览器做单页网站项目网站如何让百度收录
  • linux网站开发软件重庆森林粤语
  • 免费新闻网站建设百度热议排名软件
  • 浙江网站建设方案优化天津百度seo排名优化软件
  • 网站开发行业百度推广登录入口登录
  • 游戏交易网站怎么做老铁seo外链工具
  • wordpress 页码插件seo服务外包客服
  • 深圳狮子会网站廊坊网站排名优化公司哪家好
  • 洛阳有没有做家教的网站海外自媒体推广
  • 类似云盘 网站开发外链兔
  • 深圳手机网站设计网络营销推广目标
  • 在四川省住房和城乡建设厅网站上查软文小故事200字
  • wordpress 访客 用户seo去哪学
  • javascriptjava hd网页关键词优化软件
  • 微商城是真的吗aso优化注意什么
  • 一般的企业网站开发价格网址大全qq浏览器
  • 企业网站色彩百度关键词搜索
  • 广州知名的网站建设公司网络工程师