2019年8月GitHub上最熱門Java項目

2019年8月GitHub上最熱門Java項目

1. miaosha(Star:10253)

Github地址:
https://github.com/qiurunze123/miaosha
介紹:
????秒殺系統設計與實現.互聯網工程師進階與分析????

2. cat(Star:10948)

Github地址:
https://github.com/dianping/cat
介紹:

  • CAT 是基于 Java 開發的實時應用監控平臺,為美團點評提供了全面的實時監控告警服務。
  • CAT 作為服務端項目基礎組件,提供了 Java, C/C++, Node.js, Python, Go 等多語言客戶端,已經在美團點評的基礎架構中間件框架(MVC框架,RPC框架,數據庫框架,緩存框架等,消息隊列,配置系統等)深度集成,為美團點評各業務線提供系統豐富的性能指標、健康狀況、實時告警等。
  • CAT 很大的優勢是它是一個實時系統,CAT 大部分系統是分鐘級統計,但是從數據生成到服務端處理結束是秒級別,秒級定義是48分鐘40秒,基本上看到48分鐘38秒數據,整體報表的統計粒度是分鐘級;第二個優勢,監控數據是全量統計,客戶端預計算;鏈路數據是采樣計算。

3. SoloPi(Star:2451)

Github地址:
https://github.com/alipay/SoloPi
介紹:
Soloπ是一個無線化、非侵入式的Android自動化工具,公測版擁有錄制回放、性能測試、一機多控三項主要功能,能為測試開發人員節省寶貴時間。

4. spring-cloud-alibaba(Star:8064)

Github地址:
https://github.com/alibaba/spring-cloud-alibaba
介紹:
Spring Cloud Alibaba 致力于提供微服務開發的一站式解決方案。此項目包含開發分布式應用微服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕松使用這些組件來開發分布式應用服務。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以將 Spring Cloud 應用接入阿里微服務解決方案,通過阿里中間件來迅速搭建分布式應用系統。
主要功能:

  • 服務限流降級:默認支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降級功能的接入,可以在運行時通過控制臺實時修改限流降級規則,還支持查看限流降級 Metrics 監控。
  • 服務注冊與發現:適配 Spring Cloud 服務注冊與發現標準,默認集成了 Ribbon 的支持。
  • 分布式配置管理:支持分布式系統中的外部化配置,配置更改時自動刷新。
  • 消息驅動能力:基于 Spring Cloud Stream 為微服務應用構建消息驅動能力。
  • 分布式事務:使用 @GlobalTransactional 注解, 高效并且對業務零侵入地解決分布式事務問題。
  • 阿里云對象存儲:阿里云提供的海量、安全、低成本、高可靠的云存儲服務。支持在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。
  • 分布式任務調度:提供秒級、精準、高可靠、高可用的定時(基于 Cron 表達式)任務調度服務。同時提供分布式的任務執行模型,如網格任務。網格任務支持海量子任務均勻分配到所有 Worker(schedulerx-client)上執行。
  • 阿里云短信服務:覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道。

5. spring-boot-demo(Star:1746)

Github地址:
https://github.com/xkcoding/spring-boot-demo
介紹:
spring boot demo 是一個用來深度學習并實戰 spring boot 的項目,目前總共包含 57 個集成demo,已經完成 47 個。

該項目已成功集成 actuator(監控)、admin(可視化監控)、logback(日志)、aopLog(通過AOP記錄web請求日志)、統一異常處理(json級別和頁面級別)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、JdbcTemplate(通用JDBC操作數據庫)、JPA(強大的ORM框架)、mybatis(強大的ORM框架)、通用Mapper(快速操作Mybatis)、PageHelper(通用的Mybatis分頁插件)、mybatis-plus(快速操作Mybatis)、BeetlSQL(強大的ORM框架)、upload(本地文件上傳和七牛云文件上傳)、redis(緩存)、ehcache(緩存)、email(發送各種類型郵件)、task(基礎定時任務)、quartz(動態管理定時任務)、xxl-job(分布式定時任務)、swagger(API接口管理測試)、security(基于RBAC的動態權限認證)、SpringSession(Session共享)、Zookeeper(結合AOP實現分布式鎖)、RabbitMQ(消息隊列)、Kafka(消息隊列)、websocket(服務端推送監控服務器運行信息)、socket.io(聊天室)、ureport2(中國式報表)、打包成war文件、集成 ElasticSearch(基本操作和高級查詢)、Async(異步任務)、集成Dubbo(采用官方的starter)、MongoDB(文檔數據庫)、neo4j(圖數據庫)、docker(容器化)、JPA多數據源、Mybatis多數據源、代碼生成器、GrayLog(日志收集)、JustAuth(第三方登錄)。

6. mall-learning(Star:1726)

Github地址:
https://github.com/macrozheng/mall-learning
介紹:
mall學習教程,架構、業務、技術要點全方位解析。mall項目(18k+star)是一套電商系統,使用現階段主流技術實現。 涵蓋了SpringBoot2.1.3、MyBatis3.4.6、Elasticsearch6.2.2、RabbitMQ3.7.15、Redis3.2、Mongodb3.2、Mysql5.7等技術,采用Docker容器化部署。

