# java-gather **Repository Path**: likeyou/java-gather ## Basic Information - **Project Name**: java-gather - **Description**: java中常用方法工程 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-07-11 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: Lambda, Java ## README # Java学习工程总导航 欢迎使用Java学习工程,这是一个全面的Java学习资源,涵盖了Java的各种知识点和技术。 ## 项目结构 项目分为以下几个主要模块: ### 1. JDK 21(现代Java特性) - **路径**: `jdk21/` - **内容**: 现代Java语法、特性和最佳实践 - **包含内容**: - 基础语法和数据类型 - 数组和字符串 - 控制流语句 - 方法和异常 - 字符串和数学工具类 ### 2. JDK 8(传统特性) - **路径**: `jdk8/` - **内容**: Java 8特定特性和传统代码 - **包含内容**: - Lambda表达式 - Stream API - Optional类 - 日期/时间API - CompletableFuture - 默认方法 ### 3. JVM(Java虚拟机) - **路径**: `jvm/` - **内容**: JVM内部原理和性能优化 - **包含内容**: - JVM架构 - 类加载 - 内存管理 - 垃圾回收 - 字节码 - JMH性能测试 ### 4. 并发编程 - **路径**: `src/main/java/com/gather/` - **内容**: 多线程和并发 - **包含内容**: - 线程基础 - 同步机制 - Volatile关键字 - 原子类 - Lock接口 - 并发集合 - 同步工具类(CountDownLatch, CyclicBarrier, Semaphore) ### 5. IO和网络 - **路径**: `jdk8/src/main/java/com/kxd/jdk8lower/io/` - **内容**: 输入/输出操作和网络编程 - **包含内容**: - 传统IO(流) - NIO(非阻塞IO) - AIO(异步IO) - Netty框架 - Socket编程 - UDP - RMI - SFTP ### 6. 集合框架 - **路径**: `jdk8/src/main/java/com/kxd/jdk8lower/collections/` - **内容**: Java集合和数据结构 - **包含内容**: - List(ArrayList, LinkedList, Vector) - Set(HashSet, TreeSet, LinkedHashSet) - Map(HashMap, TreeMap, LinkedHashMap, Hashtable) - Queue和Deque - Collections工具类 - Stream API操作 ### 7. 数据库(JDBC) - **路径**: `src/main/java/com/gather/db/` - **内容**: 数据库连接和操作 - **包含内容**: - JDBC基础 - 连接管理 - Statement和PreparedStatement - ResultSet - 事务管理 - 批处理 - 存储过程 - 连接池 - Sharding-JDBC ### 8. 工具类和实用工具 - **路径**: `src/main/java/com/gather/` - **内容**: 各种Java工具和实用工具 - **包含内容**: - XML处理(DOM, SAX, JDOM, DOM4J) - JSON处理(Jackson, Gson, Fastjson) - Excel处理(Apache POI, EasyExcel) - 图像处理 - MapStruct(DTO映射) - Mockito(测试) - JUnit(测试) - 哈希和加密 - 属性管理 ### 9. Reactor(响应式编程) - **路径**: `src/main/java/com/gather/reactor/` - **内容**: 使用Project Reactor的响应式编程 - **包含内容**: - Flux和Mono - 响应式操作符 - 错误处理 - 背压 - Sinks - Context ### 10. Spring框架 - **路径**: `src/main/java/com/gather/spring/` - **内容**: Spring核心概念 - **包含内容**: - Bean定义 - 依赖注入 ### 11. 应用项目 - **路径**: `src/main/java/com/gather/apply/` - **内容**: 实际应用 - **包含内容**: - 游戏(RPG, 消除类游戏) - MQTT消息 - Elastic Job(调度) - 缓存(Ehcache) - 编解码(AES, RSA, MD5, Base64) ## 学习资源 ### Java核心知识 1. [Java基础语法](docs/java-basic-syntax.md) 2. [Java并发编程](docs/java-concurrency.md) 3. [Java IO](docs/java-io.md) 4. [Java集合框架](docs/java-collection.md) 5. [Java 8特性](docs/java8-features.md) 6. [JVM](docs/java-jvm.md) 7. [JDBC](docs/java-jdbc.md) 8. [Java工具类](docs/java-toolkits.md) ## 如何使用 1. **按主题浏览**: 导航到您想学习的主题的相关模块 2. **运行示例**: 每个示例都是一个独立的Java类,可以独立运行 3. **研究代码**: 检查代码以了解不同Java特性的工作原理 4. **扩展示例**: 修改示例以尝试不同的场景 5. **贡献**: 添加您自己的示例和改进 ## 使用的技术 - **Java**: JDK 8和JDK 21 - **构建工具**: Maven - **测试**: JUnit, Mockito - **库**: - Jackson (JSON) - Apache POI (Excel) - EasyExcel - Dom4j (XML) - Reactor (响应式) - Netty (网络) - Ehcache (缓存) - HikariCP (连接池) - MapStruct (DTO映射) ## 贡献 欢迎贡献!贡献方法: 1. Fork仓库 2. 为您的功能创建一个新分支 3. 添加您的代码和测试 4. 提交pull request ## 许可证 本项目采用MIT许可证。详情请参阅[LICENSE](LICENSE)文件。 ## 联系方式 如有问题或建议,请在GitHub上打开issue。 --- 祝您Java学习愉快!