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

网站欧美风格定制开发小程序报价

网站欧美风格,定制开发小程序报价,兰州启点网站建设,怎么自己做公司网站Java 8 改进的 ConcurrentHashMap#xff1a;归约、搜索、计数与 Set 视图详解 Java 8 对 ConcurrentHashMap 进行了重大优化#xff0c;不仅提升了并发性能#xff0c;还引入了许多函数式编程方法#xff0c;使其在处理高并发场景时更加高效和灵活。本文将深入解析 Concu…Java 8 改进的 ConcurrentHashMap归约、搜索、计数与 Set 视图详解 Java 8 对 ConcurrentHashMap 进行了重大优化不仅提升了并发性能还引入了许多函数式编程方法使其在处理高并发场景时更加高效和灵活。本文将深入解析 ConcurrentHashMap 的以下改进特性并行归约、并行搜索、计数方法及Set 视图并通过代码示例展示其应用场景。 一、并行归约Reduce 作用 ConcurrentHashMap 的 reduce 方法允许在多线程环境下对键、值或键值对进行并行聚合操作如求和、求最大值等充分利用多核 CPU 的性能优势。 核心方法 // 对键和值进行归约 U U reduce(long parallelismThreshold,BiFunction? super K, ? super V, ? extends U transformer,BiFunction? super U, ? super U, ? extends U reducer);// 对值进行归约 V reduceValues(long parallelismThreshold,BiFunction? super V, ? super V, ? extends V reducer);参数 parallelismThreshold并行处理的阈值当元素数量超过此值时启用并行计算。transformer将键值对转换为中间结果的函数。reducer合并中间结果的函数。 示例计算所有值的总和 ConcurrentHashMapString, Integer scores new ConcurrentHashMap(); scores.put(Alice, 90); scores.put(Bob, 85); scores.put(Charlie, 95);// 对所有值求和 int sum scores.reduceValues(1, (v1, v2) - v1 v2); System.out.println(总分: sum); // 输出: 总分: 270二、并行搜索Search 作用 search 方法用于在 ConcurrentHashMap 中并行查找满足条件的键、值或键值对一旦找到匹配项立即返回结果避免遍历整个集合。 核心方法 // 搜索键值对 U U search(long parallelismThreshold,BiFunction? super K, ? super V, ? extends U searchFunction);// 搜索值 V searchValues(long parallelismThreshold,Function? super V, ? extends V searchFunction);示例查找第一个大于 90 的分数 Integer result scores.searchValues(1, v - v 90 ? v : null); System.out.println(大于90的分数: result); // 输出: 大于90的分数: 95三、计数方法mappingCount 作用 mappingCount 方法返回 Map 中的键值对数量返回类型为 long。与传统的 size() 方法相比它避免了 Integer 溢出问题适用于大规模数据统计。 语法 long mappingCount();示例 System.out.println(条目数: scores.mappingCount()); // 输出: 条目数: 3对比 size() 方法 size()返回 int可能因数据量过大导致溢出。mappingCount()返回 long更安全且适合高并发环境。 四、Set 视图的线程安全改进 ConcurrentHashMap 的 keySet、values 和 entrySet 返回的视图是线程安全的并支持直接在视图上进行并发操作。 1. keySet 视图 ConcurrentHashMap.KeySetViewString, Integer keys scores.keySet(); keys.add(Dave); // 等同于 scores.put(Dave, null);需注意默认值2. entrySet 视图的并行遍历 scores.entrySet().forEach(entry - System.out.println(entry.getKey() : entry.getValue()) );3. 线程安全操作示例 // 多线程环境下安全操作 SetString keys scores.keySet(); new Thread(() - keys.remove(Alice)).start(); new Thread(() - keys.add(Eve)).start();五、其他实用方法 1. forEach 并行遍历 scores.forEach(2, (k, v) - System.out.println(k - v) );2. compute 和 merge 与 HashMap 类似但保证原子性 scores.compute(Alice, (k, v) - v 10); // Alice的分数变为100 scores.merge(Bob, 85, Integer::sum); // 若存在则累加六、注意事项 并行阈值设置 parallelismThreshold 控制并行计算的触发条件。若设为 Long.MAX_VALUE则始终串行执行设为 1 则强制并行。 线程安全与一致性 ConcurrentHashMap 的迭代器是“弱一致性”的反映的是遍历开始时的状态可能不包含后续修改。 避免副作用 在 reduce 或 search 函数中避免修改 Map否则可能导致不可预测的行为。 七、完整示例代码 import java.util.concurrent.ConcurrentHashMap;public class ConcurrentHashMapDemo {public static void main(String[] args) {ConcurrentHashMapString, Integer scores new ConcurrentHashMap();scores.put(Alice, 90);scores.put(Bob, 85);scores.put(Charlie, 95);// 归约计算总分int sum scores.reduceValues(1, Integer::sum);System.out.println(总分: sum);// 搜索查找第一个大于90的值Integer found scores.searchValues(1, v - v 90 ? v : null);System.out.println(大于90的分数: found);// 计数System.out.println(条目数: scores.mappingCount());// Set视图操作scores.keySet().forEach(System.out::println); // 输出所有键} }输出 总分: 270 大于90的分数: 95 条目数: 3 Alice Bob Charlie八、总结 Java 8 对 ConcurrentHashMap 的改进使其在高并发场景下表现更卓越 并行归约与搜索利用多核性能加速聚合和查找。mappingCount安全统计大规模数据。线程安全的 Set 视图支持直接并发操作。函数式方法如 forEach、compute代码更简洁。 这些改进不仅提升了性能还显著增强了代码的可读性和可维护性。在处理高并发数据时合理利用 ConcurrentHashMap 的新特性能让你的程序如虎添翼
http://www.zqtcl.cn/news/474138/

相关文章:

  • 专做写字楼出租的网站建设银行北京招聘网站
  • 龙华观澜网站建设酒店网站建设策划
  • 淄博网站排名做版权保护的网站
  • 专业轻电商网站建设公司新闻发布的网站
  • 设计型网站营销存在的问题及改进
  • 南通建设企业网站wordpress 位置地图
  • 无锡本地网站有哪些手机拍摄720全景软件
  • 泉州晋江网站建设费用东莞市住房和城乡建设局门户网站
  • 苏州网站建设哪家便宜平谷手机网站设计
  • 建设项目一次公示网站嘉兴新站seo外包
  • 电子商务网站模板 html专业网站建设服务报价
  • 网页设计和网站建设的区别研发一款app要多少钱
  • seo网站建设方案建个企业网站需要多少钱
  • 搭建网站的软件网页动态设计
  • 好的界面建筑网站甘孜网站建设
  • 电子商务网站创建过程网站排名提升软件
  • 青岛企业如何建网站购买网站建站
  • 广东自考网站建设管理网站做ddns解析
  • 网站建设分类如何重启网站服务器
  • 新蒲建设集团网站怎么把源码做网站
  • 嘉兴建设局网站在线制作头像框
  • 苏州行业网站建设服务网页制作需要学什么技术
  • 二 网站建设的重要性东莞seo建站优化收费
  • 农业公司注册流程及费用快排seo排名软件
  • 响应式中文网站欣赏机wordpress
  • 如何建网站并做推广亚马逊网站怎么做推广
  • 做好网站建设总结免费开发app平台下载
  • 哈尔滨建站免费模板app网站开发要多少钱
  • 大连网站设计九首选仟亿科技怎么做百度网站会显示图片在旁边
  • 南京营销网站建设wordpress图片购买下载