国外的优秀开源项目没啥好说的,支持国产,今天重点聊聊国内优秀的 Java 开源项目。在国内开源项目做得最好的莫非于阿里巴巴了,今天特地给大家整理了阿里的 11 个神级项目。最后还有一个 java 全开源的 saas 新零售小程序系统,研究微信生态的技术爱好者可以关注一下,有很多值得学习的地方。
不看会后悔喔!
这些开源项目中的绝大多数,我都在实际工作中用过,或者有同事用过。确实挺不错,挺有价值的,现在推荐给大家。
1. Druid
Druid 自称是 Java 语言中最好的数据库连接池,它能够提供强大的监控和扩展功能。监控后台如下图所示:
Druid 的主要优点如下:
- 它能监控数据库访问性能。
- 它提供了 WallFilter,它是基于 SQL 语义分析来实现防御 SQL 注入攻击的。
- 它提供了多种监测连接泄漏的手段。
- 它提供了数据库密码加密的功能。
- 它能打印 SQL 执行日志。
github 地址: https://github.com/alibaba/druid maven 中央仓库: https://mvnrepository.com/artifact/com.alibaba/druid
配置 maven 依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>${druid-version}</version>
</dependency>
2. fastjson
fastjson 是阿里巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。
fastjson 的主要优点如下:
- 速度快,fastjson 相对其他 JSON 库的特点是快,从 2011 年 fastjson 发布 1.1.x 版本之后,其性能从未被其他 Java 实现的 JSON 库超越。
- 使用广泛,fastjson 在阿里巴巴大规模使用,在数万台服务器上部署,fastjson 在业界被广泛接受。在 2012 年被开源中国评选为最受欢迎的国产开源软件之一。
- 使用简单,fastjson 的 API 十分简洁。
//序列化
String text = JSON.toJSONString(obj);
//反序列化
VO vo = JSON.parseObject("{...}", VO.class);
- 功能完备,支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。
github 地址: https://github.com/alibaba/fastjson maven 中央仓库: https://mvnrepository.com/artifact/com.alibaba/fastjson
配置 maven 依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
3. Dubbo
Apache Dubbo 是一款微服务开发框架,它提供了 RPC 通信 与 微服务治理 两大关键能力。这意味着,使用 Dubbo 开发的微服务,将具备相互之间的远程发现与通信能力, 同时利用 Dubbo 提供的丰富服务治理能力,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。
同时 Dubbo 是高度可扩展的,用户几乎可以在任意功能点去定制自己的实现,以改变框架的默认行为来满足自己的业务需求。它目前已交给 Apache 管理和维护。
架构图如下:
Dubbo 的主要优点如下:
- 基于透明接口的 RPC
- 智能负载均衡
- 自动服务注册和发现
- 高扩展性
- 运行时流量路由
- 可视化服务治理
- 云原生友好
github 地址: https://github.com/apache/dubbo maven 中央仓库: https://mvnrepository.com/artifact/com.alibaba/dubbo/
配置 maven 依赖:
<properties>
<dubbo.version>3.0.3</dubbo.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
</dependencies>
4. Rocketmq
Apache RocketMQ 是一个分布式消息和流媒体平台,具有低延迟、高性能和可靠性、万亿级容量和灵活的可扩展性。
它提供了多种功能:
- 消息传递模式,包括发布 / 订阅、请求 / 回复和流媒体
- 金融级交易消息 </