- 博客(16)
- 收藏
- 关注
原创 《Java函数式编程实战》学习总结 第7章 流式重构
本文探讨了如何在流式重构中应用SOLID原则和Lambda表达式。首先介绍了SOLID原则中的三个核心原则在Lambda环境下的应用:单一功能原则通过拆分方法实现职责分离;开闭原则通过抽象和接口实现扩展而非修改;依赖反转原则通过高阶函数解耦抽象与细节。随后展示了使用Lambda表达式的重构技巧,如避免代码重复,通过流式操作简化集合处理。文章提供了多个Java代码示例,演示如何将传统命令式代码重构为更简洁、可维护的函数式风格,包括质数计算、指标收集和文件处理等场景。这些重构技巧能显著提升代码的可读性、可扩展性
2025-07-24 14:55:00
910
原创 《Java函数式编程实战》学习总结 第6章 数据并行化
本文摘要了Java数据并行化处理的要点:1) 区分了并发与并行的概念,并行化通过分解任务加速执行;2) 介绍了Stream的parallel()和parallelStream()方法实现数据并行化,但需注意资源消耗和适用场景;3) 以蒙特卡洛模拟掷骰子为例,对比显示并行处理(276ms)比串行(344ms)更快;4) 分析了影响性能的五大因素:数据量、源结构、装箱类型、CPU核心数和单元处理开销;5) 揭示了并行流基于fork/join框架的工作机制。文中强调需根据数据处理特性和系统资源权衡是否使用并行化。
2025-06-27 10:30:41
590
原创 《Java函数式编程实战》学习总结 第5章 高级集合类和收集器
摘要本章介绍了Java 8中流操作的高级特性,重点讲解了方法引用、元素顺序和收集器的使用。方法引用可以简化Lambda表达式写法(如Artist::getName)。有序集合生成的流会保持元素顺序。收集器(Collectors)提供了多种数据处理方式:将流转换为集合(toList/toSet/toCollection);数值计算(maxBy/averagingInt);数据分组(partitioningBy/groupingBy);字符串拼接(joining);以及收集器组合使用(如分组+计数/分组+字段
2025-06-13 17:45:47
900
原创 《Java函数式编程实战》学习总结 第3章 流
摘要本章介绍了Java中的Stream流操作,重点讲解了惰性求值机制和常用流操作方法。惰性求值通过返回Stream实现延迟计算,而及早求值则立即产生结果。常用的流操作包括collect、map、filter、flatMap等数据转换方法,以及min、max、reduce等聚合操作。通过示例展示了如何用流式操作重构传统迭代代码,使其更简洁高效。此外还探讨了高阶函数和纯函数的概念,指出判断高阶函数的方法是检查其参数或返回值是否包含函数接口。最后通过练习题巩固了流操作的使用技巧。
2025-05-29 13:50:45
757
原创 jsp页面转换json报错,JS去除各种空格、换行符
在jsp开发中,经常会有把页面数据转成json,通过post请求传到后台。但是用户有时候会输入一些特殊字符导致json转换报错,一般都是换行符、双引号、空格(有时候还会有输入法空格)引起的。所以我们需要把字符串这些特殊字符替换掉再转json。str.replace(/\r\n/g,";").replace(/\n/g,";").replace(/"/g,'').replace(/\s+/g," ");...
2022-02-10 10:26:06
1324
原创 web.xml文件配置全局编码(解决request,response的乱码问题)
web应用中乱码问题是经常会遇到的,下面介绍一种全局乱码的解决方法.web.xml文件中配置我们的编码过滤器(过滤器自己实现).<!-- 解决乱码问题的过滤器 --> <filter> <filter-name>EncodeFilter</filter-name> <filter-class>cn.filter.Encodi...
2018-10-26 11:22:33
4898
1
原创 java集合Collections.sort()的方法应用
简单介绍集合工具类sort()的方法应用,简单类型排序和根据对象字段来排序.代码如下:public class SomeTest { public static void main(String[] args) { SomeTest st = new SomeTest(); List<String> list = new ArrayList<>(); lis...
2018-10-18 17:19:16
249
原创 给定String字符串,统计每个字符出现的次数
例子:String str = “asdfsbrgregadnajfjsfjiwekfsnffsffnslkjfi”;char[] ch = str.toCharArray();Map<String, Integer> map = new HashMap<>();for(int i=0;i<ch.length;i++){String ch1 = String...
2018-10-18 15:08:23
7603
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