值得推荐的阿里巴巴Java开源项目

news2024/11/19 11:21:19

说明:以下都是项目中使用过的,后续将持续更新!!!

1、开源 Java 诊断工具 Arthas

Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具,深受开发者喜爱。

Arthas 采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

地址:

GitHub - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器ArthasAlibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthas - GitHub - alibaba/arthas: Alibaba Java Diagnostic Tool Arthas/Alibaba Java诊断利器Arthasicon-default.png?t=N7T8https://github.com/alibaba/arthas妥妥的问题排查神器。

2、Java 的 JSON 处理器 fastjson

fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。

主要特点:快速 FAST (比其它任何基于 Java 的解析器和生成器更快,包括 jackson);强大(支持普通 JDK 类包括任意 Java Bean Class、Collection、Map、Date或enum);零依赖(没有依赖其它任何类库除了JDK)。

地址:GitHub - alibaba/fastjson: FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade. - GitHub - alibaba/fastjson: FASTJSON 2.0.x has been released, faster and more secure, recommend you upgrade.icon-default.png?t=N7T8https://github.com/alibaba/fastjson

有一说一,fastjson 性能牛逼,但是安全问题不少,如果对安全要求高的可以考虑 jackson。

3、动态服务发现、配置和服务管理平台 Nacos

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务发现、服务配置管理、服务及流量管理。

Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构(例如微服务范式、云原生范式)的服务基础设施。

地址:

GitHub - alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications. - GitHub - alibaba/nacos: an easy-to-use dynamic service discovery, configuration and service management platform for building cloud native applications.icon-default.png?t=N7T8https://github.com/alibaba/nacos不用怀疑,用过的都说好。

4、服务框架 Dubbo

Apache Dubbo (incubating) |是阿里巴巴的一款高性能、轻量级的开源 Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

地址:

GitHub - apache/dubbo: The java implementation of Apache Dubbo. An RPC and microservice framework.The java implementation of Apache Dubbo. An RPC and microservice framework. - GitHub - apache/dubbo: The java implementation of Apache Dubbo. An RPC and microservice framework.icon-default.png?t=N7T8https://github.com/apache/dubbo

 RPC 的性能肯定比 Http 性能好。

 5、Java 解析 Excel 工具 easyexcel

Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl 。但他们都存在一个严重的问题就是非常的耗内存,poi 有一套 SAX 模式的 API 可以一定程度的解决一些内存溢出的问题,但 POI 还是有一些缺陷,比如 07 版 Excel 解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel 重写了 poi 对 07 版 Excel 的解析,能够原本一个 3M 的 excel 用 POI sax 依然需要 100M 左右内存降低到 KB 级别,并且再大的 excel 不会出现内存溢出,03 版依赖 POI 的 sax 模式。在上层做了模型转换的封装,让使用者更加简单方便。

地址:GitHub - alibaba/easyexcel: 快速、简洁、解决大文件内存溢出的java处理Excel工具快速、简洁、解决大文件内存溢出的java处理Excel工具. Contribute to alibaba/easyexcel development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/alibaba/easyexcel

excel 处理使用 easyexcel 再也不用担心内存问题了。

6、基于 Netty 的网络通信框架 SOFABolt

SOFABolt 是蚂蚁金融服务集团开发的一套基于 Netty 实现的网络通信框架。

为了让 Java 程序员能将更多的精力放在基于网络通信的业务逻辑实现上,而不是过多的纠结于网络底层 NIO 的实现以及处理难以调试的网络问题,Netty 应运而生。

为了让中间件开发者能将更多的精力放在产品功能特性实现上,而不是重复地一遍遍制造通信框架的轮子,SOFABolt 应运而生。

地址:GitHub - sofastack/sofa-bolt: SOFABolt is a lightweight, easy to use and high performance remoting framework based on Netty.SOFABolt is a lightweight, easy to use and high performance remoting framework based on Netty. - GitHub - sofastack/sofa-bolt: SOFABolt is a lightweight, easy to use and high performance remoting framework based on Netty.icon-default.png?t=N7T8https://github.com/alipay/sofa-bolt

对系统性能有较高的要求的,可以考虑,公司项目中用过,目前系统运行良好。

7、Java 代码规约扫描插件 P3C

项目包含三部分:PMD 实现、IntelliJ IDEA 插件、Eclipse 插件

地址:https://github.com/alibaba/p3cicon-default.png?t=N7T8https://github.com/alibaba/p3c

使用该插件能避免很多低级错误。

8. 消息中间件 Apache RocketMQ

RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点:

  • 能够保证严格的消息顺序
  • 提供丰富的消息拉取模式
  • 高效的订阅者水平扩展能力
  • 实时的消息订阅机制
  • 亿级消息堆积能力

