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

东莞做网站怎么样搜狐综合小时报2022113011

东莞做网站怎么样,搜狐综合小时报2022113011,经典品牌策划书范文案例,wordpress 模板 字体点击下方关注我#xff0c;然后右上角点击...“设为星标”#xff0c;就能第一时间收到更新推送啦~~~ Java 源码是如何形成类文件的#xff0c;类文件又是如何加载到虚拟机的#xff0c;类加载有哪些机制和原则呢#xff1f;本文将为大家一一介绍。 1 Java 源码形成类文件… 点击下方关注我然后右上角点击...“设为星标”就能第一时间收到更新推送啦~~~ Java 源码是如何形成类文件的类文件又是如何加载到虚拟机的类加载有哪些机制和原则呢本文将为大家一一介绍。 1 Java 源码形成类文件 1、Helloworld.java 形成 HelloWorld.class 的过程 package jvm; public class HelloWorld { public static void main(String[] args) {System.out.println(HelloWorld);} } 编译操作javac Helloworld.java --- Helloworld.class 命令行编译javac 命令、运行java 命令效果图 查看类文件的字节码javap 命令 HelloWorld.java 编译过程 HelloWorld.java --- 词法分析 --- token 集合 --- 语法分析 --- 语法树/抽象语法树 --- 语义分析 --- 注解抽象语法树 --- 字节码生成 --- HelloWorld.class文件 2 类文件加载到虚拟机类加载机制 1、类使用的生命周期 类从被加载到虚拟机内存中开始直到卸载出内存为止它的整个生命周期包括 7 个阶段加载、验证、准备、解析、初始化、使用和卸载。类加载主要是前 5 个阶段。 加载(Load)查找和导入 class 文件 链接(Link)包括验证、准备和解析三个阶段。 1. 验证(Verify)保证被加载类的正确性包括文件格式验证元数据验证是否符合Java语法规范字节码验证确保不会危害虚拟机安全符号引用验证等。 2. 准备(Prepare)为类的静态变量分配内存并将其初始化为默认值。 3. 解析(Resolve)把类中的符号引用转换为直接引用包括类或接口的解析变量的解析等。 初始化(Initialize)是类加载过程的最后一步对类的静态变量静态代码块执行初始化操作。 3 类加载器以及类加载原则 1、类加载器 启动类加载器BootStrap ClassLoader加载 jdk 的核心类库启动类加载器 Java 代码获取不到 扩展类加载器Extension ClassLoader加载 jre/lib/ext 目录下的类 应用程序类加载器App ClassLoader加载自定义应用程序类和普通 jar 包 自定义类加载器Custom ClassLoader应用程序可以继承 java.lang.ClassLoader类的方式重写它的 findClass 方法实现自己的类加载器以满足一些特殊的要求比如把自己的代码进行加密以防止反编译。 2、JVM 的类加载时机 1、创建类的实例也就是new一个对象的时候 2、访问某个类或接口的静态变量或者对该静态变量赋值的时候 3、调用类的静态方法 4、反射 Class.forName(jvm.HelloWorld) 3、JVM 的类加载机制 全盘负责机制当一个类加载器负责加载某个类时该类所依赖和引用的其他类也将由该类加载器负责加载除非显示使用另外一个类加载器来加载。 双亲委派机制双亲委派就是如果一个类加载器在接到加载类的请求时它首先不会自己尝试去加载这个类而是把 这个请求任务委托给父类加载器去完成依次递归如果父类加载器可以完成类的加载就成功返回只有父类加载器无法完成加载时才自己去加载。双亲委派机制的优势是可以保证 Java 核心类库的类型安全比如 Java中的 Object 类它存放在 rt.jar 之中无论哪一个类加载器要加载这个类最终都是委派给处于模型最顶端的启动类加载器进行加载因此 Object 在各种类加载环境中都是同一个类也就是保证了用户不能自己定义 java.lang.Object 类的情况。 缓存机制保证所有加载过的类都会被缓存当程序中需要使用某个类时类加载器先从缓存区中获取该类只有当缓存区中不存在该类的对象时系统才会读取该类对应的二进制数据并将其转换成类对象存入缓冲区中。这就是为什么修改了代码后必须重新启动才会生效的原因。 4、类加载的原则 检查某个类是否已经加载的顺序是自底向上从Custom ClassLoader 到 BootStrap ClassLoader 逐层检查只要某个 Classloader 已加载就视为已加载此类保证此类只加载一次类加载的顺序是自顶向下也就是从上到下由上层来逐层尝试加载类。 后面将为大家介绍运行时数据区的知识。
http://www.pierceye.com/news/843810/

相关文章:

  • 校园网站的意义融资渠道
  • 做网站上海公司自己制作一个网站需要什么软件
  • 铜川做网站电话app开发程序
  • 自助建微网站备案后修改网站名称
  • 免费网站正能量网站如何后台管理
  • 网站开发的质量标准网站如何做自适应
  • 黄南州wap网站建设公司wordpress里面怎么加链接
  • 五分钟自己创建网站的方法免费试用网站空间
  • 安徽平台网站建设找哪家辽宁建设工程信息网审核
  • 余姚住房和建设局网站10元备案域名购买
  • 企业网站制作公司盈利做支付行业招代理一般上什么网站
  • 网站制作电话wordpress支持PHP吗
  • 天津网站推广宣传拓者设计吧室内设计
  • 建设 信用中国 网站淘宝购物
  • 义乌论坛网站建设怎样建设智能网站
  • 重庆做网站 外包公司建设校园网站的必要性
  • 做我女朋友好不好套路网站html5网页设计实训总结
  • 怎样给网站登录界面做后台seo研究中心官网
  • 养生类网站源码dreamwear网页制作
  • 北京装修平台网站网页设计公司企业文化
  • 上海临平路网站建设网站建设设计制作方案与价格
  • seo三人行网站免费电商网站建设
  • seo蒙牛伊利企业网站专业性诊断.win域名做网站怎么样
  • 微信、网站提成方案点做网站建设当中的技术解决方案
  • 云南省住房和城乡建设厅官方网站网站哪里可以查到做ddos
  • 爱情动做网站推荐个人养老保险金怎么交
  • 淘客怎么做自己的网站演示动画制作免费网站
  • 哪个网站可以搭建网页百度指数官网入口
  • 济南网站开发设计wordpress. 外贸seo
  • 深圳网站建设优化织梦 蝉知 wordpress