java rmi简单例子
----------接口------------
import java.rmi.*;
public interface HelloIn extends java.rmi.Remote{
String sayHello() throws RemoteException;
}
--------实现类-------------
import java.rmi.*;
import java.net.*;
import java.rmi.registry.*;
import java.rmi.server.*;
public class Hello extends java.rmi.server.UnicastRemoteObject implements HelloIn{
public Hello() throws RemoteException{
super();
}
public String sayHello() throws RemoteException{
return "Hello,World!";
}
public static void main(String[] args){
if(System.getSecurityManager()==null)
{
System.setProperty( "java.security.policy", "java.policy" );
System.setSecurityManager(new java.rmi.RMISecurityManager());
}
try{
HelloIn h=new Hello();
java.rmi.Naming.rebind("hello",h);
System.out.print("Ready......");
}
catch(Exception e){
e.printStackTrace();
}
}
}
-------------测试类----------------
import java.rmi.*;
import java.rmi.registry.*;
public class Helloworld{
public static void main(String[] args){
if(System.getSecurityManager()==null)
{
System.setProperty( "java.security.policy", "java.policy" );
System.setSecurityManager(new java.rmi.RMISecurityManager());
}
try{
HelloIn hi=(HelloIn)Naming.lookup("rmi://192.168.1.200/hello");
System.out.println(hi.sayHello());
}
catch(Exception e){
e.printStackTrace();
}
}
}
运行步骤
第一步:生成class文件 javac -d . *.java
第二步:生成规则文件 java.policy
java.policy内容
/* AUTOMATICALLY GENERATED ON Wed Jan 20 15:03:35 CST 2010*/
/
相关文档:
ThreadLocal的核心思想很简单:为每个独立的线程提供一个变量的副本。
ThreadLocal则使用了“拷贝副本”的方式,人人有份,你用你的,我用我的,大家互不影响,是“以空间换时间”。每个线程修改变量时,实际上修改的是变量的副本,不怕影响到其它线程。
& ......
前言
本文前言部分为我的一些感想,如果你只对本文介绍的Java实用技巧感兴趣,可以跳过前言直接看正文的内容。
本文的写作动机来源于最近接给人家帮忙写的一个小程序,主要用于管理分期付款的货款的一系列管理,包括过期款的纪录,过期款利息的计算,为提前付款的用户提供一些返款奖励等等,这些与本文无关自不必细说。 ......
Java杂谈(六)
这篇是笔者打算写的J2se部分的最后一篇了,这篇结束之后,再写J2ee部分,不知道是否还合适写在这个版块?大家可以给点意见,谢谢大家对小弟这么鼓励一路写完前六篇Java杂谈的J2se部分。最后这篇打算谈一谈Java中的RMI机制和JVM沙箱安全框架。&nbs ......