地址:https://github.com/apache/rocketmqicon-default.png?t=N7T8https://github.com/apache/rocketmq

9、高可用流量管理框架 Sentinel

Sentinel 是面向微服务的轻量级流量控制框架,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。

只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。

地址:https://github.com/alibaba/Sentinelicon-default.png?t=N7T8https://github.com/alibaba/Sentinel

整体来看有点重,如果只是简单限流建议使用 Guava 的 RateLimter 。

10、分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba

Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。

地址:GitHub - alibaba/spring-cloud-alibaba: Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware. - GitHub - alibaba/spring-cloud-alibaba: Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.icon-default.png?t=N7T8https://github.com/spring-cloud-incubator/spring-cloud-alibaba

11、JDBC 连接池、监控组件 Druid

Druid是一个 JDBC 组件。

1.监控数据库访问性能。

2.提供了一个高效、功能强大、可扩展性好的数据库连接池。

3.数据库密码加密。

4.SQL执行日志。

地址:GitHub - alibaba/druid: 阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池 - GitHub - alibaba/druid: 阿里云计算平台DataWorks(https://help.aliyun.com/document_detail/137663.html) 团队出品,为监控而生的数据库连接池icon-default.png?t=N7T8https://github.com/alibaba/druid

12、apns4j

apns4j 是 Apple Push Notification Service 的 Java 实现!

地址:GitHub - teaey/apns4j: Apple Push Notification Service Implement with Java(java apns)Apple Push Notification Service Implement with Java(java apns) - GitHub - teaey/apns4j: Apple Push Notification Service Implement with Java(java apns)icon-default.png?t=N7T8https://github.com/teaey/apns4j

项目中用到了 Apple Push ,后续集成到项目中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1064794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「专题速递」JPEG AI、端到端图像编码的标准化及产品落地、深度学习

从最初的追随者到如今的领跑者,中国的超高清视频编解码技术已经走过20年的漫长征程。从开始制定不同的视频编解码标准,如H.264/265、AV1、VVC、AVS,再到积极地探索基于AI的视频编码技术。视频编解码——这一将视频数据高效压缩、传输和解码还…

软件项目和安全项目案例(承接软件和安全项目合作)

公司有专业的软件开发团队和安全研究团队,具备完善的安全测试、安全培训、安全开发、安全服务等安全解决方案,可以助力政企研发专业、高效、安全、稳定的软件产品,欢迎项目咨询、商务合作! 一、软件开发项目咨询 1.承接车载等终…

了解了spring mvc web容器中一个http请求的全过程,能给我们提升多少武力值

继上一篇文章什么,这年头还有人不知道404_cow__sky的博客-CSDN博客后,有些同学发现,学了之后有啥用,有什么实际场景可以用到吗?程序员就是这样,不习惯于纸上谈兵,给一个场景show me code才是最实…

免交互输入

here document 免交互 对文本内容进行操作&#xff1a; 标准输入的替代品。 语法格式 命令 <<标记 内容 标记 命令&#xff1a;linux 命令 注意事项&#xff1a; 1.标记可以使用的任意字符。(字母和数字&#xff0c;一般不适用特殊字符。以字母开EOF) 2.结尾的标记一…

PHP8中的魔术方法-PHP8知识详解

在PHP 8中&#xff0c;魔术方法是一种特殊的方法&#xff0c;它们以两个下划线&#xff08;__&#xff09;开头。魔术方法允许您定义类的行为&#xff0c;例如创建对象、调用其他方法或访问和修改类的属性。以下是一些常见的魔术方法&#xff1a; __construct(): 类的构造函数…

【LeetCode高频SQL50题-基础版】打卡第1天:第1~10题

文章目录 【LeetCode高频SQL50题-基础版】打卡第1天&#xff1a;第1~10题⛅前言 可回收且低脂的产品&#x1f512;题目&#x1f511;题解 寻找用户推荐人&#x1f512;题目&#x1f511;题解 大的国家&#x1f512;题目&#x1f511;题解 文章浏览I&#x1f512;题目&#x1f5…

【计算机组成 课程笔记】7.3 高速缓存 Cache

课程链接&#xff1a; 计算机组成_北京大学_中国大学MOOC(慕课) 7 - 5 - 705-高速缓存的工作原理&#xff08;16-00--&#xff09;_哔哩哔哩_bilibili 在【计算机组成 课程笔记】7.1 存储层次结构概况_Elaine_Bao的博客-CSDN博客中提到&#xff0c;因为CPU和内存的速度差距越来…

R语言12篇文章带您深入了解限制立方条图(Restricted cubic spline,RCS)

临床上&#xff0c;因变量和临床的结局有时候不是线性关系&#xff0c;而回归模型有一个重要的假设就是自变量和因变量呈线性关联&#xff0c;因此非线性关系模型用回归分析来拟合受到限制。因此&#xff0c;一个更好的解决方法是拟合自变量与因变量之间的非线性关系&#xff0…

SICP第三章 模块化,对象和状态

赋值和局部状态 我们可以用一个或几个状态变量刻画一个对象的状态&#xff0c;在他们之中维持有关这一对象的历史&#xff0c;即能够确定该对象当前行为的充分的信息 局部状态变量 过程 dispatch 以一个消息为输入&#xff0c;返回两个局部过程之一 引进赋值带来的利益

【Windows】Win11重置网络设置后WLAN消失

问题描述 Windows11重置网络设置后WLAN消失。 原因分析 WLAN相关服务未启动。 解决方案 Win r 打开运行 运行 services.msc 按名称排序&#xff0c;找到这两个服务 右键启动 右键打开属性&#xff0c;找到启动类型&#xff0c;改为自动 WLAN已找回

七、【套索工具组】

文章目录 套索工具多边形套索工具磁性套索工具 套索工具 如下图&#xff0c;以我们抠图为例&#xff0c;当我们选用套索工具选中一块区域后&#xff0c;然后按ShiftF5调出填充工具菜单&#xff0c;然后再选中内容识别&#xff0c;就可以去掉该区域&#xff1a; 那么如何做到加…

云盘文件批量分享脚本

前言 偶尔需要用就心血来潮做了下目前支持 百度网盘批量分享115网盘批量分享天翼云盘批量分享123盘批量分享(2023年10月05日新增)夸克网盘批量分享(2023年10月06日新增)蓝奏网盘批量分享(2023年10月06日新增)进度条展示复制到剪贴板下载分享链接分享信息自定义配置自定义提取码…

HDLbits: Edgedetect

module top_module (input clk,input [7:0] in,output [7:0] pedge );reg [7:0] in_old;always(posedge clk)beginin_old < in; end assign pedge < in & ~in_old; endmodule 对于边缘检测而言&#xff0c;若是0→1和1→0都检测则为in^in_old&#xf…

智能家电经营小程序商城的作用是什么

大小家电是人们生活所需&#xff0c;如冰箱、电脑、电视机、饮水机等&#xff0c;都有很高的市场需求度&#xff0c;传统人们购买往往是前往当地商场&#xff0c;而随着如今互联网电商深入&#xff0c;越来越多的用户选择线上消费&#xff0c;这也促进着传统家电经营商家需要转…

k8s-10 ingress-nginx 特性

TLS加密 创建证书 测试 auth认证 创建认证文件 rewrite重定向 进入域名 会自动重定向hostname.html 示例二&#xff1a; 测试 后面必须跟westos 这个关键字 canary金丝雀发布 基于header灰度 场景&#xff1a;版本的升级迭代&#xff0c;比如一个service 升级到另…

【Hello Algorithm】认识一些简单的递归

本篇博客介绍&#xff1a; 认识一些简单的递归 认识一些简单的递归 打印一个字符串全部的子序列打印一个字符串的全排列不申请额外的空间 逆序输出一个栈 我在刚刚学习C语言的时候写过一个汉诺塔问题 大家可以参考下我之前写的这篇博客 汉诺塔问题 其实这个问题也可以这么解决…

【RK3588】YOLO V5在瑞芯微板子上部署问题记录汇总

YOLO V5训练模型部署到瑞芯微的板子上面&#xff0c;官方是有给出案例和转过详情的。并且也提供了Python版本的推理代码&#xff0c;以及C语言的代码。 但是&#xff0c;对于转换过程中的细节&#xff0c;哪些需要改&#xff1f;怎么改&#xff1f;如何改&#xff0c;和为什么…

Altium Designer20.2.3安装详解

Altium Designer20.2.3是一个画PCB电路板的软件&#xff0c;今天有时间安装一下&#xff0c;接下来的一段时间就学习这个电路板的绘制了。特此记录下安装过程。 首先是下载软件&#xff0c;我直接放到我的网盘里面了。我把他分享出来吧&#xff01;希望能帮到更多的小伙伴&…

微信小程序开发缺少中间证书问题(腾讯云、阿里云等做服务器)

项目使用nginx做负载均衡后&#xff0c;不再采用原来直接用jar包的方式直接开启对应端口&#xff0c;所以需要重新从云服务器上下载证书&#xff0c;写入到Nginx读取的证书路径上即可。

SRTP协议与加密原理

1 SRTP简介 SRTP&#xff08;Secure Real-time Transport Protocol&#xff09;是一种用于保护实时通信数据的网络协议。它主要用于音频和视频通信&#xff0c;以确保数据的机密性和完整性。SRTP是在RTP&#xff08;Real-time Transport Protocol&#xff09;的基础上开发的&a…