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

学生制作设计个人网站佛山市城市建设工程有限公司

学生制作设计个人网站,佛山市城市建设工程有限公司,网站系统安全保护等级是必须做的,婚纱摄影手机网站欣赏一个 class 文件被加载到内存中的步骤如下图所示#xff1a; 装载 装载是指 Java 虚拟机查找 .class 文件并生成字节流#xff0c;然后根据字节流创建 java.lang.Class 对象的过程。 1. ClassLoader 通过一个类的全限定名#xff08;包名类名#xff09;来查找 .class 文件…一个 class 文件被加载到内存中的步骤如下图所示 装载 装载是指 Java 虚拟机查找 .class 文件并生成字节流然后根据字节流创建 java.lang.Class 对象的过程。 1. ClassLoader 通过一个类的全限定名包名类名来查找 .class 文件并生成二进制字节流。其中 class 字节码文件的来源1.class 文件2jar包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://www.pierceye.com/news/665657/

相关文章:

  • 建设银行网银网站激活个人简历模板电子版可填写
  • 肃州区建设局网站宁夏百度seo
  • 关于做电影的网站设计西安网站建设制作 熊掌号
  • idc网站建设怎么自己做一个网页链接
  • 网站开发安全模块方案个人网站搭建软件
  • 重庆建设招标造价信息网站个人网站建设与维护
  • 网站备案用户名忘了怎么办嘉兴做外贸网站的公司
  • 1688网站的特点网站制作器手机版下载
  • 兖州网站开发做一个中英文网站多少钱
  • wordpress怎么做网盘站好看的页面图片
  • 建设网站深圳罗湖安徽合肥做网站
  • 一级a做爰片免费网站下载网站快慢由什么决定
  • 网页设计与网站建设 郑州大学网络购物网站备案
  • 美观网站建设哪家好优化大师最新版下载
  • 外贸品牌网站制作wordpress 微信主题
  • 旅游网站开发需求分析网站的根目录的路径
  • easyUI网站开发docker wordpress mysql
  • dede手机网站模板下载黄冈做网站
  • 诸城网站建设葛小燕现在搜索引擎哪个比百度好用
  • 嘉兴做微网站多少钱注册网页需要多少钱
  • 论坛类网站设计大型网站系统解决方案
  • 网站建设中页面设计广告策划书籍
  • 云南省建设工程投标中心网站网页的制作步骤是什么
  • 保定网站设计概述更换动易网站模板的方法
  • 新手如何注册网站域名做 理财网站有哪些
  • 南宁快速建站模板企业网站的开发与应用
  • 网站运营适合什么样的人做企业宣传及介绍ppt
  • 怎么样网站开源小升初在线做试卷的网站
  • 中国建设银行章丘支行网站网站排版设计欣赏
  • 儿童摄影网站建设专业做网站制作自助建站系统