warra 2009-06-10 12:53
浏览 153
已采纳

java RMI 的问题

前几天提问了几个问题 解决了一部分 剩下的几个再提一下 希望大家帮忙解释一下

问题4 RMI服务器一直在不断的运行,客户端发出的调用请求到底是服务器上哪段程序监听的?

问题5
public static void main(String[] args) {
try {
HelloService service1 = new HelloServiceImpl("service1");
HelloService service2 = new HelloServiceImpl("service2");

Context namingContext = new InitialContext();
namingContext.rebind("rmi:HelloService1", service1);
namingContext.rebind("rmi:HelloService2", service2);
System.out.println("服务器注册了两个HelloService对象");

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
为什么这段服务器段程序在执行完System.out.println("服务器注册了两个HelloService对象");
后,当前进程仍然没有结束运行?
有书说,向注册表中注册了两个远程对象,注册表一直引用着这两个对象,使得两个对象不会结束生命周期,因而当前服务器程序也不会结束运行。不同的jvm内存中的对象难道可以引用吗?

问题 6
通过命令java -Djava.rmi.server.codebase xxxx运行程序后,可以从网络上装载class
想问一下这个codebase属性的设置作用于哪个类装载器呢?是哪个类装载器负责从codebase指定的路径下装载类?

  • 写回答

3条回答 默认 最新

  • wanghaolovezlq 2009-06-10 13:18
    关注

    看看这文章
    http://flypig.iteye.com/blog/393156

    就是因为这是服务器端程序,当然是不能停止结束,不然客户端怎么去调用服务器的请求

    不同的jvm内存中的对象当然是不可以引用的

    问题6
    这个类装载器一定是继承了URLClassLoader,这个基类就提供可从任何url的地方加载类

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥60 pb数据库修改或者求完整pb库存系统,需为pb自带数据库
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路