# JavaFunctional **Repository Path**: hanser_wei_admin/java-functional ## Basic Information - **Project Name**: JavaFunctional - **Description**: Java函数式编程,及StreamAPI相关学习代码归档 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-18 - **Last Updated**: 2025-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java Functional Examples ## 项目介绍 本项目包含了多个Java功能示例文件,演示了Java编程的不同方面和功能编程概念的应用。项目中包含的内容主要有: 1. **AP考试真题实现**:包括2014-2023年的多套真题Java实现 2. **函数式编程示例**:展示了Java 8+的函数式编程特性 3.1. **流处理示例**:包含多个Stream API使用示例 3.2. **并行流处理**:包含并行流处理性能测试 4. **方法引用示例** 5. **闭包和柯里化示例** 6. **框架集成示例**:包含Spring Boot和MyBatis Plus的使用示例 7. **性能测试**:包含JMH基准测试示例 8. **其他Java特性**:包括记录类(record)、日志、并发编程等 ## 目录结构 ``` src/ ├── main/ │ ├── java/ │ │ ├── com.hanserwei.ap/ # AP考试真题实现 │ │ ├── com.hanserwei.day1/ # 函数式编程基础示例 │ │ ├── com.hanserwei.day2/ # 高阶函数和方法引用示例 │ │ ├── com.hanserwei.day3/ # 流处理示例 │ │ ├── com.hanserwei.day4/ # 并发编程和框架示例 │ │ ├── com.hanserwei.day5/ # Lambda底层实现和JVM特性示例 │ │ ├── com.hanserwei.mydemo/ # 流处理各种操作示例 │ │ └── com.hanserwei.test/ # 测试类和通用Java特性示例 │ └── resources/ # 配置文件 │ ├── application.properties │ └── log4j2.component.properties └── test/ ├── java/ap/ # AP考试真题实现的测试 └── java/com.hanserwei.day3.performance/ # 流处理性能测试 └── java/jmh/ # JMH基准测试 ``` ## 安装与运行 ### 环境要求 - Java 8及以上 - Maven 3.0及以上 - Git(可选,用于克隆仓库) ### 安装步骤 ```bash # 克隆仓库(可选) git clone https://gitee.com/hanser_wei_admin/java-functional.git # 进入项目目录 cd java-functional # 构建项目 mvn clean package # 运行具体示例 # 请根据需要运行的示例修改类名 mvn exec:java -Dexec.mainClass="com.hanserwei.day1.Sample1" ``` ### 运行单个示例 每个示例类都有main方法,可以直接运行: ```bash # 例如运行2014年AP考试真题第一题 java src/main/java/com/hanserwei/ap/FreeResponse2014_1.java # 或者使用Maven运行 mvn exec:java -Dexec.mainClass="com.hanserwei.ap.FreeResponse2014_1" ``` ## 使用说明 ### AP考试真题实现 - **2014系列**:包含2014-2023各年份的AP考试自由回答题实现 - **2015系列**:展示了数组处理、字符串提示生成、稀疏数组实现等 - **2018系列**:包含青蛙模拟、单词配对、密码检查器、拉丁方阵等 - **2022系列**:展示了游戏得分计算、书籍信息处理、评论分析等功能 - **2023系列**:包含预约系统、天气数据分析、糖果盒管理等 ### 函数式编程示例 - **day1目录**:展示函数式编程基础,包括lambda表达式、函数接口、闭包等 - **day2目录**:展示高阶函数、柯里化、方法引用等函数式编程概念 - **day5目录**:包含lambda表达式的底层实现、方法引用、闭包和JVM特性示例 ### 流处理示 - **day3目录**:包含过滤、映射、归约、收集、分组等流处理操作示例 - **mydemo/stream目录**:详细演示了Java Stream API的各种使用场景 ### 并发编程 - **day4/asynchronous目录**:展示了异步编程、CompletableFuture等特性 - **day4/parallel目录**:包含并行处理日志文件等实际应用场景 - **day5/performance/T03Concurrent.java**:演示了并发映射和并行处理 ### 框架集成 - **MyApp.java**:一个简单的Spring Boot应用 - **C02ApplicationListener.java**:展示了Spring Boot应用监听器 - **TestMyBatisPlus.java**:MyBatis Plus集成示例 ### 性能测试 - **JMH基准测试**:包含多个JMH性能测试类 - **T01Sum.java**:对比基本类型、装箱类型和流处理的性能 - **T02Parallel.java**:并行处理性能比较 - **T03Concurrent.java**:并发处理性能测试 ## 贡献指南 本项目欢迎贡献!如果您想添加新的函数式编程示例或改进现有代码,请遵循以下步骤: 1. 克隆仓库 2. 创建新分支 3. 添加您的示例代码 4. 提交并推送更改 5. 创建Pull Request 对于AP考试真题实现,请保持命名规范(FreeResponseYYYY_N.java)并添加适当的注释和测试用例。 ## 许可协议 本项目采用Apache 2.0许可协议。详情请查看项目的LICENSE文件。