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

网站 目录 结构网站建设交印花税

网站 目录 结构,网站建设交印花税,做期权注册网站,android软件开发实例一个类从加载到虚拟机到使用结束从虚拟机卸载包括了加载、验证、准备、解析、初始化、使用、卸载#xff0c;即为一个类的生命周期下面来看一下类加载的过程#xff0c;即加载、验证、准备、解析、初始化5个阶段都做了什么事#xff1a;阶段1#xff1a;加载加载阶段虚拟机… 一个类从加载到虚拟机到使用结束从虚拟机卸载包括了加载、验证、准备、解析、初始化、使用、卸载即为一个类的生命周期下面来看一下类加载的过程即加载、验证、准备、解析、初始化5个阶段都做了什么事阶段1加载加载阶段虚拟机主要3件事通过类的全名获取其二进制字节流将字节流代表的静态结构转化为方法区识别的运行时数据结构在内存中实例化这个类的java.lang.Class对象(不一定在堆内存中的HotSpot就将Class对象放在了方法区里)程序访问这个类在方法区中的类型数据时会通过这个类去访问以上三点虚拟机并不要求如何实现只是一个规范比如第一步通过类全名获取其二进制流动态代理技术是在运行时获取、JSP应用是根据jsp文件获取并生成对应的Class以及从ZIP包中获取(JAR、EAR、WA同理)等阶段2验证验证阶段大体上会完成4个阶段的验证(文件格式验证、元数据验证、字节码验证、符号引用验证)以保证虚拟机中类的规范和安全。文件格式验证校验字节流是否复合Class文件的格式验证文件是否以魔数0xCAFEBABE(十六进制class文件中的前4个字节)开头主、次版本号(十六进制class文件中的第5、第6个字节)能否被当前版本的虚拟机处理常量池中是否有不被支持的类型指向常量的索引中是否指向了不存在的常量Class文件中各个部分以及文件本身是否有被删除或附加的其他信息……元数据类型校验语义是否符合Java语言规范的要求验证类是否有父类(除了java.lang.Object)验证父类是否继承了不可被继承的类如果不是抽象类那么要判断是否实现了父类或接口的所要求实现的所有方法……字节码验证校验类的方法体确定语义是否符合逻辑保证操作数栈中的数据类型与指令序列一致保证跳转指令不会跳到方法体外的字节码指令上保证方法体中的类型转换有效……阶段3准备准备阶段是为类变量分配内存并设置类变量初始值的阶段这里所说的初始值并不是指代码赋的值而是数据类型的默认值如public static int value 123; 在准备阶段过后,value会被置为0,而不是123。同时要注意public static final int value 123; 这种使用final修饰的变量在准备阶段就会被赋值为123,而不是初始值。阶段4解析解析阶段会将常量池内的符号引用转换为直接引用关于符号引用和直接引用的解释如下符号引用以一组符号来描述所引用的目比如定义了在类IntF中定义了intValue 123接着让Test.foo中的a变量指向Intf.intValue:    public class Test{        public void foo(){            int a  Intf.intValue;        }    }    class Intf{        public static int intValue  123;    }编译代码之后我们用javap -verbose Test来查看class文件中的内容   Constant pool:   #1  Methodref          #4.#12         // java/lang/Object.:()V   #2  Fieldref           #13.#14        // Intf.intValue:I   #3  Class              #15            // Test   #4  Class              #16            // java/lang/Object // 省略部分代码...  public void foo();    descriptor: ()V    flags: ACC_PUBLIC    Code:      stack1, locals2, args_size1         0: getstatic     #2                  // Field Intf.intValue:I         3: istore_1         4: return      LineNumberTable:        line 3: 0        line 4: 可以看到常量池第2项是一个符号引用指向了Intf.intValue直接引用就是我们常说的指针或者句柄直接引用的目标一定会在虚拟机内存中存在。阶段5初始化初始化阶段是类加载的最后一个阶段主要执行类的方法(不同与方法方法是在显式调用constructor时执行而方法在初始化阶段就会执行)()方法会执行赋值操作和执行静态语句快中的内容换句话说如果代码中没有静态语句块和赋值操作那么就可以没有()方法。这个阶段虚拟机会保证父类的()方法会在子类的()方法前执行而且在多线程环境中虚拟机会保证()方法的同步。
http://www.sadfv.cn/news/168459/

相关文章:

  • 西安建设网站平台百度官网下载电脑版
  • 网站建设先进怎么给自己的网站做扫描码
  • 网站后台免费模板网址导航2345
  • 南京网站排名优化费用商业网站建设设计装饰
  • 美丽寮步网站建设高性能电商主页设计
  • 漂浮广告网站小程序开发是前端还是后端
  • 网站建设构架服务器ip做网站
  • 1高端网站建设wordpress样式错乱
  • 广州seo网站优化培训现在什么类型网站没有人做
  • 在百度上建网站怎么建设我国市级网站建设分析模板
  • 云南网站建设电话苏州集团网站建设
  • 网站建设2种账号体系外贸营销推广的手段
  • 做网站图片代码怎么居中网络营销与直播电商专业介绍
  • 为什么做这个网站项目网站设计是用ps做图吗
  • 山东省住房与城乡建设厅网站怎么做营销
  • wordpress 后台很慢网站建设和网络优化
  • 杭州网站建设中心门户网站建设哪里有
  • 网站对接微信接口做静态网站选用什么服务器
  • 网站开发用原生网站开发公司哪里寻找客源
  • 网站建设的风险识别无代码开发平台什么意思
  • 电商网站运营团队建设方案模板wordpress菜单选项如何链接
  • 网站作品怎么做链接网络公司除了建网站
  • 网站备案查询怎么做网页的欢迎页面
  • 个人网站 备案 广告锦州seo推广
  • python网站开发案例dw制作简单网站模板
  • 做展示型网站便宜吗官方网站下载钉钉
  • 上海闵行做网站的公司济南网站排名推广
  • 龙岗网站建设定制开发做阿里巴巴网站费用
  • 网站备案法律谷歌搜索引擎入口2022
  • wordpress 如何汉化汕头网络推广seo渠道