# Java8API **Repository Path**: dinqb/Java8API ## Basic Information - **Project Name**: Java8API - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-07-24 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Java8API - Java 技术学习与实验项目 > 一个全面的 Java 技术学习与实验项目,涵盖 **Java 8/11 API、并发编程、网络通信、加密解密、图像处理、AI 集成** 等众多技术领域。 > > 基于 Gradle 构建,代码量 **338+ Java 类**,持续扩展中。 --- ## 目录 - [技术栈](#技术栈) - [项目结构](#项目结构) - [模块详解](#模块详解) - [快速开始](#快速开始) - [依赖清单](#依赖清单) --- ## 技术栈 | 技术 | 说明 | |------|------| | **Java** | 8 - 11 | | **构建工具** | Gradle | | **RxJava** | RxJava 3.x(响应式编程) | | **MQTT** | Eclipse Paho MQTT Client | | **OkHttp** | OkHttp 3.x/4.x | | **Gson** | Google Gson | | **Apache PDFBox** | PDF 处理 | | **Apache POI** | Office 文档处理 | | **Jsoup** | HTML 解析/爬虫 | | **OpenCV** | 计算机视觉 | | **Zxing** | 二维码生成/解析 | | **Hutool** | Java 工具库 | | **DeepSeek AI** | 大模型 API 集成 | | **Jython** | Python 脚本调用 | | **WebSocket** | Java-WebSocket | | **SQLite** | 嵌入式数据库 | --- ## 项目结构 ``` Java8API ├── build.gradle # Gradle 构建配置 ├── settings.gradle # 项目设置 ├── gradlew / gradlew.bat # Gradle Wrapper ├── File/ # 数据文件(JSON、XML 等) ├── image/ # 图片资源 ├── doc/ # 文档资料 └── src/main/java/ ├── EncodingDemo.java # 编码演示 ├── LetCode.java # LeetCode 算法练习 ├── LoanCalculator.java # 贷款计算器 ├── NoteBook.java # 学习笔记 ├── SocketDemo.java # Socket 通信 │ ├── bean/ # JavaBean 示例 │ └── UriDemo.java │ ├── calendar/ # 日历操作 │ └── CalendarDemo.java │ ├── camera/ # 摄像头捕获 │ └── CameraCapture.java │ ├── deepseek/ # DeepSeek AI API │ ├── DeepSeekDemo.java # 调用演示 │ ├── DeepSeekUtils.java # 工具类 │ ├── DpRequestBean.java # 请求 Bean │ ├── DpResponseBean.java # 响应 Bean │ └── DpResponseStreamBean.java # 流式响应 Bean │ ├── Jython/ # Jython 调用 Python │ ├── Python3.java │ ├── LoggingDemo.java │ └── TriangleDemo.java │ ├── log/ # 日志 │ └── Log.java │ ├── math/ # 数学计算 │ └── Fibonacci.java │ ├── module/ # RTSP 流媒体 │ ├── Main.java │ ├── RTSPClient.java │ └── RTSPServer.java │ ├── mouse/ # 鼠标控制 │ └── SlowMouseMovement.java │ ├── mqtt/ # MQTT 物联网协议 │ ├── MqttClientExample.java │ ├── MqttServerExample.java │ └── nt/ # 自定义 MQTT 协议封装 │ ├── network/ # 网络工具 │ └── NetDemo.java │ ├── okhttp/ # OkHttp HTTP 客户端 │ ├── OkHttpGetExample.java │ └── OkHttpCalendarDemo.java │ ├── oop/ # 面向对象示例 │ ├── Animal.java / Cat.java # 继承/多态 │ ├── ConstructDemo.java # 构造方法 │ └── HttpH.java │ ├── pdf/ # PDF 处理 │ ├── PDFReader.java │ └── PDFToWordConverter.java │ ├── rx/ # RxJava 响应式编程 │ ├── RxDemo.java │ ├── RxJavaUtils.java │ ├── Rx3Java.java │ ├── RxBlockingFirst.java │ ├── EmptyConcatExample.java │ ├── LocalDataSource.java │ ├── TimeoutExample.java │ ├── RxJavaSequentialTasks.java │ └── RxJavaAllTasksCompleteExample.java │ ├── rx3/ # RxJava 3.x │ └── Rx3Test.java │ ├── urlencoded/ # URL 编码 │ ├── UrlencodedDemo.java │ └── XWWWFormUrlEncoded.java │ ├── zhipu/ # 智谱AI API │ ├── ZhipuAPI.java │ └── Baidu.java │ └── com/ # 核心代码包 ├── api5/ # Java 5/6 API │ ├── Fanxing.java # 泛型 │ └── future/ # Future/Callable │ ├── api8/ # ★ Java 8 核心 API ★ │ ├── CompletableFutureD*.java # CompletableFuture 异步编程 │ ├── StreamD.java # Stream API │ ├── OptionalD.java # Optional 类 │ ├── MethodReff.java # 方法引用 │ ├── LocalDate.java # 日期时间 API │ ├── Base64Demo.java # Base64 编解码 │ ├── AESDD.java / JCEUtil.java # 加密解密 │ ├── lambda/ # Lambda 表达式 │ └── function/ # 函数式接口 │ ├── api11/ # Java 11 API │ ├── CollectionFactory.java # 集合工厂 │ ├── HttpClientDemo.java # HTTP Client │ ├── LambdaVarDemo.java # Lambda 局部变量 │ ├── OptionalEnhance.java # Optional 增强 │ └── StringNewAPI.java # 字符串新 API │ ├── str/ # 字符串处理 │ ├── StringDemo.java │ ├── StringGrouper.java │ ├── MathDemo.java │ ├── SplidDemo.java │ ├── NumberUtils.java │ ├── TimeConvertUtil.java │ └── StrDemo.java / StrDemo2.java │ ├── json/ # JSON 解析 │ ├── JsonDemo.java │ ├── JsonDemo2.java │ ├── JsonDemo130x.java │ ├── FileDownloader_Language.java │ ├── JsonToXmlConverter*.java │ └── LogParser.java │ ├── xml/ # XML 处理 │ ├── ReadXMLFile.java │ ├── XMLWriter.java │ ├── XmlNameExample.java │ └── StringResourceToExcelConverter.java │ ├── thread/ # 多线程与并发 │ ├── completeablefuture/ # CompletableFuture │ ├── lock/ # 锁 (ReentrantLock, ReadWriteLock, CountDownLatch) │ ├── synchronize/ # synchronized 同步 │ ├── thread/ # 线程基础 │ └── threadlocal/ # ThreadLocal & Volatile │ ├── tcp/ # TCP 网络编程 │ ├── Server.java / Client.java │ ├── ChatServer.java / ChatClient.java │ ├── TcpServer.java / TcpClient.java │ └── ftp2/FTPClientTest.java │ ├── udp/ # UDP 网络编程 │ ├── Udp_send.java / Udp_receive.java │ ├── multi/ # 组播 (Multicast) │ ├── bean/ # 数据帧封装 │ └── p11/ # 点对点通信 │ ├── encrypt/ # 加密解密 │ ├── AESHelper.java / AESUtils.java │ ├── Base64.java │ ├── Md5.java │ └── UseCommand.java │ ├── image/ # 图像处理 │ ├── ImageDemo.java │ ├── ImageDemo2.java │ ├── ImageThumbnail.java │ ├── FileToBinary.java │ ├── ScreenCaptureExample.java │ └── ShellCommandExecutor.java │ ├── file/ # 文件操作 │ ├── FileWriterDemo.java │ ├── ReadAllLinesExample.java │ ├── copy/ # 文件复制 │ ├── ff/ # 文件读写流 │ └── temp/ # 临时文件 │ ├── design/ # 设计模式 │ ├── model/proxy/ # 代理模式 (动态代理) │ ├── model/instance/ # 单例模式 │ └── model/cglib/ # CGLIB 代理 │ ├── reflect/ # 反射机制 │ ├── ReflectionD.java │ ├── MapToObjectConverter.java │ ├── cls/ # 参数 Bean 反射 │ └── inner/ # 内部类反射 │ ├── number/ # 数值处理 │ ├── IntegerDemo.java │ ├── FloatDemo.java │ ├── HexToBitConverter.java │ ├── BinaryToDecimalConverter.java │ └── NumberFormatter.java │ ├── canid/ # CAN 总线数据分析 │ ├── IntelCanDataParser.java │ ├── pgndemo/ # J1939 协议解析 │ └── CanSingleBitReader.java │ ├── decode/ # 编解码 │ ├── AESCipher.java │ ├── CodeDemo.java │ └── ReadCode.java │ └── ... # 更多子包 ``` --- ## 模块详解 ### 1. Java 8 API (`com/api8`) — 核心模块 - **Stream API**: `StreamD.java` — filter/map/collect 操作 - **CompletableFuture**: 异步编程三部曲 (`D`, `D2`, `D3`) - **Optional**: `OptionalD.java` — 空值安全处理 - **Lambda**: `lambda/` — Lambda 表达式、函数式接口 - **LocalDate**: 新的日期时间 API - **Base64 / AES**: 编解码与加密 ### 2. Java 11 API (`com/api11`) - `HttpClientDemo.java` — 新的 HTTP Client - `CollectionFactory.java` — `List.of()`, `Set.of()` 等 - `StringNewAPI.java` — `isBlank()`, `lines()`, `repeat()` 等 - `OptionalEnhance.java` — `isEmpty()`, `orElseThrow()` ### 3. 响应式编程 (`rx/`, `rx3/`) - RxJava 3.x 完整示例 - 异步任务编排、超时处理、阻塞获取、空连接处理 - 本地数据源模拟 ### 4. 网络通信 | 模块 | 协议 | 功能 | |------|------|------| | `tcp/` | TCP | 聊天室、文件传输、FTP | | `udp/` | UDP | 单播、组播、数据帧封装 | | `http/` | HTTP | HTTP 请求工具 | | `okhttp/` | HTTP | OkHttp 客户端 | | `websocket` | WS | WebSocket 通信 | | `mqtt/` | MQTT | 物联网消息协议 | ### 5. AI 集成 - **DeepSeek**: `deepseek/` — 完整的大模型 API 调用(含流式响应) - **智谱 AI**: `zhipu/` — GLM 模型 API 集成 - **OpenAI**: `com/task/FOpenAiDemo.java` — OpenAI API 调用 ### 6. 并发编程 (`com/thread/`) - 显式锁: `ReentrantLock`, `ReadWriteLock`, `CountDownLatch` - synchronized 同步: 静态/实例方法同步 - ThreadLocal: 线程局部变量 - Volatile: 可见性保证 - CompletableFuture: 异步回调编排 ### 7. 设计模式 (`com/design/`) - **代理模式**: JDK 动态代理 + CGLIB - **单例模式**: 经典实现 - **工厂模式**: 接口抽象 ### 8. 数据处理 - JSON: Gson 序列化/反序列化、JSON ↔ XML 互转 - XML: 读取、写入、解析 - 正则: `com/reg/` — 正则表达式工具 - 编解码: Base64、AES、Hex ### 9. IoT 与工业协议 - **CAN总线**: `com/canid/` — Intel CAN 数据解析、J1939 协议 - **MQTT**: 完整的客户端/服务端 + 私有协议封装 - **RTSP**: 流媒体客户端/服务端 ### 10. 其他工具 - **PDF**: 读取、PDF 转 Word - **图片**: 缩略图生成、截屏、图片转二进制 - **二维码**: Zxing 生成/解析 - **爬虫**: Jsoup 网页爬取 - **OpenCV**: 计算机视觉 - **USB 摄像头**: 视频捕获 --- ## 快速开始 ### 前置要求 - JDK 8+(推荐 JDK 11) - Gradle(或使用项目自带的 `gradlew`) ### 构建与运行 ```bash # 克隆项目 git clone https://gitee.com/dinqb/Java8API.git cd Java8API # 编译所有代码 ./gradlew build # 运行指定类(示例:NoteBook) cd src/main/java javac NoteBook.java && java NoteBook # 或在 IDEA 中直接运行 ``` ### 使用 IDEA 导入 1. `File` → `Open` → 选择项目目录 2. IDEA 自动识别 Gradle 项目 3. 等待依赖下载完成 4. 直接运行任意 `main` 方法 --- ## 依赖清单 | 依赖 | 用途 | |------|------| | RxJava 3.x | 响应式编程 | | OkHttp 3.x/4.x | HTTP 客户端 | | Gson | JSON 序列化 | | Apache HttpClient | HTTP 客户端 | | Hutool | Java 工具库 | | Java-WebSocket | WebSocket 通信 | | Jsoup | HTML 解析/爬虫 | | Apache PDFBox | PDF 处理 | | Apache POI | Office 文档 (Word/Excel) | | Eclipse Paho MQTT | MQTT 客户端 | | Jython | Python 脚本调用 | | Zxing | 二维码 | | OpenCV | 计算机视觉 | | SQLite JDBC | 嵌入式数据库 | --- > **Note**: 本项目为个人 Java 学习实验项目,持续更新中。