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

做网站需要什么工具网站推广技巧

做网站需要什么工具,网站推广技巧,公司简介网站怎么做,六安开发区网站双亲委派可以简单理解为, 当收到加载请求时, 会依次向上加载 ; 只有当父类加载器无法完成加载请求时,子类加载器才会尝试自己去加载。 工作原理 类加载请求传递:当应用程序需要加载一个类时,比如通过ClassLoader.loadClass()方法&#xff0…

双亲委派可以简单理解为, 当收到加载请求时, 会依次向上加载 ; 只有当父类加载器无法完成加载请求时,子类加载器才会尝试自己去加载。

工作原理

  • 类加载请求传递:当应用程序需要加载一个类时,比如通过ClassLoader.loadClass()方法,首先会由应用程序类加载器(通常是系统类加载器)接收到这个请求。然后,它会将这个请求委托给它的父类加载器 —— 扩展类加载器。扩展类加载器又会将请求进一步委托给启动类加载器。
  • 类加载尝试顺序:启动类加载器首先尝试加载类,如果它能找到并加载这个类,那么就完成了类加载过程。如果启动类加载器无法加载,它会将任务返回给扩展类加载器,让扩展类加载器尝试加载。如果扩展类加载器也无法加载,就再将任务返回给应用程序类加载器,由应用程序类加载器尝试加载。如果应用程序类加载器也无法加载,才会抛出ClassNotFoundException异常

作用

  • 避免类的重复加载:通过双亲委派机制,当一个类已经被某个类加载器加载过了,那么其他类加载器就不会再次加载它,保证了类在整个 Java 虚拟机中只有一份实例,节省了内存空间,也避免了因类的重复加载而可能导致的各种问题。
  • 保证类的安全性:它确保了 Java 核心类库的安全性。例如,java.lang.Object类是由启动类加载器加载的,其他类加载器在加载类时,如果需要加载java.lang.Object类,都会委托给启动类加载器,这样就保证了所有的类都使用的是 Java 核心类库中的Object类,而不是被恶意篡改过的版本,防止了核心类被非法替换或篡改。
import java.io.IOException;
import java.io.InputStream;public class MyClassLoader extends ClassLoader {@Overrideprotected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException {// 首先检查该类是否已经被加载过Class<?> c = findLoadedClass(name);if (c == null) {try {// 尝试使用父类加载器加载if (getParent()!= null) {c = getParent().loadClass(name);} else {// 如果父类加载器为null,说明已经到了启动类加载器,使用系统类加载器加载c = ClassLoader.getSystemClassLoader().loadClass(name);}} catch (ClassNotFoundException e) {// 如果父类加载器无法加载,则尝试自己加载c = findClass(name);}}if (resolve) {resolveClass(c);}return c;}@Overrideprotected Class<?> findClass(String name) throws ClassNotFoundException {// 自定义类加载逻辑,从文件或网络等获取类的字节码// 这里只是简单示例,实际应用中需要根据具体情况实现String className = name.substring(name.lastIndexOf('.') + 1) + ".class";InputStream is = getClass().getResourceAsStream(className);if (is == null) {throw new ClassNotFoundException(name);}try {byte[] b = new byte[is.available()];is.read(b);return defineClass(name, b, 0, b.length);} catch (IOException e) {throw new ClassNotFoundException(name);}}
}

MyClassLoader类继承自ClassLoader类,重写了loadClass方法来实现双亲委派机制。首先会检查类是否已经被加载过,如果没有,则先尝试使用父类加载器加载,如果父类加载器无法加载,再尝试自己加载。findClass方法用于自定义类的加载逻辑,这里只是简单地从当前类所在的路径下读取类的字节码

http://www.hkea.cn/news/474300/

相关文章:

  • 深圳企业网站开发中国法律服务网app最新下载
  • 大连企业网站建站国外域名注册网站
  • 站长工具seo综合查询权重百度在线搜索
  • 伊犁网站建设评价怎样才能上百度
  • 房地产网站建设方案百度实名认证
  • 做外贸可以在哪些网站注册网络项目免费的资源网
  • 中国建设银行信用卡网站首页青岛关键词优化平台
  • 阿里云网站建设考试题目长沙网站推广服务公司
  • 甘肃建设项目审批权限网站俄罗斯搜索引擎yandex官网入口
  • 网站建设公司新员工培训ppt模板百度热门搜索排行榜
  • 仿魔客吧网站模板网址大全是ie浏览器吗
  • 网站产品后台界面怎么做湖南关键词排名推广
  • 网站数据每隔几秒切换怎么做的湖南百度seo排名点击软件
  • 网站制作先学什么百度新闻下载安装
  • 河南省网站建设哪家好免费观看行情软件网站进入
  • 粘合剂东莞网站建设体育热点新闻
  • 百度网站排名关键词整站优化培训网站建设
  • 网络平台代理seo外包 杭州
  • 东方头条网站源码免费推广软件工具
  • 北京网站建设公司分享网站改版注意事项流程优化四个方法
  • 案例学 网页设计与网站建设手机百度seo快速排名
  • 江门网站建设总部电话产品推广渠道有哪些
  • 网站建设全攻略站长之家ping检测
  • 导航网站 cmsgoogle chrome谷歌浏览器
  • wordpress看其他人博客优化师是做什么的
  • 现在哪个网站还做白拿2021小说排行榜百度风云榜
  • 网站流量seo提升seo排名的方法
  • 做html网站模板下载地址网站页面布局和样式设计
  • 公司网站邮箱费用磁力宅在线搜种子
  • wordpress 缺少临时文件夹刷关键词优化排名