2022/3/13大约 3 分钟
- Java80
- 计算机基础67
- 数据库46
- 分布式28
- 技术文章精选集26
- AI 应用开发24
- 系统设计18
- AI 编程实战16
- AI15
- 高性能15
- 框架12
- 开发工具11
- 走近作者10
- 知识星球10
- 面试准备10
- 高可用9
- 开源项目8
- 计算机书籍7
- 学习路线6
- 走近项目5
- AI 编程技巧5
- AI 编程原理5
- 代码质量4
- AI 编程1
- 程序人生1
- Java面试指北1
大数据项目横跨计算、存储、数据集成和湖仓,不能只按“谁更热门”横向比较。先确定要解决的问题,再选择对应层次的项目。
分布式计算
- Apache Hadoop:分布式存储和批处理生态的基础项目,包含 HDFS、MapReduce 和 YARN 等核心模块。
- Apache Spark:用于大规模数据处理的统一分析引擎,覆盖批处理、流处理、SQL 和机器学习等场景。
- Apache Flink:面向有界和无界数据流的有状态计算框架,常用于实时数据处理和流批一体任务。
- Apache Beam:统一描述批处理与流处理任务的编程模型,可通过不同 Runner 把同一套 Pipeline 运行在 Flink、Spark 等引擎上。
- Apache Storm:分布式实时计算系统,适合了解早期流处理架构。新项目选型时建议同时对比 Flink 和 Spark Structured Streaming。
2022/3/13大约 2 分钟
如果你主要使用 Spring Boot,现在要考虑的已经不是“Java 能不能开发 AI 应用”,而是项目需要模型接入、RAG、Agent 编排,还是直接在 JVM 中运行模型。
这些项目解决的问题并不完全相同。Spring AI、LangChain4j 偏模型与应用集成;AgentScope、LangGraph4j 和 Embabel 更关注 Agent 运行与编排;DJL 则用于模型推理和训练。选型前先分清层次,会比只对比功能数量更有效。
基础框架
Spring AI
Spring AI 是 Spring 官方的 AI 应用开发框架,目标是用 Spring 风格的抽象接入模型、向量数据库和工具调用等能力。
2022/3/13大约 5 分钟
实战项目适合用来观察业务建模、权限控制、数据访问、测试和部署方式。准备写进简历前,至少要完成本地运行、读懂一条核心业务链路,并做过可以解释的改造。
官方示例项目
- Spring Petclinic:Spring 官方维护的示例应用,业务规模不大,但 Web、数据访问、校验和测试的边界比较清楚,适合第一次完整阅读 Spring 应用。
2022/3/13大约 5 分钟
本页收录会作为应用依赖或独立部署的框架、中间件和基础设施。具备完整业务功能的系统放在实战项目,通用 Java 小型依赖放在工具类库。
基础框架
Web 框架
- Spring Boot:用于构建独立、可运行的 Spring 应用,提供自动配置、内嵌 Web 服务器、生产监控和外部化配置等能力。
- Solon:国产面向全场景的 Java 企业级应用开发框架。
- Javalin:一个轻量级的 Web 框架,同时支持 Java 和 Kotlin,被微软、红帽、Uber 等公司使用。
- Play Framework:面向 Java 和 Scala 的高速 Web 框架。
- Blade:一款追求简约、高效的 Web 框架,基于 Java8 + Netty4。
2022/3/13大约 12 分钟
本页收录通过 Maven 或 Gradle 引入代码的 Java 类库。需要单独安装或部署的 GUI、CLI 和管理平台放在开发工具。
基础工具
2022/3/13大约 4 分钟
本页收录独立运行的 GUI、CLI、平台,以及接入构建流程的检查工具。可以直接作为业务代码依赖的通用库放在工具类库。
代码质量
- SonarQube:持续代码质量检查平台,用于发现缺陷、安全热点、重复代码和可维护性问题。
- Spotless:Spotless 是支持多种语言的代码格式化工具,支持 Maven 和 Gradle 以 Plugin 的形式构建。
- Checkstyle:检查 Java 源码是否符合编码规范,可接入 Maven、Gradle 和 CI 流程。
- PMD:可扩展的多语言静态代码分析器。
- SpotBugs:FindBugs 的继任者,通过字节码静态分析查找 Java 代码中的缺陷。
- Error Prone:在编译阶段捕获常见 Java 编码错误,可接入
javac、Maven 和 Gradle 构建流程。 - NullAway:低构建开销的 Java 空指针静态检查工具,通常与 Error Prone 配合使用。它依赖空值注解和增量接入,不能替代运行时测试。
- ArchUnit:用 Java 测试代码声明并检查分层、依赖方向、包结构等架构规则,适合把团队约定变成自动化测试。
2022/3/13大约 3 分钟
本页只收录适合系统学习或按主题查阅的资料。完整业务系统放在实战项目,框架和中间件放在框架与基础设施。
Java 基础与进阶
- JavaGuide:覆盖 Java 核心知识、数据库、系统设计、分布式、高性能和面试准备的学习指南。
- toBeBetterJavaer:一份通俗易懂、风趣幽默的 Java 学习指南,内容涵盖 Java 基础、Java 集合框架、Java 并发编程、JVM、Java 企业级开发(Git、SSM、Spring Boot)等知识点。
- advanced-java:涵盖高并发、分布式、高可用、微服务和海量数据处理等 Java 工程师进阶知识。
- bestJavaer:Java 基础、JVM、并发、数据库和中间件等主题的系列教程。
- java-design-patterns:用 Java 实现的设计模式。
2022/3/13大约 2 分钟
