(此图为网上下载)
真的不想说什么。最初看到这个“双亲委派”四个字的时候,我是接受的。当时也没什么多余想法,看到名词就感觉这大概就是最权威的。
但,最近我开始怀疑这样的翻译了。因为它真的不能够准确的让人把它映射到Java类加载机制的画面上去。
双亲委派?你委派给谁?双亲?双亲又是什么?
看看Java类加载的委派模型图:
基本机制就是:
如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把请求委托给父加载器去完成,依次向上,因此,所有的类加载请求最终都应该被传递到顶层的启动类加载器中,只有当父加载器在它的搜索范围中没有找到所需的类时,即无法完成该加载,子加载器才会尝试自己去加载该类。 (摘自《深入理解Java虚拟机》)
通过这个图,我们也无法想象为什么叫 双亲 。明明都只有一个parent。要叫也叫单亲啊。
“双亲委派”这个词估计也不是咱自己生造的,肯定也是从洋文中翻译来的。
让我们去找找洋文中一般是怎么叫这种机制的吧。
IBM的知识中心
发现IBM的知识中心叫这种机制叫:parent-delegation model。
这个显然无法翻译成“双亲”啊,即使翻译也应该是 “父委托模型” 或 “父委派模型”。
而不应该叫 双亲 ,抛开“双”, “亲”字也无法直接体现parent的意思啊,况且“父”在编程界也算是一个常用的词了,什么“父节点”之类的。
再举目望去如下图:
都是Parent Delegation Model啊。这个真的无法叫双亲啊,make no sense啊。还不如叫“啃老模型”,如果要正式一点,那建议是:“父委托模型”或“父委派模型”。
本文分享自 ImportSource 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!