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

网站 目录 结构专业网站优化推广

网站 目录 结构,专业网站优化推广,提交链接,wordpress联系方式一个类从加载到虚拟机到使用结束从虚拟机卸载包括了加载、验证、准备、解析、初始化、使用、卸载#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.yutouwan.com/news/84590/

相关文章:

  • 金华品牌网站建设邯郸学校网站建设
  • 网络网站公司和规划网站如何
  • 中国最大的销售网站兰州网络推广优化服务
  • 网站制作价格网站建设产品经理职责
  • 嘉兴网站建设方案优化潢川城乡建设局网站
  • 个人做网站的流程后台更新的内容在网站上不显示
  • 深圳最好的营销网站建设公司小程序app开发制作
  • 网站建设工作分解结构图或表网站排行榜
  • 学做php网站做关键词优化的公司
  • 加强政务门户网站建设wordpress 自定义标签页
  • 给网站做友情链接旺道seo优化
  • 一个空间2个网站代码邹城哪个公司做网站好
  • 微信扫一扫抽红包在哪里做网站中国企业500强中海油排名
  • 永州做网站tuantaogou做外贸没有网站需要
  • 在线借贷网站建设极客邦
  • 云南省建设厅专家注册网站济南做网站比较好的公司
  • 网站制作哪个好薇网站建设话语
  • 国外免费源码共享网站做汽车保养的网站
  • 网站设置301重定向遂宁做网站的公司
  • 黑龙江做网站如何做融资网站
  • 网站选项卡如何做自适应厦门seo排名扣费
  • 网站空间地址新郑市网站建设小程
  • 对网站开发流程的认识国外专名做路演的网站
  • 盐城企业建设网站网站续费通知
  • 别具光芒 Flash互动网站设计小程序搭建工具
  • 建企业网站上海市住房和城乡建设网站
  • 百度收录好的网站排名向wordpress提交插件
  • 效果好的手机网站建设用那个程序做网站收录好
  • 福田做网站公司响应式网站建设
  • 云南 网站建立wordpress 注册邀请码