首页 > 试题广场 >

存根(Stub)与以下哪种技术有关

[单选题]

存根(Stub)与以下哪种技术有关



  • 交换
  • 动态链接
  • 动态加载
  • 磁盘调度
存根类是一个类,它实现了一个接口,它的作用是:如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口,就免去了这种麻烦。
RMI 采用stubs 和 skeletons 来进行远程对象(remote object)的通讯。stub 充当远程对象的客户端***,有着和远程对象相同的远程接口,远程对象的调用实际是通过调用该对象的客户端***对象stub来完成的。
每个远程对象都包含一个***对象stub,当运行在本地Java虚拟机上的程序调用运行在远程Java虚拟机上的对象方法时,它首先在本地创建该对象的***对象stub, 然后调用***对象上匹配的方法。每一个远程对象同时也包含一个skeleton对象,skeleton运行在远程对象所在的虚拟机上,接受来自stub对象的调用。这种方式符合等到程序要运行时将目标文件动态进行链接的思想
发表于 2017-05-18 12:14:44 回复(11)
理解为适配器模式,继承该类则不需要实现一个接口全部方法。
发表于 2018-01-19 14:36:13 回复(2)
有些人很懒的,你们复制了也不知道加个高亮,他们就想知道动态链接体现在哪里。
呐!给你们看第三段
  • 存根类是一个类,它实现了一个接口,它的作用是:如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口,就免去了这种麻烦。
  • RMI 采用stubs 和 skeletons 来进行远程对象(remote object)的通讯。stub 充当远程对象的客户端代理,有着和远程对象相同的远程接口,远程对象的调用实际是通过调用该对象的客户端代理对象stub来完成的。
  • 每个远程对象都包含一个代理对象stub,当运行在本地Java虚拟机上的程序调用运行在远程Java虚拟机上的对象方法时,它首先在本地创建该对象的代理对象stub, 然后调用代理对象上匹配的方法。每一个远程对象同时也包含一个skeleton对象,skeleton运行在远程对象所在的虚拟机上,接受来自stub对象的调用。这种方式符合等到程序要运行时将目标文件动态链接的思想。
发表于 2020-10-14 09:02:48 回复(12)

dubbo远程调用可以有这么一个本地存根,场景是:用户要远程调用资源进行登录页面才能访问资源,但是无论登录成功还是不成功都得远程调用,这样就浪费了资源,所以我们就把验证这部分工作放在本地执行(本地存根),当用户验证(验证码等)工作放在本地,stub存根决定是否远程调用,也就是动态链接(动态连接使得大部分的连接过程延迟,直到程序开始运行)。个人见解…

发表于 2019-08-19 07:36:30 回复(0)

好多解析都是直接复制粘贴,里面连一点自己的理解都没有,有意思吗。。。

发表于 2019-05-24 10:50:50 回复(4)
每次错56个。答个锤子。
发表于 2020-05-15 13:22:41 回复(3)
适配器模式 ,屏蔽远程对象 通过适配器模拟本地对象  ,本地对象称之为存根 
发表于 2018-12-19 11:11:45 回复(0)

都是说存根类是什么,也没有解释为什么跟动态链接有关系啊

发表于 2019-03-19 23:45:54 回复(0)
RMI:
    采用stubs(存根)和skeletons来进行远程对象的通讯。stub在本地模拟远程对象的客户端,有着和远程对象相同的远程接口,远程对象的调用实际上是通过该远程对象在本地的stub存根来完成。
    每个远程对象都包含一个stub,当运行在本地Java虚拟机上的程序调用运行在远程Java虚拟机上的对象方法时。首先在本地创建一个该远程对象的stub存根,然后调用stub上对应的方法。
    每个远程对象同时也包含一个skeleton对象,skeleton运行在远程Java虚拟机山,接收来自stub对象的调用。
    本质上------------stub存根动态链接本地与远程。
