java JDK中动态代理的原理是什么

  介绍

这篇文章将为大家详细讲解有关java JDK中动态代理的原理是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

java可以用来干什么

java主要应用于:1。网页开发;2。Android开发;3。客户端开发;4。网页开发;5。企业级应用开发;6。Java大数据开发;7。游戏开发等。

<强> 1,说明

Java中提供了一个动态代理类代理,代理并不是我们所说的代理对象的类,而是提供了一个创建代理对象的静态方法(newProxyInstance)来获取代理对象。

<强> 2,实例

 public  class  HelloWorld  {
  ,,,public  static  void  main (String [], args), {
  ,,,,,,,//,获取代理对象
  ,,,,,,,ProxyFactory  factory =, new  ProxyFactory ();
  ,,,,,,,
  ,,,,,,,SellTickets  proxyObject =, factory.getProxyObject ();
  ,,,,,,,
  ,,,,,,,proxyObject.sell ();
  ,,,}
  }
  ,//,卖票接口
  interface  SellTickets  {
  ,,,void 出售();
  }
  ,//,火车站,火车站具有卖票功能,所以需要实现SellTickets接口
  class  TrainStation  implements  SellTickets  {
  ,,@Override
  ,,,public  void 出售(),{
  ,,,,,,,System.out.println(“火车站卖票“);
  ,,,}
  }
  ,//,代理工厂,用来创建代理对象
  class  ProxyFactory  {
  ,,,private  TrainStation  station =, new  TrainStation ();
  ,
  ,,,public  SellTickets  getProxyObject (), {
  ,,,,,,,//,使用代理获取代理对象
  ,
  ,,,,,,,/* *
  ,,,,,,,,*,newProxyInstance(),方法参数说明:
  ,,,,,,,,*,,ClassLoader 装载机:,类加载器,用于加载代理类,使用真实对象的类加载器即可
  ,,,,,,,,*,,Class<?在[],接口:真实对象所实现的接口,代理模式真实对象和代理对象实现相同的接口
  ,,,,,,,,*,,InvocationHandler  h:代理对象的调用处理程序
  ,,,,,,,*/,
  ,,,,,,,SellTickets  SellTickets =, (SellTickets), Proxy.newProxyInstance (
  ,,,,,,,,,,,,,,,station.getClass () .getClassLoader (),
  ,,,,,,,,,,,,,,,new  InvocationHandler (), {
  ,,,,,,,,,,,,,,,,,,,/* *
  ,,,,,,,,,,,,,,,,,,,,*,InvocationHandle中调用方法参数说明:
  ,,,,,,,,,,,,,,,,,,,,*,,代理:代理对象
  ,,,,,,,,,,,,,,,,,,,,*,,方法:对应于在代理对象上调用的方法的方法实例
  ,,,,,,,,,,,,,,,,,,,,*,,arg游戏:代理对象调用接口方法是传递的实际参数
  ,,,,,,,,,,,,,,,,,,,*/,,,,,,,,,,,,,,,,,,,
  ,,,,,,,,,,,,,,,,,,,public  Object 调用(Object 代理,Method 方法,对象[],args), throws  Throwable  {
  ,,,,,,,,,,,,,,,,,,,,,,,System.out.println(“代理点收取一些服务费用(JDK动态代理方法)“);
  ,,,,,,,,,,,,,,,,,,,,,,,
  ,,,,,,,,,,,,,,,,,,,,,,,//,执行真实对象
  ,,,,,,,,,,,,,,,,,,,,,,,Object  result =, method.invoke(车站,,args);
  ,,,,,,,,,,,,,,,,,,,,,,,return 结果;
  ,,,,,,,,,,,,,,,,,,,}
  null
  null
  null
  null

java JDK中动态代理的原理是什么