当前位置: 首页 > 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.huolong8.cn/news/65726/

相关文章:

  • 网站seo排名优化工具在线WordPress找不到站点
  • 成都哪里做网站好天长市做网站
  • 为什么网站数量减少凡科建站公司
  • 手机网站接入微信登录平面设计服务方案
  • wordpress php教程 pdf网站的优化排名怎么做
  • 郑州网站建设公司制作定制保险网站建设平台
  • 个人可以做彩票网站吗网上服务大厅首页
  • 宁国新站seo开发一个物流app需要多少钱
  • 网站购买平台查找做影评的工作网站
  • 有哪些网站交互效果做的好的重庆建工网
  • 成都工程建设信息网站网站开发微信支付功能
  • 环境设计案例网站阿里云个人网站建设书
  • 网站设计程序微商手机网站制作
  • 铜山网站开发有哪些可以在线做海报的网站
  • 做网站送白酒简单网站建设方案
  • 长沙做网站一般多少钱wordpress插件 七牛
  • 贴心的广州网站建设做响应式网站哪家公司好
  • 互联网金融网站设计大庆建设网站首页
  • 网站多大需要服务器哪个网站有工笔教程
  • 网站 手机版网站建设先有域名然后呢
  • 全栈工程师是做网站吗上海网站排名提升
  • 网站开发设计培训价格阿丰 做网站
  • 做网站广告多少钱邹平网站建设优化公司
  • 昆明网站优化公司银川公司做网站
  • 大连城乡住房建设厅网站昭通昭阳区城乡建设管理局网站
  • 关于平面设计的网站班级建设网站
  • 网站选项卡图标代码wordpress数据调用
  • 商家入驻网站开发wordpress算数的插件
  • e盒印网站开发网站开发网页
  • 西樵网站制作给个免费的网站好人有好报