当前位置: 首页 > wzjs >正文

长春建站推荐自己怎么做网站

长春建站推荐,自己怎么做网站,小学学校网站建设培训资料,自己做网站 为什么出现403前言: java的动态代理是指进行明确的分工的操作(多接口 比如我是酒店的老板 有人找我合作 需要先经过前台 我的助理 而不是直接找我) 序列化 :为什么序列化 序列化的对象是一个类 我们也叫对象 class一堆东西里面有很多函…

前言:

java的动态代理是指进行明确的分工的操作(多接口  比如我是酒店的老板  有人找我合作 需要先经过前台 我的助理  而不是直接找我)

序列化 :为什么序列化  序列化的对象是一个类 我们也叫对象   class一堆东西里面有很多函数方法 假如我现在是app我想调用web上写好的一个对象 我不能直接把那个对象传输过来吧  

因为这个对象在web上假如web使用的是php那他不认识啊  这个时候就需要序列化一下 把他序列化成方便传输的形式  从而实现互通  对方反序列之后就能直接使用

记住java反序列的流程  :  序列化的 对象是 一个对象   结果是输出一个装着对象的文件

反:对象是一个文件  目标是一个对象

动态代理的实现

public interface User {   //创建一个接口void sayxiaodi(String name,int money);}

上边这个是接口  下面这个是创建的使用

public class UserImpt implements User{   //创建类调用User接口@Overridepublic void sayxiaodi(String name,int money) {  //使用接口的sayxiaodi方法System.out.println("hi "+name+",i want sign up");  //name是最后实现的时候  用户设置的System.out.println("i have paid "+money);    //这个是用户的缴费}
}

反射方法获取  实例化接口的类

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
//因为是反射 调用其他的类所以要使用   invoke接口
public class UserImptInhander implements InvocationHandler {private Object target;public UserImptInhander(Object target) {this.target = target;}@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {System.out.println("hello,i am "+args[0]);            //这个是接口被触发的时候就会显示Object invoke = method.invoke(target, args);        //使用    UserImpt  的类内的方法System.out.println("okay,you are my baby");return invoke;}
}

调用接口

import java.lang.reflect.Proxy;public class UserProxy  {public static void main(String[] args) {// 创建目标对象User user = new UserImpt();// 创建 userImptInhanderUserImptInhander userImptInhander = new UserImptInhander(user);// 创建代理对象User proxy=(User)Proxy.newProxyInstance(UserImpt.class.getClassLoader(),new Class<?>[]{User.class},userImptInhander);proxy.sayxiaodi("xiaodi",3000);  //用户的设置proxy.sayxiaodi("moonsec",5000);}}

我们运行代理

这个就是自动回复的使用  

看一下调用的顺序

打个断点然后点击上面的蜘蛛

然后点f7进行步入

invoke()这个函数就是出现在反射机制中   用户调用其他类的方法

arg[0] 就是表示参数

为什么学这个动态的代理:主要是了解链:许多链就是调用使用接口的一些类  然后如果其他的类中有

Runtime.getRuntime().exec("calc");

那就能触发命令执行   

因为看到了他的跳转机制所以我们直接 添加一句   

我们运行的是

代理对象怎么触发计算机了

这个有个触发链 

UserproxyUserimptlnheadUserimptln内的Runtime.getruntime("CALC")

上面这个就是动态代理的触发链

主要的学习目标就是 :了解invoke()导致的链的触发

http://www.dtcms.com/wzjs/143910.html

相关文章:

  • 建设网站的准备工作分为百度指数查询官方网
  • 制作网站源码软件网络整合营销4i原则是指
  • 网站建设相关制度网络营销策划步骤
  • 龙港哪里有做阿里巴巴网站seo外链工具
  • 广东建设监理协会网站个人账号seo推广怎么入门
  • 哪个网站能看到医生做的全部手术下载手机百度最新版
  • tplink虚拟服务器做网站360竞价推广怎么做
  • 网站推广怎么样北京核心词优化市场
  • 做营销型网站 推广的好处网站关键词排名seo
  • 微信第三方做网站需要费用吗seo搜索引擎优化心得体会
  • 哪个网站有做电箱电柜的图纸十大it教育培训机构排名
  • 沈阳网站seo排名优化seo收费标准多少
  • 如何创建一个国外免费网站发布会直播平台
  • 南昌建站模板百度seo关键词排名优化软件
  • 工业设计网站哪个好用百度指数有什么作用
  • 北京市住房和城乡建设厅官方网站亚马逊排名seo
  • 肇庆网站建设优化宽带业务如何推广
  • 数据营销系统seo站长之家
  • 网站意见反馈源码怎么打广告宣传自己的产品
  • 凌源网站优化优化大师人工服务电话
  • 做p2p网站 预算多少湖南seo快速排名
  • 百度sem竞价托管seo推广排名软件
  • 设计模板网站深圳优化怎么做搜索
  • 想要去国外网站买东西怎么做1688网站
  • 湖州网站开发整合营销传播理论
  • 衡阳网站seo网页模版
  • 邳州市建设局官方网站保定关键词排名推广
  • h5自适应网站建设郑州网站seo外包
  • 杭州专业网站排名优化看今天的新闻
  • 360提交网站备案ttkefu在线客服系统官网