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

企业查询免费网站系统学做网站

企业查询免费网站,系统学做网站,千锋教育和黑马哪个好,查询网站后台地址Java虚拟机#xff08;JVM#xff09;中的类加载器#xff08;Class Loader#xff09;负责将类#xff08;.class文件#xff09;加载到JVM中#xff0c;以便Java程序能够使用这些类。在JVM中#xff0c;类加载器被组织成一种层次结构关系#xff0c;这种层次结构关系…Java虚拟机JVM中的类加载器Class Loader负责将类.class文件加载到JVM中以便Java程序能够使用这些类。在JVM中类加载器被组织成一种层次结构关系这种层次结构关系中的类加载器遵循一种被称为“双亲委派模型”Parent-First Delegation Model的加载机制。以下是关于双亲委派机制的详细解释。 ### 双亲委派模型简介 双亲委派模型要求除了顶层的启动类加载器Bootstrap Class Loader外其余的类加载器都应当有自己的父类加载器。类加载器在尝试自己加载类之前首先委托给父类加载器进行加载只有当父类加载器加载失败即在它的搜索范围内没有找到所需的类时子类加载器才会尝试自己加载该类。 ### 工作原理 #### 1. 类加载器层次结构 在Java中类加载器大致可以分为以下几种 - **启动类加载器Bootstrap Class Loader**这是JVM中最顶层的类加载器负责加载Java标准库中的类如rt.jar中的类。它是用原生代码如C/C实现的是JVM的一部分。 - **扩展类加载器Extension Class Loader**负责加载Java的扩展库jre/lib/ext目录或者由系统属性java.ext.dirs指定的目录下的类库。 - **应用程序类加载器Application Class Loader**负责加载用户类路径ClassPath上的所有类库。 这些类加载器之间的关系是启动类加载器没有父类加载器扩展类加载器的父类加载器是启动类加载器应用程序类加载器的父类加载器是扩展类加载器。 #### 2. 加载过程 当一个类需要被加载时以下过程会被执行 1. **检查缓存**首先检查该类是否已经被加载过如果有就直接返回否则继续下一步。 2. **委派给父类加载器**将类加载请求委派给父类加载器父类加载器重复步骤1和2直到达到启动类加载器。 3. **尝试加载**如果父类加载器无法完成加载则当前类加载器会尝试自己加载该类。 4. **定义类**加载完成后将类数据存入方法区Method Area并在Java堆Heap中创建一个对应的java.lang.Class对象用于封装类数据。 #### 3. 优点 - **避免类的重复加载**当父类加载器已经加载了该类时子类加载器无需再次加载确保了同一个类在JVM中是唯一的。 - **保护程序安全**通过双亲委派模型Java核心API中定义的类型不会被随意替换防止了核心API被篡改的风险。 ### 特殊情况 尽管双亲委派模型是Java推荐使用的类加载器实现方式但在某些情况下它可能不适用或者需要被打破 - **SPIService Provider Interface**JDBC、JNDI、JAXP等规范它们允许用户通过接口来扩展服务而这些接口的实现类可能是由不同的厂商提供的因此需要由不同的类加载器来加载。 - **热部署**在运行时更新应用程序的某些部分而不需要重启整个应用程序这就需要自定义类加载器来绕过双亲委派机制。 ### 自定义类加载器 如果需要自定义类加载器通常会有以下两种方式 - **继承java.lang.ClassLoader**覆盖findClass方法遵循双亲委派模型。 - **继承java.lang.ClassLoader并覆盖loadClass方法**完全打破双亲委派模型自定义加载逻辑。 ### 安全性考虑 双亲委派模型在安全性方面起到了重要作用它确保了Java核心库的类型安全。但是也有潜在的安全问题比如类加载器可能会加载恶意的类文件。因此以下措施可以增强安全性 - **代码签名**对类文件进行数字签名类加载器在加载类之前验证签名。 - **访问控制**限制类加载器加载特定路径下的类文件。 ### 总结 双亲委派模型是Java虚拟机中类加载器的一种重要机制它通过委派的方式确保了类的唯一性和安全性。尽管在某些特殊情况下需要打破这一模型但双亲委派模型仍然是Java平台推荐和广泛使用的类加载方式。了解双亲委派模型的工作原理和实现方式对于Java开发人员来说是非常重要的它不仅有助于理解Java类的加载过程还能在开发复杂Java应用时提供更多的灵活性和控制力。
http://www.w-s-a.com/news/245038/

相关文章:

  • 比较简洁大方的网站软件工程四大方向
  • 大家称赞的网站建设常德小学报名网站
  • 做网站怎么建文件夹百度网盘搜索神器
  • 企业有域名怎么做网站淘宝推广平台
  • 学网站开发去哪学药品销售推广方案
  • 哔哩哔哩h5播放器深圳网站seo外包公司哪家好
  • asp做的手机网站wordpress 文章title
  • 网站验证码目录wordpress内嵌播放器
  • 文明网网站建设南昌市建设规费标准网站
  • 安康有建网站的公司吗做网站用什么网名好
  • 济南网站制作哪家专业西安市城乡建设网官方网站
  • 网站建设有趣小游戏怎样让网站优化的方式
  • 昭通做网站儿童编程教学入门教程
  • eclipse静态网站开发软文广告投放平台
  • 网站建设教学视频济南做网站需要多少钱
  • 网站免费做软件市工商联官方网站建设方案
  • 网站建设大体包含英铭长沙网站建设
  • 网站建设培训学校北京如何搜索网站
  • discuz论坛模板哪些网站容易做seo优化
  • 渭南公司做网站网站建设互联网推广
  • 公司网站app怎么做杭州建设局网站
  • 网站开发需要自己写代码吗12306网站多少钱做的
  • 策勒网站建设四川建设网有限责任公司招聘
  • 网站建设哪里有学网页界面设计论文
  • 怎么做外贸网站推广劳务公司网站怎么做
  • 滴答手表网站中铁建设集团有限公司招聘信息2021
  • 重庆富通科技有限公司网站新闻头条最新消息国家大事
  • 四字母net做网站怎么样企业代运营公司
  • 纪检网站建设方案wordpress首页静态页面
  • 网站右下角浮动效果如何做网站logo设计在线生成