stub存根:
    存根是一个类,实现了一个接口(远程对象接口),但它的实现都是空实现。
    我们正常实现一个接口,就必须实现该接口的全部方法。通过存根类的话,只需要继承存根类,然后选择性地重写存根类中的方法即可。
    --------这与适配器模式的思想很类似。
发表于 2020-09-03 14:23:48 回复(0)
就是适配器模式
发表于 2017-09-14 22:44:00 回复(6)
网上看到的:
j2ee里面的stub是这样说的..为屏蔽客户调用远程主机上的对象,必须提供某种方式来模拟本地对象,这种本地对象称为存根(stub),存根负责接收本地方法调用,并将它们委派给各自的具体实现对象。
动态连接使得大部分的连接过程延迟,直到程序开始运行。这种做法做提供了许多其它方法难以实现的优点: 
●  动态连接库比静态连接库更容易创建。
●  动态连接库比静态连接库更容易更新。
●  动态连接库的和非共享库的语义非常的接近。(这里语义指什么)
●  动态连接库容许程序在运行时装载和卸载例程,这是其它方式很难提供的一个功能。

发表于 2020-03-08 09:09:43 回复(0)

还是太年轻了,java教程里没见过这知识

发表于 2020-01-28 21:57:19 回复(0)
存根类是一个类,它实现了一个接口,但是实现后的每个方法都是空的。 

   它的作用是:如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口,就免去了这种麻烦

发表于 2018-10-22 17:07:07 回复(0)
动态链接是一个可以被其它应用程序共享的程序模块,其中封装了一些可以被共享的例程和资源。动态链接库文件的扩展名一般是dll,也有可能是drv、sys和fon,它和可执行文件(exe)非常类似,区别在于DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用
发表于 2022-03-07 22:15:47 回复(0)
动态链接又是什么?
发表于 2018-12-16 14:57:56 回复(0)
j2ee里面的stub是这样说的..为屏蔽客户调用远程主机上的对象,必须提供某种方式来模拟本地对象,这种本地对象称为存根(stub),存根负责接收本地方法调用,并将它们委派给各自的具体实现对象。
再理解动态链接是什么,这里有说
发表于 2019-06-10 01:34:04 回复(0)
存根类是一个类,它实现了一个接口,它的作用是:如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口,就免去了这种麻烦。 RMI 采用stubs 和 skeletons 来进行远程对象(remote object)的通讯。stub 充当远程对象的客户端***,有着和远程对象相同的远程接口,远程对象的调用实际是通过调用该对象的客户端***对象stub来完成的。 每个远程对象都包含一个***对象stub,当运行在本地Java虚拟机上的程序调用运行在远程Java虚拟机上的对象方法时,它首先在本地创建该对象的***对象stub, 然后调用***对象上匹配的方法。每一个远程对象同时也包含一个skeleton对象,skeleton运行在远程对象所在的虚拟机上,接受来自stub对象的调用。这种方式符合等到程序要运行时将目标文件动态进行链接的思想
发表于 2018-04-12 07:24:17 回复(0)
RMI是调用远程PC上的方法,动态链接是调用其他文件里的方法,思想一致,就这么简单。
发表于 2020-04-22 17:56:41 回复(0)
存根类是一个类,它实现了一个接口,它的作用是:如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口,就免去了这种麻烦。 RMI 采用stubs 和 skeletons 来进行远程对象(remote object)的通讯。stub 充当远程对象的客户端***,有着和远程对象相同的远程接口,远程对象的调用实际是通过调用该对象的客户端***对象stub来完成的。 每个远程对象都包含一个***对象stub,当运行在本地Java虚拟机上的程序调用运行在远程Java虚拟机上的对象方法时,它首先在本地创建该对象的***对象stub, 然后调用***对象上匹配的方法。每一个远程对象同时也包含一个skeleton对象,skeleton运行在远程对象所在的虚拟机上,接受来自stub对象的调用。这种方式符合等到程序要运行时将目标文件动态进行链接的思想
发表于 2018-10-24 15:19:11 回复(0)
没听过
发表于 2021-10-31 20:30:26 回复(0)