value object 模式

package javatuning.ch2.vo;

import java.rmi.Naming;

public class Client {
	public static void main(String[] argv) {
		try {
			IOrderManager usermanager = (IOrderManager) Naming
					.lookup("OrderManager");

			long begin = System.currentTimeMillis();
			for (int i = 0; i < 1000; i++) {
				usermanager.getOrder(i);
			}
			System.out.println("getOrder spend:"
					+ (System.currentTimeMillis() - begin));

			begin = System.currentTimeMillis();
			for (int i = 0; i < 1000; i++) {
				usermanager.getClientName(i);
				usermanager.getNumber(i);
				usermanager.getProdName(i);
			}
			System.out.println("3 Method call spend:"
					+ (System.currentTimeMillis() - begin));
			System.out.println(usermanager.getOrder(0).getClientName());
		} catch (Exception e) {
			System.out.println("OrderManager exception: " + e);
		}
	}
}
package javatuning.ch2.vo;

import java.rmi.Remote;
import java.rmi.RemoteException;

public interface IOrderManager  extends Remote {
	 public Order getOrder(int id) throws RemoteException;
	 public String getClientName(int id) throws RemoteException;
	 public String getProdName(int id) throws RemoteException;
	 public int getNumber(int id) throws RemoteException;
}
package javatuning.ch2.vo;

public class Order implements java.io.Serializable{
	private int orderid;
	private String clientName;
	private int number;
	private String produnctName;

	
	public int getOrderid() {
		return orderid;
	}
	public void setOrderid(int orderid) {
		this.orderid = orderid;
	}
	public String getClientName() {
		return clientName;
	}
	public void setClientName(String name) {
		this.clientName = name;
	}
	public int getNumber() {
		return number;
	}
	public void setNumber(int number) {
		this.number = number;
	}
	public String getProdunctName() {
		return produnctName;
	}
	public void setProdunctName(String produnctName) {
		this.produnctName = produnctName;
	}
	
}
package javatuning.ch2.vo;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class OrderManager extends UnicastRemoteObject implements IOrderManager {
	protected OrderManager() throws RemoteException {
		super();
	}

	private static final long serialVersionUID = -1717013007581295639L;

	@Override
	public Order getOrder(int id) throws RemoteException {
		Order o=new Order();
		o.setClientName("billy");
		o.setNumber(20);
		o.setProdunctName("desk");
		return o;
	}

	@Override
	public String getClientName(int id) throws RemoteException {
		return "billy";
	}

	@Override
	public String getProdName(int id) throws RemoteException {
		return "desk";
	}

	@Override
	public int getNumber(int id) throws RemoteException {
		return 20;
	}
}
package javatuning.ch2.vo;

import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;

public class OrderManagerServer {
	  public static void main(String[] argv)   
	   {   
	      try  
	      {   
	         LocateRegistry.createRegistry(1099);   
	         IOrderManager usermananger = new OrderManager();   
	         Naming.rebind("OrderManager", usermananger);   
	         System.out.println("OrderManager is ready.");   
	      }   
	      catch (Exception e)   
	      {   
	         System.out.println("OrderManager Server failed: " + e);   
	      }   
	   }   
}
发布了176 篇原创文章 · 获赞 1 · 访问量 7175

猜你喜欢

转载自blog.csdn.net/qq_37769323/article/details/104173437