解答:
1.“远程对象是能被另一个JVM调用得网络对象实现。它们实现远程接口,因此将能够被远程客户得方法暴露出来。”这是MATER EJB上的原话,可能不太好理解。远程对象就是在非调用端的类的实例(物理位置不定)。由于它们实现了远程接口,当调用端调用远程接口的时候,它们的方法就能被调用端的用户看到,因而也可以被调用。
2.非远程就是本地的拉。
3.序列化是为了网络传输,编组和解组是使得参数在请求的远程机器上可以使用的处理方法。为什么呢,因为在不同的机器里,参数在内存中的位置是不同的,需要影射到调用它的机器上的内存中吧。
不需要网络传输的就不需要序列化和编组,原因就不用我说了吧。
stub模拟了一个本地对象,所以它也成为了对象调用参数的代理(就是说,参数传递到了stub上),所以,你需要把它传递到远方(其实就是把参数传递到远方,让远方对象可以执行嘛)。
1.“远程对象是能被另一个JVM调用得网络对象实现。它们实现远程接口,因此将能够被远程客户得方法暴露出来。”这是MATER EJB上的原话,可能不太好理解。远程对象就是在非调用端的类的实例(物理位置不定)。由于它们实现了远程接口,当调用端调用远程接口的时候,它们的方法就能被调用端的用户看到,因而也可以被调用。
2.非远程就是本地的拉。
3.序列化是为了网络传输,编组和解组是使得参数在请求的远程机器上可以使用的处理方法。为什么呢,因为在不同的机器里,参数在内存中的位置是不同的,需要影射到调用它的机器上的内存中吧。
不需要网络传输的就不需要序列化和编组,原因就不用我说了吧。
stub模拟了一个本地对象,所以它也成为了对象调用参数的代理(就是说,参数传递到了stub上),所以,你需要把它传递到远方(其实就是把参数传递到远方,让远方对象可以执行嘛)。
解决方案 »
- 一道面试题 时间方面 急
- OGNL如何用JSP内声明的变量 ?在线等
- 关于IBATIS查询视图不出结果
- 使用HP Compaq Presario 3800系列的V3814TU进行开发配置是否够用?
- response.setHeader方法中,filename属性的限制问题
- 谁能提供一个简单的hibermnate+spring+struts开的系统源码
- webwork根strtus差不多嘛!!!!!!!!!!
- java问题
- Jboss 或 应用服务器 除了网上有,买d版的不知道有没有啊,下载太慢啊!!
- 在执行java程序时,如何获取当前.class文件的路径
- 怎样设置整个web应用程序的全局变量?
- 本公司JAVA论坛,新的,大家多多支持
还有点疑惑,书上说发送远程对象实际上就是发送stub,现在比如server上有个远程对象,client调用,是不是服务器发送stub(stub那个类??)到客户端给客户??如果是这样的话,那么client上是不是不需要stub的那个类文件了??
stub也不是类,是个模拟的本地对象,就是说是模拟了远程对象,让你的机器以为远程对象就在本地,然后你的机器就会给stub这个“对象”传递它所需要的参数,然后呢,你的机器就把stub连同参数传递到远程机器上了。最后在远方,程序执行后,把结果再返回你的机器。
你看的什么书?翻译的这么恶心!
J2EE服务器提供生成需要的stub的方法,在SUN的J2EE包含了称为RMIC的工具,他可以生成stub类。
书里写的stub不是指类,明白没?
才能搞清stub和skeleton的。
如果是这样的还有一点问题哦,就是skeleton是干嘛的,是不是调用真正的remote object时用的?
请继续回答,谢谢,弄懂之后,另开贴给分!!!
远程对象需要接受来自skeleton的调用,skeleton相对于远程对象来说是本地的。skeleton负责接收来自网络的调用请求,然后将该调用分配给远程对象的执行代码。所以说,就是调用真正的remote object时用的。给分吧,哈哈。