7. vhr(Star:10948)

Github地址:
https://github.com/lenve/vhr
介紹:
微人事是一個前后端分離的人力資源管理系統,項目采用SpringBoot+Vue開發。

8. SpringCloud(Star:1028)

Github地址:
https://github.com/zhoutaoo/SpringCloud
介紹:
基于SpringCloud2.0的微服務開發腳手架,整合了spring-security-oauth2、apollo、eureka、feign、hystrix、springcloud-gateway、springcloud-bus等。治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,讓項目開發快速進入業務開發,而不需過多時間花費在架構搭建上。持續更新中

9. java-design-patterns(Star:50570)

Github地址:
https://github.com/iluwatar/java-design-patterns
介紹:
設計模式是程序員在設計應用程序或系統時可用于解決常見問題的最佳形式化實踐。

設計模式可以通過提供經過驗證的經過驗證的開發范例來加速開發過程。

重用設計模式有助于防止導致重大問題的細微問題,并且還可以提高熟悉模式的編碼人員和架構師的代碼可讀性。

10. advanced-java(Star:27939)

Github地址:
https://github.com/doocs/advanced-java
介紹:
?? 互聯網 Java 工程師進階知識完全掃盲:涵蓋高并發、分布式、高可用、微服務等領域知識,后端同學必看,前端同學也可學習

11. SpringAll(Star:8122)

Github地址:
https://github.com/wuyouzhuguli/SpringAll
介紹:
循序漸進,學習Spring Boot、Spring Boot & Shiro、Spring Cloud、Spring Security & Spring Security OAuth2,博客Spring系列源碼

12. arthas(Star:15705)

Github地址:
https://github.com/alibaba/arthas
介紹:
Arthas 是Alibaba開源的Java診斷工具,深受開發者喜愛。

當你遇到以下類似問題而束手無策時,Arthas可以幫助你解決:

  1. 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception?
    2.我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了?
    3.遇到問題無法在線上 debug,難道只能通過加日志再重新發布嗎?
    4.線上遇到某個用戶的數據處理有問題,但線上同樣無法 debug,線下無法重現!
    5.是否有一個全局視角來查看系統的運行狀況?
    6.有什么辦法可以監控到JVM的實時運行狀態?
    Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。

13. easyexcel(Star:8098)

Github地址:
https://github.com/alibaba/easyexcel
介紹:
快速、簡單避免OOM的java處理Excel工具
主要功能:
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模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便

14. hope-boot(Star:1507)

Github地址:
https://github.com/hope-for/hope-boot
介紹:
????一款現代化的腳手架項目。企業開發?接外包?賺外快?還是學習?這都能滿足你,居家必備,值得擁有??整合Springboot2,單點登陸+tk.mybatis+shiro+redis+thymeleaf+maven+swagger前后端分離接口管理+代碼生成+定時任務+數據庫版本管理flyway+hutool工具包,等實用技術。

15. hutool(Star:6839)

Github地址:
https://github.com/looly/hutool
介紹:
Hutool是一個Java工具包,也只是一個工具包,它幫助我們簡化每一行代碼,減少每一個方法,讓Java語言也可以“甜甜的”。它最初是作者項目中“util”包的一個整理,后來慢慢積累并加入更多非業務相關功能,并廣泛學習其它開源項目精髓,經過自己整理修改,最終形成豐富的開源工具集。

Hutool是Hu + tool的自造詞,諧音“糊涂”,寓意,追求“萬事都作糊涂觀,無所謂失,無所謂得”的境界。
主要功能:
一個Java基礎工具類,對文件、流、加密解密、轉碼、正則、線程、XML等JDK方法進行封裝,組成各種Util工具類,同時提供以下組件:

hutool-aop JDK動態代理封裝,提供非IOC下的切面支持
hutool-bloomFilter 布隆過濾,提供一些Hash算法的布隆過濾
hutool-cache 簡單緩存實現
hutool-core 核心,包括Bean操作、日期、各種Util等
hutool-cron 定時任務模塊,提供類Crontab表達式的定時任務
hutool-crypto 加密解密模塊,提供對稱、非對稱和摘要算法封裝
hutool-db JDBC封裝后的數據操作,基于ActiveRecord思想
hutool-dfa 基于DFA模型的多關鍵字查找
hutool-extra 擴展模塊,對第三方封裝(模板引擎、郵件、Servlet、二維碼、Emoji、FTP、分詞等)
hutool-http 基于HttpUrlConnection的Http客戶端封裝
hutool-log 自動識別日志實現的日志門面
hutool-script 腳本執行封裝,例如Javascript
hutool-setting 功能更強大的Setting配置文件和Properties封裝
hutool-system 系統參數調用封裝(JVM信息等)
hutool-json JSON實現
hutool-captcha 圖片驗證碼實現
hutool-poi 針對POI中Excel的封裝
hutool-socket 基于Java的NIO和AIO的Socket封裝
可以根據需求對每個模塊單獨引入,也可以通過引入hutool-all方式引入所有模塊。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容