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

如何评价伊利集团网站建设谷歌字体wordpress主题

如何评价伊利集团网站建设,谷歌字体wordpress主题,深圳有哪些大公司,外贸网站优化怎么做当你超过别人一点点#xff0c;别人会嫉妒你#xff1b;当你超过别人一大截#xff0c;别人就会羡慕你 据说给我点关注的都成了大佬#xff0c;点关注的我都会私发一份好东西 ​​​​你得先知道 在介绍双亲委派机制的时候#xff0c;不得不提ClassLoader#xff08;类…当你超过别人一点点别人会嫉妒你当你超过别人一大截别人就会羡慕你 据说给我点关注的都成了大佬点关注的我都会私发一份好东西 ​​​​你得先知道 在介绍双亲委派机制的时候不得不提ClassLoader类加载器。说ClassLoader之前我们得先了解下Java的基本知识。     Java是运行在Java的虚拟机(JVM)中的但是它是如何运行在JVM中了呢我们在IDE中编写的Java源代码被编译器编译成.class的字节码文件。然后由我们得ClassLoader负责将这些class文件给加载到JVM中去执行。     JVM中提供了三层的ClassLoader Bootstrap classLoader:主要负责加载核心的类库(java.lang.*等)构造ExtClassLoader和APPClassLoader。 ExtClassLoader主要负责加载jre/lib/ext目录下的一些扩展的jar。 AppClassLoader主要负责加载应用程序的主函数类 那如果有一个我们写的Hello.java编译成的Hello.class文件它是如何被加载到JVM中的呢别着急请继续往下看。 双亲委派机制 我打开了我的AndroidStudio搜索了下“ClassLoader”,然后打开“java.lang”包下的ClassLoader类。然后将代码翻到loadClass方法 public Class? loadClass(String name) throws ClassNotFoundException {         return loadClass(name, false);     }     //              -----??-----     protected Class? loadClass(String name, boolean resolve)         throws ClassNotFoundException     {             // 首先检查是否已经被类加载器加载过             Class? c  findLoadedClass(name);             if (c  null) {                 try { // 存在父加载器递归的交由父加载器                     if (parent ! null) {                         c  parent.loadClass(name, false);                     } else { // 直到最上面的Bootstrap类加载器                         c  findBootstrapClassOrNull(name);                     }                 } catch (ClassNotFoundException e) {                     // ClassNotFoundException thrown if class not found                     // from the non-null parent class loader                 }                 if (c  null) {                     // If still not found, then invoke findClass in order                     // to find the class.                     c  findClass(name);                 }             }             return c;     } 其实这段代码已经很好的解释了双亲委派机制为了大家更容易理解我做了一张图来描述一下上面这段代码的流程   从上图中我们就更容易理解了当一个Hello.class这样的文件要被加载时。不考虑我们自定义类加载器首先会在AppClassLoader中检查是否加载过如果有那就无需再加载了。如果没有那么会拿到父加载器然后调用父加载器的loadClass方法。父类中同理也会先检查自己是否已经加载过如果没有再往上。注意这个类似递归的过程直到到达Bootstrap classLoader之前都是在检查是否加载过并不会选择自己去加载。直到BootstrapClassLoader已经没有父加载器了这时候开始考虑自己是否能加载了如果自己无法加载会下沉到子加载器去加载一直到最底层如果没有任何加载器能加载就会抛出ClassNotFoundException。那么有人就有下面这种疑问了 为什么要设计这种机制 这种设计有个好处是如果有人想替换系统级别的类String.java。篡改它的实现在这种机制下这些系统的类已经被Bootstrap classLoader加载过了为什么因为当一个类需要加载的时候最先去尝试加载的就是BootstrapClassLoader所以其他类加载器并没有机会再去加载从一定程度上防止了危险代码的植入。 总结了一张脑图如下
http://www.zqtcl.cn/news/328421/

相关文章:

  • 北京住房建设官方网站xampp wordpress服务器
  • 卖衣服的网站建设素材网站免费短视频
  • 萍乡网站建设哪家公司好搜索引擎推广预算
  • 如何做网站不容易被攻击网站定位策划书
  • 自己做网站去哪买服务器多说wordpress
  • 网站排名突然没有了网站开发背景图
  • 比较容易做流量的网站设计模板素材网站
  • 电商网站建设 网站定制开发兰州展柜公司网站建设
  • 临沂城乡建设管理局网站腾讯体育
  • 一个空间怎么放两个网站ps个人网站首页怎么制作
  • 云南通耀建设工程有限公司网站国际购物网站平台有哪些
  • 网站建设外包服务上海网站建设公司怎么分辨好坏
  • 建筑类企业网站模板下载微信搜索推广
  • 上海网站备案在哪里wordpress短链接关键字
  • 金诚财富网站是谁做的建站技术博客
  • 黔东南网站设计公司儿童衣服刘涛做代言那个是什么网站
  • 网站首页样式百度推广是什么工作
  • 广告手机网站制作阿里云域名 设置网站
  • 杭州市拱墅区网站建设ui培训有用么
  • 广东手机网站建设多少钱邯郸市做网站的公司
  • seo网站优化推广怎么做龙岗中心医院
  • 建网站程序智能网站建设平台
  • 建筑公司分几级资质seo入门培训
  • wap类网站上海网站建设免费推
  • 网站建设哪家好公司建设银行网站怎么登陆不
  • 关于建设网站的需求wordpress不能发布文章
  • 如何一键建淘宝客网站中国建设银行金华分行网站
  • 给wordpress添加公告英语seo
  • 佛山市网站建设系统wap浏览器网页版
  • 关于小说网站的一些建设流程学做蛋糕有哪些网站