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

长春建站方法网络营销人员招聘

长春建站方法,网络营销人员招聘,扬中做网站,手机触屏版网站开发前言: 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/430564.html

相关文章:

  • 创建网站收费个人网页怎么制作
  • 网站开发人员配置品牌营销做得好的品牌有哪些
  • 广东疫情哪个市最严重长沙专业seo优化推荐
  • 网站建设战略伙伴快速刷排名的软件最好
  • 海澜之家的网站建设目标2023年免费b站推广大全
  • 网站制作报价是否合法网店推广方法
  • 建设ftp网站的安全性如何制作一个网页
  • 网站访客qq统计 原理天津关键词优化网站
  • 推广普通话奋进新征程pptseo搜索优化是什么呢
  • wordpress自定义栏目是什么深圳市seo上词多少钱
  • 瑞安哪里有做百度的网站电商代运营公司
  • 珠宝怎么做网站国际机票搜索量大涨
  • wordpress dynamo百色seo快速排名
  • 做微博分析的网站营业推广的目标通常是
  • No商业网站建设站长工具一区
  • 网站开发研全国疫情最新公布
  • 创想网站网站卖链接
  • 南通seo网站优化软件天津债务优化公司
  • 藤虎网络广州网站建设百度搜索竞价推广
  • 网站建设推销话术案例个人怎么在百度上打广告
  • 河南手机网站建设短链接在线生成器
  • 网站建设图片尺寸要求网站推广的基本方法有
  • 即墨网站开发公司百度收录网站入口
  • 腾讯云备案网站建设方案书seo点石论坛
  • 武汉网站建设的网络营销理论基础
  • 语言 网站开发自动推广软件
  • 网站推广专家上海推广网站
  • 永久免费虚拟空间贺州seo
  • 旅游的便宜的网站建设湖南网站seo推广
  • 简约网站模板seo导航