范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

高频面试题请把Java的双亲委派机制说清楚

  如果面试官问你,类加载过程是哪几步?
  巴拉巴拉巴拉...(加载、验证、准备、解析、初始化)
  见这小伙子面容惊奇,脸泛红光,不由自主地就问了一下双亲委派模型说一下吧;遇见没有准备充分的,瞬间懵逼。
  下面我们就来说一下这个一个有意思的虚拟机类加载机制。
  一说起双亲委派,就必然要先聊一下Java中的类加载器。Java中的类加载器Bootstrap ClassLoader (启动类加载器)
  Bootstrap ClassLoader,启动类加载,默认加载的是jdklib目录下jar中诸多类;
  这个路径可以使用 -Xbootclasspath参数指定。Extension ClassLoader (扩展类加载器)
  Extension ClassLoader,扩展类加载器,默认加载jdklibext目录下jar中诸多类;
  这个路径可以使用 java.ext.dirs系统变量来更改。Application ClassLoader (应用程序类加载器)
  Application ClassLoader,应用程序类加载器,负责加载开发人员所编写的诸多类。User ClassLoader (自定义类加载器)
  自定义类加载器,当存在上述类加载器解决不了的特殊情况,或存在特殊要求时,可以自行实现类加载逻辑。
  关系如图所示:
  双亲委派模型是什么?
  说完了类加载器,下面我们就说一下什么是双亲委派模型吧。
  其是在JDK1.2期间被引入的,而后陆续被推荐给开发者,到目前已经成为了最常用的类加载器实现方式了。
  双亲委派整个过程分为以下几步:假设用户刚刚摸鱼写的Test类想进行加载,这个时候首先会发送给应用程序类加载器AppCloassLoader;然后AppClassLoader并不会直接去加载Test类,而是会委派于父类加载器完成此操作,也就是ExtClassLoader;ExtClassLoader同样也不会直接去加载Test类,而是会继续委派于父类加载器完成,也就是BootstrapClassLoader;BootstrapClassLoader这个时候已经到顶层了,没有父类加载器了,所以BootstrapClassLoader会在jdk/lib目录下去搜索是否存在,因为这里是用户自己写的Test类,是不会存在于jdk下的,所以这个时候会给子类加载器一个反馈。ExtClassLoader收到父类加载器发送的反馈,知道了父类加载器并没有找到对应的类,爸爸靠不住,就只能自己来加载了,结果显而易见,自己也不行,没办法,只能给更下面的子类加载器了。AppClassLoader收到父类加载器的反馈,顿时明白,原来爸爸虽然是爸爸,但是他终究不能管儿子的私事,所以这时候,AppClassLoader就自己尝试去加载。结果,就这样成功了,走了一大圈,兜兜转转还是自己干。
  这个并没有那么复杂,我就不画图了哈,大家如果想看图,可以去网上再搜一下,我记得有个大佬画得就很形象。为什么要使用双亲委派模型?
  使用双亲委派模型,有一个很大的好处,就是避免原始类被覆盖的问题。
  比如,用户编写了一个Object类,放入程序中加载。
  当没有双亲委派机制时,就会出现重复的Object类,会给开发人员造成很大的困扰,本来就只需要基于JDK开发就好了,现在还得把JDK中的类全记住,避免编写重复的类。
  当存在双亲委派机制时呢,整个事情就不一样了,每次加载类时,都会遵循双亲委派机制,去问父类是否可以加载,如果可以呢,那就不需要再次加载了,这样事情就变得简单了。(老子走的路,小子不能走 》.《)如何打破双亲委派模型?
  这个问题,其实就算是双亲委派模型中最深入的问题了,最起码中高级工程师面试,问到这也就下个话题了。
  这里我也简单说一下吧,最常见的也是人们常说的有两种,分别是:在自定义类加载器中,重写loadClass方法。
  为什么呢?因为如果你去看ClassLoader类的源码时,你会发现,双亲委派的核心代码就是在这个方法中的;试想,你如果重写了这个方法,自然而然地就打破了双亲委派机制了。
  使用线程上下文类加载器
  因为双亲委派机制不能支持SPI(Service Provider Interface), 所以才会引入线程上下文类加载器,有了它,就可以打通双亲委派模型的层次结构来反向使用类加载器来完成类加载。
  这个目前也是没有办法的事,涉及到SPI的目前都在使用这种方式来完成类加载,其中就包括常用到的JNDI、JDBC、JAXB等。
  这里其实还有一个可以打破双亲委派模型的情况,那就是OSGI,这个解释是在《深入理解 Java虚拟机》这本书中,可能是这本书的作者本身就对OSGI比较熟悉,而且看简介还出过一本OSGI的书。
  在很多应用环境中,OSGI被当做模块化热部署实现的关键,所以,这样就说明了,OSGI一定会对类加载过程做相应的一些措施。
  因为这个并不常碰到,还是大家自行去查看吧,我就不在这赘述了。

