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

织梦系统做网站wordpress 安装地址

织梦系统做网站,wordpress 安装地址,网络营销案例论文3000字,网站群的建设lambda 序列化总览 lambda序列化在许多用例中很有用#xff0c;例如持久配置或作为远程资源的访客模式 。 远程访客 例如#xff0c;因此我想访问远程Map上的资源#xff0c;可以使用get / put#xff0c;但是说我只想从Map的值中返回一个字段#xff0c;我可以将lambda作… lambda 序列化 总览 lambda序列化在许多用例中很有用例如持久配置或作为远程资源的访客模式 。 远程访客 例如因此我想访问远程Map上的资源可以使用get / put但是说我只想从Map的值中返回一个字段我可以将lambda作为访问者来提取信息。我想要。 MapView userMap Chassis.acquireMap(users, String.class, UserInfo.class); userMap.put(userid, new UserInfo(Users Name));// print out changesuserInfo.registerSubscriber(System.out::println);// obtain just the fullName without downloading the whole object String name userMap.applyToKey(userid, u - u.fullName);// increment a counter atomically and trigger // an updated event printed with the subscriber. userMap.asyncUpdateKey(userid, ui - {ui.usageCounter;return ui; });// increment a counter and return the userid int count userMap.syncUpdateKey(userid,ui - { ui.usageCounter; return ui;},ui - ui.usageCounter); 如您所见添加各种简单功能或调用方法来执行所需的操作很容易。 唯一的问题是默认情况下lambda无法序列化。 可序列化的Lambda 使Lambda可序列化的一种简单方法是将的可转换类型添加到引用lambda的实现的变量中。 FunctionUserInfo, String fullNameFunc (FunctionUserInfo,String Serializable) ui - ui.fullName; String fullName userInfo.applyToKey(userid, fullNameFunc); 如您所见这引入了很多样板。 使用lambda的一个关键原因是避免样板代码那么替代方法是什么 使lambda可在您的API中序列化。 不幸的是无法更改标准API或添加其子类但是如果您拥有自己的API则可以使用Serializable接口。 FunctionalInterface public interface SerializableFunctionI, O extends FunctionI, O, Serializable { } 该接口可用作参数类型。 default R R applyToKey(K key, NotNull SerializableFunctionE, R function) {return function.apply(get(key)); } 您的API用户不必明确声明lambda是可序列化的。 // obtain just the fullName without downloading the whole object String name userMap.applyToKey(userid, u - u.fullName); 远程实现对lambda进行序列化然后在服务器上执行该lambda并返回结果。 类似地存在将lambda应用于整个地图的方法。 查询和订阅 为了支持查询如果要隐式添加Serializable则不能使用内置的streamAPI。 但是您可以创建一个尽可能相似的文件。 Map collect userMap.entrySet().query().filter(e - e.getKey().matches(u*d)).map(e - e.getValue()).collect(Collectors.groupingBy(u - u.usageCounter)); 或作为过滤的订阅。 // print userid which have a usageCounter 10 each time it is incremented. userMap.entrySet().query().filter(e - e.getValue().usageCounter 10).map(e - e.getKey()).subscribe(System.out::println); 这与常规流API的不同之处在于数据可以分布在许多服务器上并且当任何服务器上的数据发生更改时您都会得到回调。 在服务器上应用过滤器和映射时只有您感兴趣的数据才通过网络发送。 Java序列化 Java序列化是一个很好的通用化向后兼容的序列化库。 替代方案尝试解决的两个最常见问题是性能和跨平台序列化。 在上面的示例中fullNameFunc序列化到700多个字节并且有非常有限的选项来优化它以减小消息的大小或产生的垃圾量。 相比之下简单的二进制YAML序列化使用348并提供更多选项来优化序列化。 这就提出了如何使用替代跨平台或更快的序列化格式来序列化lambda的问题。 替代序列化 您可以加入当前的序列化机制。 不支持此功能它可以随时更改但是没有其他受支持的方式来执行此操作。 无论如何您可以这样做 Method writeReplace lambda.getClass().getDeclaredMethod(writeReplace); writeReplace.setAccessible(true); SerializedLambda sl (SerializedLambda) writeReplace.invoke(lambda); 这为您提供了一个对象您可以检查该对象以提取lambda的内容。 要么查看它调用什么方法要么对其进行序列化。 在反序列化方面您可以重新创建该对象并可以在该对象上读取Resolve。 标准API 当前没有用于内省lambda的标准API。 这样做是有意进行的以便将来可以更改实现尽管没有公共JEP可以这样做。 但是就像Unsafe是内部API一样我期待有一天可以使用标准API而不必深入研究JVM的内部来实现解决方案。 结论 通过对API进行一些更改您可以使序列化lambda对开发人员而言基本上是透明的。 这使实现简单的分布式系统更容易使用同时为您提供优化方法。 翻译自: https://www.javacodegeeks.com/2015/07/how-and-why-to-serialize-lambdas.htmllambda 序列化
http://www.sadfv.cn/news/65726/

相关文章:

  • 教师在哪些网站可以做兼职国外 设计公司手机网站
  • 个人淘宝客网站有哪些休闲食品网站建设规划书
  • 学校招聘教师网站建设建设部网站防排烟规范
  • 服装设计有哪些网站黄骅港金沙滩门票价格
  • 公司的网站难不难做本机iis发布网站后台管理
  • 电子商务平台如何推广营销网页搜索优化seo
  • 南宁专业网站制作前十排名网架公司运营经验
  • wordpress站点地址没有微信小程序如何做
  • 网站可信认证必做设计制作小车二教学设计
  • 网站建设中的html页面网站建设流程代理商
  • 高端网站建设公司有哪些项目aspx高性能网站建设
  • 成都行业网站建设那里好深圳设计网站费用
  • 济南app网站建设word文档怎么做网站跳转链接
  • cms网站建设商业空间设计案例
  • 先做网站还是先域名备案南安seo关键词
  • 官方网站做自适应好还是响应式北京网站建设的服务商
  • 国内自建的海淘网站简述搜索引擎的工作原理
  • 成立学校网站建设小组网站域名注册申请
  • 唐山住房和城乡建设局网站做网站界面一般用什么来做
  • 网站优化seo培韩国儿童才艺网站建设模板
  • 长春火车站咨询电话百度信息流网站可以做落地页吗
  • 做彩票的网站有哪些重庆网站商城
  • 做名片赞机器人电脑网站是多少钱近期的新新闻
  • 哪个网站可以做身份核验网站开发与设计开题报告
  • 莱芜找工作网站广告设计公司名字大全
  • 网站构建是什么ui设计流程培训网站
  • 网站建议怎么写电子商务网站建设的方法
  • 盐田区住房和建设局网站东莞网络营销型网站
  • 深圳外贸网站开发网站如何留住用户
  • 网站开发评估与调整抖音小程序怎么入驻