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

图文店做网站有用处吗由wordpress自豪地提供

图文店做网站有用处吗,由wordpress自豪地提供,手机微网站价,卖网站链接写在前面 我们知道我们编写的java代码#xff0c;会经过编译器编译成字节码文件#xff08;class文件#xff09;#xff0c;再把字节码文件装载到JVM中#xff0c;映射到各个内存区域中#xff0c;我们的程序就可以在内存中运行了。那么字节码文件是怎样装载到JVM中的呢… 写在前面   我们知道我们编写的java代码会经过编译器编译成字节码文件class文件再把字节码文件装载到JVM中映射到各个内存区域中我们的程序就可以在内存中运行了。那么字节码文件是怎样装载到JVM中的呢中间经过了哪些步骤常说的双亲委派模式又是怎么回事本文主要搞清楚这些问题。 类装载流程 1、加载   加载是类装载的第一步首先通过class文件的路径读取到二进制流解析二进制流将里面数据结构类型、常量等载入到方法区在java堆中生成对应的java.lang.Class对象用类封装类在方法区中的数据结构。 2.1、验证   验证的主要目的就是判断class文件的合法性比如class文件一定是以0xCAFEBABE开头的另外对版本号也会做验证例如如果使用java1.8编译后的class文件要再java1.6虚拟机上运行因为版本问题就会验证不通过。除此之外还会对元数据、字节码进行验证机构验证语义验证字节码验证。 2.2、准备   准备过程就是分配内存给类的一些字段设置初始值例如public static int v1;     这段代码在准备阶段v的值就会被初始化为0只有到后面类初始化阶段时才会被设置为1。   但是对于static final常量在准备阶段就会被设置成指定的值例如public static final  int v1;     这段代码在准备阶段v的值就是1。   对于int类型的静态变量分配4个字节的内存空间并且默认值为0。long类型的静态变量分配8个字节的内存空间默认值为0。布尔(false) 2.3、解析   解析过程就是将符号引用替换为直接引用例如某个类继承java.lang.object原来的符号引用记录的是“java.lang.object”这个符号凭借这个符号并不能找到java.lang.object这个对象在哪里而直接引用就是要找到java.lang.object所在的内存地址建立直接引用关系这样就方便查询到具体对象。或者A类中调用了B类对象的fun()方法那么b.fun()就是符号引用会转换为B类fun()的具体地址。 3、初始化   初始化过程主要包括执行类构造方法、static变量赋值语句staic{}语句块需要注意的是如果一个子类进行初始化那么它会事先初始化其父类保证父类在子类之前被初始化。所以其实在java中初始化一个类那么必然是先初始化java.lang.Object因为所有的java类都继承自java.lang.Object。 触发类初始化的场景   1.创建类的实例。   2:访问类或者接口的静态变量或者给静态变量赋值。   3.调用类的静态方法。只有当出现访问的静态变量或者静态方法确实在当前类或者接口中定义时才可以认为是对类或者接口的主动使用   4.反射如 Class.forName(com.a.b.c.Test)   5.初始化一个类的子类。   6.Java虚拟机启动时被标记为启动类的类 系统中的ClassLoader   BootStrap Classloader (启动ClassLoader) 只加载 jre/lib/下面的类   Extension ClassLoader 扩展ClassLoader只加载 jre/lib/ext/下面的类   App ClassLoader(应用 ClassLoader) 加载环境变量Path   Custom ClassLoader(自定义ClassLoader)   每个ClassLoader都有另外一个ClassLoader作为父ClassLoaderBootStrap Classloader除外它没有父Classloader。ClassLoader加载机制如下   类的加载    类的加载并不需要等到某个类被“首次主动使用”时再加载它。   JVM规范允许类加载器在预料某个类将要被使用时就预先加载它如果预先加载过程中遇到了.class文件缺失或者存在错误类加载器必须在程序主动使用该类时报告错误LinkageError错误如果这个类一直没有被程序使用那么类加载器就一直不会报告这个错误。   调用ClassLoader类的loadClass方法加载一个类并不是对一个类的主动使用并不会导致类的初始化仅仅是类的加载。  静态常量   编译时静态常量 static final a 6/3; //不会触发类的初始化   允许时静态常量 static final a Math.random(100); // 会触发类的初始化   转载于:https://www.cnblogs.com/chihirotan/p/11516276.html
http://www.huolong8.cn/news/353091/

相关文章:

  • dz论坛做视频网站教程高端网站设计企业网站建设
  • 做一家网站需要多少钱做设计的公司的网站
  • 江西东乡网站建设单页网站设计制作
  • 商城网站建设清单手机网页及网站设计
  • 哪个建设网站检察院门户网站建设工作成效
  • 用什么程序做网站最好优化广州网站建设网络
  • 嘉兴公司网站制作一人有限公司怎么注册
  • 电商网站模板引擎什么做网站统计好
  • 网站营销案例网站建设打不开
  • 上海模板建站软件手机网站 asp
  • 加强门户网站建设与管理办法上传了源程序提示网站建设中
  • 网站开发程序员自学中国比较有名的外贸公司
  • 建设网站为什么要虚拟主机新浪做网站
  • 网站备案帐号找回可以做推广的网站
  • 广州网站开发广州亦客网络wordpress站点后台
  • 网站模板代码下载河南省建设工程一体化平台
  • 天津建设银行官网站上海十大营销策划公司排名
  • 企业网站关键词应如何优化厦门手机网站建设
  • 常用网站建设软件有哪些网站图片一般多大
  • 网站建设管理要求商业门户网站是什么意思
  • 怎么做告白网站国家企业信用公示信息系统(四川)
  • 商贸公司寮步网站建设价钱上海搬家公司电话价格表
  • 网站建设基础与网页设计个人网站设计结构图
  • 有哪些做婚礼平面设计的网站有哪些四川网站建设公司 会员登录
  • 一个虚拟主机多个网站成都品牌设计策划
  • 有哪个网站是成都中科大旗做的网站开发工程师工作职责
  • 网站建设制作设计seo优化南宁做网站怎么添加关键词
  • 怎样做网站分析郑州做营销型网站建设
  • 企业网站成功案例WordPress增加积分系统
  • 郓城做网站哪家好中关村网站建设