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

做h5好点的网站php 企业 网站

做h5好点的网站,php 企业 网站,浙江华企网站做的咋样,学编程的网课平台双亲委派模型是 Java 类加载器的一种工作模式#xff0c;通过这种工作模式#xff0c;Java 虚拟机将类文件加载到内存中#xff0c;这样就保证了 Java 程序能够正常的运行起来。那么双亲委派模型究竟说的是啥呢#xff1f;接下来我们一起来看。 1.类加载器 双亲委派模型针…双亲委派模型是 Java 类加载器的一种工作模式通过这种工作模式Java 虚拟机将类文件加载到内存中这样就保证了 Java 程序能够正常的运行起来。那么双亲委派模型究竟说的是啥呢接下来我们一起来看。 1.类加载器 双亲委派模型针对的是 Java 虚拟机中三个类加载器的这三个类加载器分别是 1.启动类加载器Bootstrap ClassLoader 2.扩展类加载器Extension ClassLoader 3.应用程序类加载器Application ClassLoader 如下图所示 image.png 这 3 个类加载器的作用如下。 1.1 启动类加载器 启动类加载器Bootstrap ClassLoader是由 C 实现的它是用来加载 \jre\lib\rt.jar 和 resources.jar 等 jar 包的如下图所示 image.png 接下来我们写个代码测试一下 rt 类加载器的打印 public class ClassLoaderExample {public static void main(String[] args) {// rt 类下的 ClassLoader 打印System.out.println(rt classloader String.class.getClassLoader());} } 以上程序的执行结果如下图所示 image.png 问题来了为什么打印的不是“Bootstrap ClassLoader”而是 null 呢 这是因为启动类加载器Bootstrap ClassLoader是由 C 实现的而这个 C 实现的类加载器在 Java 中是没有与之对应的类的所以拿到的结果是 null。 1.2 扩展类加载器 扩展类加载器是用来加载 \jre\lib\ext 目录下 jar 包的如下图所示 image.png 接下来我们使用代码来演示一下 ext 类加载器示例代码如下 public class ClassLoaderExample {public static void main(String[] args) {// ext 类下 classloader 打印System.out.println(ext classloader sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader());} } 以上程序的执行结果如下图所示 image.png 1.3 应用程序类加载器 应用程序类加载器是用来加载 classpath 也就是用户的所有类的接下来我们写代码测试一下应用程序类加载器的打印实现代码如下 public class ClassLoaderExample {public static void main(String[] args) {System.out.println(application classloader ClassLoaderExample.class.getClassLoader());} } 以上程序的执行结果如下图所示 image.png 2.双亲委派模型 双亲委派模型的执行流程是这样的 1、当加载一个类时会先从应用程序类加载器的缓存里查找相应的类如果能找到就返回对象如果找不到就执行下面流程 2、在扩展加载器缓存中查找相应的类如果能找到就返回对象如果找不到就继续下面流程 3、在启动类加载器中查询相应的类如果找到就返回对象如果找不到就继续下面流程 4、在扩展加载器中查找并加载类如果能找到就返回对象并将对象加入到缓存中如果找不到就继续下面流程 5、在应用程序类加载器中查找并加载类如果能找到就返回对象并将对象加入到缓存中如果找不到就返回 ClassNotFound 异常。 加载流程如下图所示 image.png 一般“双亲”指的是“父亲”和“母亲”而在这里“双亲”指的是类加载类先向上找再向下找的流程就叫做双亲委派模型。 3.优缺点分析 3.1 优点 双亲委派模型的优点有两个 1、安全。 2、避免重复加载。 3.1.1 安全 在安全方面的表现时当使用双亲委派模型时用户就不能伪造一些不安全的系统类了比如 jre 里面已经提供了 String 类在启动类加载时加载那么用户自定义再自定义一个不安全的 String 类时按照双亲委派模型就不会再加载用户定义的那个不安全的 String 类了这样就可以避免非安全问题的发生了。 3.1.2 避免重复加载 使用双亲委派模型也可以避免一个类被重复加载当一个类被加载之后因为使用的双亲委派模型这样不会出现多个类加载器都将同一个类重复加载的情况了。 3.2 缺点 双亲委派模型的典型问题是加载 SPI 实现类的场景比如 JNDIJava Naming and Directory InterfaceJava 命名与目录接口服务它的代码由启动类加载器去加载(在 JDK 1.3 时放进 rt.jar)但 JNDI 的目的就是对资源进行集中管理和查找它需要调用独立厂商实现部部署在应用程序的 classpath 下的 JNDI 接口提供者SPI, Service Provider Interface的代码但启动类加载器不可能“认识”之些代码这就双亲委派模型的问题JDBC 也是同样的问题。 总结 双亲委派模型是和 Java 中多个类加载器启动类加载器、扩展加载器、应用程序类加载器的运行规则通过这个双亲委派模型规则可以避免类的非安全问题和类被重复加载的问题但它也遇到了一些问题比如 JNDI 和 JDBC 不能通过这个规则进行加载它需要通过打破双亲委派的模型的方式来加载。
http://www.pierceye.com/news/451837/

相关文章:

  • 做网站涉及到哪些浙江城乡建设网站证件查询
  • 重庆市园林建设有限公司网站太原网站建设51sole
  • 淘宝客推广怎么做网站备案全国建设项目竣工验收公示网站
  • 数据型网站 建设方案建材类网站建设方案
  • 怎么和网站主联系方式seo站长工具箱
  • 西安网站运营招聘深圳网站设计公司电话
  • 老外的网站怎么做大学生个人网站制作
  • 顺德网站建设如何推广计划和推广单元
  • 什么是网站设计与运营苏州有哪些互联网大厂
  • 嘉兴网站建设培训合肥推广外包公司
  • 江苏建设厅网站查询国外网站推荐
  • 一个网站多久能做完湖南营销网站建设
  • sql网站开发徐州市住房建设局网站
  • 做网站的代码大学生网页设计心得体会
  • 浩方网络网站建设海安环评在哪个网站做
  • 吉林省建设厅证件查询网站网站不备案什么意思
  • 怎么查wordpress主题鞍山seo优化
  • 文字网站和图片网站哪个难做大城县建设局网站
  • 网站的二级目录是什么怎么把网站和域名绑定
  • 佛山营销网站建设wordpress请求超时
  • wordpress今天更新文章数漳州网站优化
  • 开发公司房产销售合同中必须明确哪些事项?seo网站推广全程实例
  • asp网站水印支除网络营销与市场营销的关系
  • 方圆网 网站建设wordpress 首页 不显示归档
  • 网站关键词怎么快速上排名wordpress极慢
  • 摄影网站建站wordpress怎么改密码
  • 旅游网站制作过程百度收录查询入口
  • 简述企业网站建设的流程网站建设的需求分析报告
  • 做网络课程的网站聚美优品网站建设分析
  • 网站建设公司简介wordpress注册按钮