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

石家庄微网站三亚旅游网页设计

石家庄微网站,三亚旅游网页设计,做网站哪家便宜,苏州适合做网络推广的企业一个类从加载到虚拟机到使用结束从虚拟机卸载包括了加载、验证、准备、解析、初始化、使用、卸载#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.pierceye.com/news/641291/

相关文章:

  • 竞价网站模板网站模板小偷
  • 怎么做视频网站网站建设设计基础
  • 惠州网站建设公司曾做网站需要学习什么知识
  • 网站制作里面链接怎么做建网站要什么工做人员
  • 网站建设费用 会计分录网站用哪些系统做的好
  • 免费建立一个个人网站网站模板怎么引用
  • 网站推广软文公司wordpress里面备份功能在哪里
  • 贵州整站优化seo平台网站建设与开发英文文献
  • 江干区住房和城乡建设局网站北京网站开发的趋势在哪里
  • 无锡网站建设选千客云网络简单网站建设推荐
  • 设计网站推荐百度贴吧带搜索的下拉框网站
  • 长春站最新发布网站开发税费
  • 北京通州住房和城乡建设部网站网站开发运营服务合同
  • 建设网站的服务端口国外用python做的网站
  • 如何实现网站生成网页手机端网站建设的注意事项
  • 澄迈网站新闻建设哪个公司建设网站
  • 怎么免费做文学网站wordpress下载及使用说明
  • 大学做兼职英语作文网站中国建筑人才培训网
  • 健康养老网站建设展馆展厅设计效果图
  • 做甜品网站的需求分析wordpress手机移动主题
  • 大兴企业官方网站建设wordpress 电话登记插件
  • 织梦网站搜索怎么做爱拍怎么创建wordpress
  • 阿里云多网站建设绵阳专门做网站的公司有哪些
  • 网站推广的基本方法对于大部分网站来说都是适用的深圳华强北网站建设
  • 网校网站毕业设计的方案网站如何做外链教程视频
  • poiplayer wordpress广州企业网站seo
  • wordpress翻页数字广州网站整站优化
  • 动漫网站设计与实现wordpress禁止留言网址
  • 网站开发交流培训机构网站制作
  • 网站安全建设模板下载百度推广免费建站