聚焦五大应用领域世界互联网大会发布14项领先科技成果来源人民网原创稿人民网乌镇9月26日电(记者许维娜)2021年世界互联网领先科技成果发布活动26日在乌镇举行,这是世界互联网大会第6次面向全球发布领先科技成果。作为世界互联网大会1家里插一节电器真能省电吗?家里插一节电器真能省电吗?关于家用节电器是一个老生常谈的话题。本人从事电力多年,许多年前就看见不少人购买这种里面的一只电容器,一个外包装,一个插头的东西。今天又在今日头条上看见有朋2021下半年如何选手机,老师傅提醒注意三点,外行人看后心领神会不混迹数码圈的人在选手机的时候一定都很苦恼,怎样才能选到适合自己的手机呢?回望上半年手机行业的发展,下半年外行人要买手机老师傅提醒这三点,心领神会后即使是外行人也不会踩坑。骁龙88从内到外深度定制OPPOFindX3Pro摄影师版购机即享千元礼包出品搜狐科技作者林国振9月16日晚,OPPOFindX3Pro摄影师版正式发布,借鉴复古相机的设计,金属质感的玻璃搭配黑荔枝纹理皮革,彰显出高级格调。作为摄影师版,新机还参考了相机指纹解锁如此方便,为何iPhone却不支持?提到手机的解锁方式,相信大家都有种安卓手机更为先进的感觉,毕竟许多手机都可以同时支持面部解锁和指纹解锁,非常方便,这时就不得不提提苹果的解锁方式了,即使上万元的苹果手机居然只支持面关于Miui13全新功能的探索做为米粉你们最喜欢MIUI13香系统有什么你最值得期待的全新功能呢?1。在桌面图标长按APP有快捷体验通道。长按APP选择二级迷你菜单背景图片图标有半透明效果,二级迷你菜单有毛玻璃荣耀MagicBook16Pro上架144HzR7GTX16509月24日消息,近日荣耀即将于9月26日发布的新款笔记本MagicBook16Pro2021已在电商平台上架。从目前产品页面上有限的信息看,荣耀MagicBook16Pro2021超曲面屏徕卡四摄鸿蒙系统,跌至3699元,华为5G旗舰机低价来袭华为再一次公布了鸿蒙系统的升级用户量,目前已经突破1。2亿,在短短3个月时间,升级用户量就达到这个数据,可见用户多么相信华为。而目前看来,华为鸿蒙系统的口碑还是很好的,大部分都给予中英美三国换机统计报告正式出炉这类人换新机速度最快国际知名研究机构StrategyAnalytics,近日发布了一份报告赢取智能手机市场的换机用户。这个报告主要针对中国英国和美国开展了一次智能手机消费者调研,从而调查出驱动消费者换姚安娜祝福姐姐回家却翻车,为什么大家喜欢孟晚舟,而不喜欢她?如果姚安娜毕业后投身华为,为华为贡献自己的聪明才智,一定会有很多人喜欢她的,但她却进入娱乐圈!而且是在华为被美国超级打压的情况下,她姐姐还在加拿大被扣押!两相比较,实在让人不喜欢她9月开学季丨手机主观推荐,一张图片让你清晰了解配置信息本文为主观推荐,仅代表作者观点,没有任何品牌倾向和利益关系。价格为最近几日的市场价,仅供参考(每天行情都略有变动,实际购买价以你当日为准)我们的推荐是以性价比为导向的,同价位中我们
绿厂员工怒喷华为和鸿蒙操作系统最终无奈离职是为哪般?近段时间,随着华为自主研发的国产鸿蒙操作系统逐渐落地,各种有关鸿蒙的话题常常成为舆论中心。由于鸿蒙OS是国内第一款有望成为大规模商用的移动操作系统,许多热心网友希望这款操作系统能够多杆合一优化城市空间,精细化城市管理有相关统计显示,目前全国范围内分布着数千万级的社会杆塔资源。这些杆塔种类繁杂功能单一数据孤岛现象严重,且因管理部门分散需求不同,重复开挖重复投资造成的浪费资源现象频出,亟需对城市道新基建下智慧城市的改变和机遇近年来,智慧城市建设在全球范围内方兴未艾。在智慧城市的建设大潮中,中国的成绩格外耀眼。就在前不久,2020年世界智慧城市大奖(WSCA)正式公布获奖名单,上海荣膺世界智慧城市大奖,备货三十万销量一万,炒作而已出自某个自媒体,具体来源不详。可信度不知,不过国产也就小米华为有万元机,本来以为是一加,一加销量确实不行,听说首发备了50万,不过价格差太多了。华为小米销量也都超过。不过大部分人都为了子孙后代,请善待华为把善待说在开头,是希望大家不要谩骂华为即可!买不买产品都无所谓,理解万岁!理解什么呢?理解华为的生死和我们有啥关系!包括过去的我们,现在的我们,以及未来的孩子们!一过去华为成立在8三星新平板,tabS8?三星的调研泄漏了下一代的平板,会是S8系列吗?配置图图中能看出大致配置,归纳如下中杯,大杯还是和s7一样的全面屏设计,超大杯采用了前置双摄,有了一个刘海,具体用途还不知(不好看)配田梓枫5。30比特币以太坊再次经历黑色周末5月29日晚,新华社发布题为百倍杠杆!疯狂的币圈带来暴富还是爆仓?的文章,再次对虚拟货币表示关注。这是新华社在两天内第3次发问虚拟货币。文章表示,让众多投资者一夜之间账面清零的背后5G泡沫严重,5G用户数竟然比5G手机累计销量多近1。5亿三大运营商都公布了截至4月份的数据,数据显示它们的5G用户数合计已达到4。2亿,然而根据信通院公布的中国市场累计5G手机销量却只有2。7亿台左右,这意味着其中有1。5亿或35。7的还在纠结买哪款5G手机?不妨看看这三款旗舰,配置高又好用1小米11Ultra很多人了解小米11Ultra都会感到眼前一亮,被看作是当下辨识度最高的旗舰机。不妨先看看其外观,小米11Ultra选择的是6。81英寸的2KAMOLED的E4屏高通888猛降K40Pro和realmeGT都是2499?今年都在跟风说高通888处理器功耗翻车了,但其实拿到的用户都觉得还好,压根没有网上说的那么恐怖,但即便是这样上半年的高通888手机的价格都高居不下,不过现在刚好卡在618这个节点,进一步实锤用上120Hz屏?苹果13屏幕素质将有所升级安卓手机都用上高刷屏好久了,今年不仅旗舰都大部分普及,连中端入门机型用上高刷屏也屡见不见。对于这个更流畅的特性,前期苹果似乎不以为然,前代iPhone12系统遗憾鸽了高刷屏之后,下