<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          盤點(diǎn) 35 個(gè) Apache 頂級(jí)項(xiàng)目,我拜服了…

          共 2271字,需瀏覽 5分鐘

           ·

          2020-08-11 22:45

          Java技術(shù)棧

          www.javastack.cn

          關(guān)注閱讀更多優(yōu)質(zhì)文章



          上一篇:盤點(diǎn) 6 個(gè)被淘汰的 Java 技術(shù)

          Apache 軟件基金會(huì)

          Apache 軟件基金會(huì),全稱:Apache Software Foundation,簡稱:ASF,成立于 1999 年 7 月,是目前世界上最大的最受歡迎的開源軟件基金會(huì),也是一個(gè)專門為支持開源項(xiàng)目而生的非盈利性組織。

          來看看 Apache 軟件基金會(huì)現(xiàn)在的成績:

          • 管理了超過兩億行的代碼;
          • 提交了 1,119,785,328 行代碼;
          • 3,231,428 次代碼提交;
          • 765 個(gè) ASF 個(gè)人會(huì)員;
          • 7,600 個(gè) 代碼提交者;
          • 所有志愿者的社區(qū);
          • 350+ 項(xiàng)目和提議;
          • 300 +頂級(jí)項(xiàng)目;
          • 52 個(gè)孵化器項(xiàng)目;

          以上信息來源 Apache 官網(wǎng),你看本文的時(shí)候可能會(huì)有更新。

          https://www.apache.org/

          據(jù) Apache 統(tǒng)計(jì),目前整個(gè) Apache 軟件基金會(huì)有價(jià)值超過 200+ 億美元的開源軟件和項(xiàng)目,免費(fèi)提供給開發(fā)者使用,并使全世界數(shù)十億的用戶受益。

          看到這里,我只能說 Apache 牛逼,下面我要整理的,可能都是我們?nèi)粘i_發(fā)過程中都會(huì)遇到的頂級(jí)開源項(xiàng)目,看看你用過幾個(gè),沒用過的也可以學(xué)習(xí)了解下,日后總有用武之地。

          頂級(jí)開源項(xiàng)目

          基礎(chǔ)組件項(xiàng)目

          1、Apache(httpd)

          項(xiàng)目主頁:

          http://httpd.apache.org/

          Apache 中文名:阿帕奇,全稱:Apache HTTP Server,后來改名叫 "httpd",是 Apache 軟件基金會(huì)的一個(gè)開源 HTTP 服務(wù)器,能夠運(yùn)行于 UNIX 和 Windows 上的安全、高效和可擴(kuò)展服務(wù)器。

          Apache 估計(jì)也是最早的開源項(xiàng)目了,1995 年就推出來了,自從 1996 年 4 月開始就一直是互聯(lián)網(wǎng)上最流行的 web 服務(wù)器了,2020 年 2 月,它度過了它的 25 歲生日。

          Apache 適合做HTML、圖片等靜態(tài)資源服務(wù),可以用來部署靜態(tài)網(wǎng)站,類似于 Nginx,不過 Nginx 要更強(qiáng)大,現(xiàn)在用 Nginx 的比較多。

          2、Tomcat

          項(xiàng)目主頁:

          http://tomcat.apache.org/

          這個(gè)做 Java 的沒人不認(rèn)識(shí)吧,記得在學(xué)校的時(shí)候?qū)W Java 最經(jīng)典的軟件就是這只湯姆貓了,當(dāng)時(shí)還是 Tomcat 6 的時(shí)代,現(xiàn)在是 8 的時(shí)代,最新已經(jīng)到 10 了。

          Tomcat 就是一個(gè) Apache 開源的 Web 應(yīng)用服務(wù)器,支持 Java Servlet, JavaServer Pages, Java Expression Language 和 Java WebSocket 技術(shù),其實(shí)就是為 Java 而生。

          雖然這些年 Tomcat 漏洞一直有,不能和其他收費(fèi)的比,但它開源啊、免費(fèi)啊,現(xiàn)在仍是 Java 界最主流的應(yīng)用服務(wù)器。

          3、Commons

          項(xiàng)目主頁:

          http://commons.apache.org/

          Apache Commons 是包含一系列 Java 公共組件的項(xiàng)目,可以理解為 Java 開發(fā)工具包、公共類庫,最經(jīng)典的莫非 commons-lang3 類庫了:


          ??org.apache.commons
          ??commons-lang3

          Apache Commons 提供了一系列額外的 Java 核心 API,用的最多的 StringUtils 想必大家都知道了。

          除了 commons-lang3 類庫,Apache Commons 目前共提供了 43 個(gè)十分好用的類庫,比如:

          • commons-io:這是一個(gè)有效開發(fā) IO 功能的實(shí)用類庫,很多 Java IO 處理都不能自己封裝;
          • commons-codec:這個(gè)類庫提供了常用的編碼器和解碼器,比如:Base64、十六進(jìn)制、語音和 url 的編碼解碼等;
          • commons-collections:這個(gè)類庫是專門處理集合的,很多集合處理也不用自己寫了;
          • commons-fileupload:這個(gè)類庫提供了非常容易的、健壯的、高性能的文件上傳功能;
          • ……

          更多請(qǐng)參考上方的項(xiàng)目主頁鏈接,其實(shí) Apache Commons 提供了許多這些公用類庫,我們真的沒有必要重復(fù)造輪子,直接拿來用就好了。

          4、POI

          項(xiàng)目主頁:

          http://poi.apache.org/

          做過 Java Web 傳統(tǒng)后臺(tái)項(xiàng)目的都知道 POI 類庫吧,POI 提供了一系列的 Java API 對(duì) Microsoft Office 格式檔案讀寫處理,如:Excel、Word、PowerPoint 等文件的讀寫,非常強(qiáng)大。

          5、HttpComponents

          項(xiàng)目主頁:

          http://hc.apache.org/

          Apache HttpComponents 提供了 HTTP 和相關(guān)協(xié)議的一系列 Java 組件和工具集,包括:HttpCore、HttpClient、HttpAsyncClient 三個(gè)組件,大家用的最多的 HTTP 客戶端 HttpClient 應(yīng)該都清楚了吧,就是這個(gè)開源項(xiàng)目的組件之一。

          最新的 HttpClient 都到 httpclient5 了:


          ??org.apache.httpcomponents.client5
          ??httpclient5
          ??5.0.1

          6、logging services

          項(xiàng)目主頁:

          http://logging.apache.org/

          Apache logging services:即 Apache 日志服務(wù),做 Java 都知道 Log4j 吧,也是用的最多的日志框架,就是屬于這個(gè)開源項(xiàng)目,另外還包含還有 Log4j 2、log4php、log4cxx 等其他語言的日志框架。

          7、Ant

          項(xiàng)目主頁:

          http://ant.apache.org/

          Apache Ant 是一個(gè)比較老的 Java 項(xiàng)目編譯和構(gòu)建工具,現(xiàn)在已經(jīng)用的比較少了,已經(jīng)被 Maven/ Gradle 替代了。

          8、Maven

          項(xiàng)目主頁:

          http://maven.apache.org/

          Apache Maven 算是 Apache Ant 的終結(jié)者,是現(xiàn)在最主流的軟件項(xiàng)目管理工具之一,提供項(xiàng)目自動(dòng)編譯、單元測試、打包、發(fā)布等一系列生命周期的管理。

          這里就不展開介紹了,相信大家大部分人所在公司都已經(jīng)在用它,想系統(tǒng)學(xué)習(xí)的,我之前也寫過不少教程,關(guān)注Java技術(shù)棧公眾號(hào)在后臺(tái)回復(fù) Maven 即可快速閱讀。

          9、Subversion

          項(xiàng)目主頁:

          http://subversion.apache.org/

          沒錯(cuò),Subversion 就是指牛逼哄哄的 SVN,創(chuàng)建于 2000 年,是 Apache 開源的版本控制軟件,代碼版本控制、文件版本控制沒人沒用過它吧?

          Web 項(xiàng)目

          10、Struts

          項(xiàng)目主頁:

          http://struts.apache.org/

          Struts 是一個(gè)免費(fèi)開源的 MVC 框架,用于創(chuàng)建 Java web 應(yīng)用程序。Struts 那些年可謂是風(fēng)光無限啊,Struts2 + Spring + Hibernate 三大框架一起組成了 "SSH"————牛逼哄哄的 Java Web 框架三劍客。

          不過 Struts 漏洞太多了,隨著 Spring MVC, Spring Boot 的興起,現(xiàn)在它也逐漸被淘汰了,具體可以點(diǎn)擊這里看下這篇文章。

          11、FreeMarker

          項(xiàng)目主頁:

          https://freemarker.apache.org/

          Apache FreeMarker 是一個(gè)基于模板和數(shù)據(jù)生成文本輸出 HTML 頁面、電子郵件、配置文件、源代碼等的一個(gè) Java 模板引擎庫。

          用的最多的就是利用 FreeMarker 模板來生成靜態(tài)頁面,F(xiàn)reeMarker 也是 Spring Boot 支持自動(dòng)配置的四大模板引擎之一。


          ????org.springframework.boot
          ????spring-boot-starter-freemarker
          ????2.3.1.RELEASE

          12、Velocity

          項(xiàng)目主頁:

          http://velocity.apache.org/

          Velocity 是一個(gè)基于 Java 語言的模板引擎,它允許任何人使用簡單而強(qiáng)大的模板語言來引用 Java 代碼中定義的對(duì)象。

          但是,由于 Velocity 長期未更新,所以 Spring Boot 1.5.x 之后不再支持 Velocity,建議大家使用其他模板引擎。

          上次更新還是 2010 年。

          13、Tapestry

          項(xiàng)目主頁:

          https://tapestry.apache.org/

          Tapestry 在 Java Web 開發(fā)界也是鼎鼎有名的,我知道的之前就有一些公司都用過它。它是一個(gè)面向組件的 Web 框架,用于在 Java 中創(chuàng)建高度可伸縮的 Web 應(yīng)用程序。

          14、Shiro

          項(xiàng)目主頁:

          http://shiro.apache.org/

          做 Java Web 后臺(tái)開發(fā)的程序員應(yīng)該沒人不知道強(qiáng)大 Shiro 了,Apache Shiro 是一個(gè)功能強(qiáng)大且易于使用的 Java 安全框架,可用于身份驗(yàn)證、授權(quán)、加密和會(huì)話管理等。

          另外,通過 Apache Shiro 易于理解的API、細(xì)致化的權(quán)限控制,我們可以快速、輕松地開發(fā)和保護(hù)企業(yè)應(yīng)用程序。

          分布式項(xiàng)目

          15、Dubbo

          項(xiàng)目主頁:

          http://dubbo.apache.org/

          對(duì)于 Dubbo,做分布式、微服務(wù)的程序員朋友們應(yīng)該都再清楚不過了,它最初是由阿里巴巴開源的分布式服務(wù)框架(RPC),一段時(shí)間停止維護(hù)后,后來又重啟維護(hù)并捐獻(xiàn)給了 Apache 軟件基金會(huì)。

          即使現(xiàn)在 Spring Cloud 微服務(wù)的興起,Dubbo 現(xiàn)在在很多企業(yè)也還是在大量運(yùn)用的,隨著 Dubbo 的重啟維護(hù)并且捐獻(xiàn)給 Apache 軟件基金會(huì),它的明天會(huì)越來越好。

          16、Thrift

          項(xiàng)目主頁:

          http://thrift.apache.org/

          Apache Thrift 也是一款優(yōu)秀的、非常輕量級(jí)的 RPC 框架,也是大名鼎鼎,最初由 Facebook 進(jìn)行開發(fā),后來捐獻(xiàn)給了 Apache 軟件基金會(huì)。

          Apache Thrift 支持可擴(kuò)展的跨語言服務(wù)化開發(fā),支持多種語言,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml, Delphi 等,十分強(qiáng)大。

          17、Zookeeper

          項(xiàng)目主頁:

          http://zookeeper.apache.org/

          Apache Zookeeper 也是一個(gè)分布式中間件神器,是 Google Chubby 的一個(gè)開源實(shí)現(xiàn),可用于做配置中心、分布式鎖等,最主要一點(diǎn)是它可以用來支持高度可靠的分布式服務(wù)協(xié)調(diào)中間件。

          現(xiàn)在市面上的一些主流的開源項(xiàng)目都有 Zookeeper 的身影,如:Hadoop、Dubbo、Kafka、ElasticJob 等。

          18、Curator

          項(xiàng)目主頁:

          http://curator.apache.org/

          Apache Curator 是 ZooKeeper 的 Java 客戶端,它包括一系列高級(jí) API 和工具,簡化了使用 ZooKeeper 的操作,可以更容易、可靠地使用 ZooKeeper。

          19、SkyWalking

          項(xiàng)目主頁:

          http://skywalking.apache.org/

          Apache SkyWalking 是一個(gè)可觀測性分析平臺(tái)和應(yīng)用性能管理系統(tǒng),提供分布式跟蹤、指標(biāo)監(jiān)控、性能診斷、度量匯總和可視化一體化的解決方案。

          Apache SkyWalking 支持 Java,net Core, PHP, NodeJS, Golang, LUA 的代理,還支持 Istio + Envoy Service Mesh,特別為微服務(wù)、云本機(jī)和基于容器(如:Docker, K8s, Mesos)架構(gòu)設(shè)計(jì)的。

          20、ShardingSphere

          項(xiàng)目主頁:

          http://shardingsphere.apache.org/

          Apache ShardingSphere 是由一組分布式數(shù)據(jù)庫中間件解決方案組成的開源生態(tài)系統(tǒng),包括 3 個(gè)獨(dú)立的產(chǎn)品:JDBC, Proxy & Sidecar (計(jì)劃中)。它們都提供了數(shù)據(jù)分片、分布式事務(wù)和數(shù)據(jù)庫編排功能,適用于 Java 同構(gòu)、異構(gòu)語言和云原生等多種場景。

          搜索項(xiàng)目

          21、Lucene

          項(xiàng)目主頁:

          https://lucene.apache.org/

          Apache Lucene 是一個(gè)頂級(jí)的開源搜索框架,包括一個(gè)核心搜索庫:Lucene core,以及一個(gè)搜索服務(wù)器:Solr。

          Lucene Core 是一個(gè)提供強(qiáng)大的索引和搜索功能的 Java 庫,以及拼寫檢查、高亮顯示和高級(jí)分析/標(biāo)記功能。

          Solr 是使用 Lucene Core 構(gòu)建的高性能搜索服務(wù)器。Solr 具有高伸縮性,提供完全容錯(cuò)的分布式索引、搜索和分析功能。

          消息中間件項(xiàng)目

          22、ActiveMQ

          項(xiàng)目主頁:

          http://activemq.apache.org/

          Apache ActiveMQ 是一款靈活、強(qiáng)大的多協(xié)議開源消息中間件,支持 JMS 1.1 & 2.0,也是目前最流行的基于 Java 的消息中間件之一。

          它支持行業(yè)標(biāo)準(zhǔn)協(xié)議,所以用戶可以跨廣泛的語言和平臺(tái)選擇最合適的客戶端,如 C、c++、Python、. net 等更多其他語言。

          23、RocketMQ

          項(xiàng)目主頁:

          http://rocketmq.apache.org/

          Apache RocketMQ 真的是一款重量級(jí)、極具競爭力的消息隊(duì)列產(chǎn)品,是由阿里巴巴 2012 年開源的分布式消息中間件,也是一款輕量級(jí)的數(shù)據(jù)處理平臺(tái),2016 年捐贈(zèng)給了 Apache 軟件基金會(huì),2017 年正式畢業(yè)。

          24、Kafka

          項(xiàng)目主頁:

          http://kafka.apache.org/

          Apache Kafka 也是一款重量級(jí)開源項(xiàng)目,最初由 Linkedin 公司進(jìn)行開發(fā),后來捐獻(xiàn)給了 Apache 軟件基金會(huì)。

          Apache Kafka 它是一種分布式、高吞吐量的發(fā)布訂閱消息系統(tǒng)(MQ),它的最大的特性就是,可以實(shí)時(shí)好處理大量數(shù)據(jù)以滿足各種需求和業(yè)務(wù)場景。

          大數(shù)據(jù)/數(shù)據(jù)庫項(xiàng)目

          25、Hadoop

          項(xiàng)目主頁:

          http://hadoop.apache.org/

          做大數(shù)據(jù)的沒有不知道 Apache Hadoop 的,它是一種高可靠、可伸縮、分布式大數(shù)據(jù)處理框架,也是一套大數(shù)據(jù)行業(yè)公認(rèn)的標(biāo)準(zhǔn)框架。

          Apache Hadoop 成立于 2002 年,曾是 Apache Lucene 的子項(xiàng)目之一,2008 年正式成為 Apache 的頂級(jí)項(xiàng)目。

          26、HBase

          項(xiàng)目主頁:

          http://hbase.apache.org/

          Apache HBase 是一個(gè)建立在 Hadoop HDFS 的非關(guān)系數(shù)據(jù)庫,以分布式、可擴(kuò)展進(jìn)行大數(shù)據(jù)存儲(chǔ),如果需要對(duì)大數(shù)據(jù)進(jìn)行隨機(jī)、實(shí)時(shí)的讀寫訪問時(shí),可以使用 Apache HBase。

          27、Pig

          項(xiàng)目主頁:

          http://pig.apache.org/

          Apache Pig 是一個(gè)基于 Hadoop 的大數(shù)據(jù)分析平臺(tái),是 Map Reduce 的一個(gè)抽象,提供類似于 SQL 的面向數(shù)據(jù)流的 Pig Latin 高級(jí)語言。

          Pig Latin 提供了各種操作符,以及豐富的數(shù)據(jù)類型,從而可以很輕松地執(zhí)行 Map Reduce 任務(wù)。

          28、Hive

          項(xiàng)目主頁:

          http://hive.apache.org/

          Apache Hive 是一個(gè)基于 Hadoop 的數(shù)據(jù)倉庫工具,用來提取、轉(zhuǎn)化和加載數(shù)據(jù),它可以將 Hadoop 原始結(jié)構(gòu)化數(shù)據(jù)映射為 Hive 中的一張表,并提供了類似 SQL 的 HiveQL 語言查詢功能。

          29、Spark

          項(xiàng)目主頁:

          http://spark.apache.org/

          Apache Spark 是一個(gè)用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一分析引擎,它也被認(rèn)為是第二代大數(shù)據(jù)技術(shù),第一代是基于 Hadoop 的 Map Reduce 模型。

          Apache Spark 它本身不會(huì)進(jìn)行分布式數(shù)據(jù)的存儲(chǔ),所以它必須要集成其他的分布式文件系統(tǒng)才能工作,一船要與 Apache Hadoop 的 HDFS 結(jié)合使用,但這不是必須的,也可以選擇其他的數(shù)據(jù)系統(tǒng)平臺(tái)進(jìn)行集成。

          30、Flink

          項(xiàng)目主頁:

          https://flink.apache.org/

          Apache Flink 是一個(gè)分布式處理引擎框架,用于無邊界和有邊界數(shù)據(jù)流上的有狀態(tài)計(jì)算。Flink 被設(shè)計(jì)用于在所有常見的集群環(huán)境中運(yùn)行,以內(nèi)存速度和任何規(guī)模執(zhí)行計(jì)算。

          31、Storm

          項(xiàng)目主頁:

          http://storm.apache.org/

          Apache Storm 是一個(gè)分布式實(shí)時(shí)計(jì)算系統(tǒng),它能夠輕松可靠地處理數(shù)據(jù)流,就像 Hadoop 那樣進(jìn)行實(shí)時(shí)批處理,并且可以與任何編程語言一起使用,而且使用起來非常方便。

          32、Cassandra

          項(xiàng)目主頁:

          https://cassandra.apache.org/

          Apache Cassandra 是一款可伸縮、高可用、高性能去中心化的分布式數(shù)據(jù)庫,當(dāng)時(shí)是 Facebook 在 2007 年為了解決消息收件箱搜索問題而開始設(shè)計(jì)的,后來被轉(zhuǎn)移到了 Apache 軟件基金會(huì)成為頂級(jí)項(xiàng)目。

          33、CouchDB

          項(xiàng)目主頁:

          https://couchdb.apache.org/

          Apache CouchDB 是一個(gè)面向文檔的分布式數(shù)據(jù)庫,它以 JSON 作為存儲(chǔ)格式,JavaScript 作為查詢語言,提供直觀可靠的 Restful API 接口進(jìn)行操作,最顯著的特點(diǎn)就是支持多主復(fù)制。

          編程語言、工具項(xiàng)目

          34、Groovy

          項(xiàng)目主頁:

          http://groovy.apache.org/

          Apache Groovy 是一個(gè)功能十分強(qiáng)大的基于 JVM 平臺(tái)的動(dòng)態(tài)編程語言,語法與 Java 十分相似,并且兼容 Java,但 Groovy 要更簡潔、優(yōu)美,更易于學(xué)習(xí),開發(fā)效率也非常高。

          35、NetBeans

          項(xiàng)目主頁:

          http://netbeans.apache.org/

          NetBeans 是一款老牌的開源開發(fā)工具(IDE),集成開發(fā)環(huán)境和應(yīng)用框架,支持 Java, JavaScript, PHP 等更多編程語言,最初由 SUN 公司開發(fā),后來被 Oracle 收購,再后來被 Oracle 捐獻(xiàn)給了 Apache 軟件基金會(huì)。

          總結(jié)

          相信今天棧長分享的 35 個(gè)頂級(jí)項(xiàng)目大家都接觸過或者聽說過,雖然有些面臨淘汰,但它們個(gè)個(gè)都是重磅,曾經(jīng)也都風(fēng)光過,正是有了這些開源項(xiàng)目,我們 Java 生態(tài)圈才會(huì)越來越繁榮。

          最后,這篇文章寫完真心不容易啊,抽空陸陸續(xù)續(xù)寫了好些天,覺得本文不錯(cuò),也歡迎點(diǎn)贊轉(zhuǎn)發(fā)哦!

          大家也可以持續(xù)關(guān)注公眾號(hào)Java技術(shù)棧,棧長也將繼續(xù)分享好玩的 Java 項(xiàng)目和工具,公眾號(hào)第一時(shí)間推送。

          你還知道哪些重磅的 Apache 頂級(jí)項(xiàng)目,歡迎留言分享~

          最近熱文:
          1、重磅!《Java開發(fā)手冊(cè)(嵩山版)》最新發(fā)布
          2、打破你的認(rèn)知!Java空指針居然還能這樣玩
          3、Java 強(qiáng)、弱、軟、虛,你屬于哪一種?
          4、Spring Boot 太狠了,一次發(fā)布 3 個(gè)版本!
          5、Spring Boot 如何快速集成 Redis?
          6、盤點(diǎn) 6 個(gè)被淘汰的 Java 技術(shù),曾經(jīng)風(fēng)光過!
          7、Spring Boot Redis 實(shí)現(xiàn)分布式鎖,真香!
          8、Spring Boot 干掉了 Maven 擁抱 Gradle!
          9、公司來了個(gè)新同事不會(huì)用 Lombok!
          10、同事寫了個(gè)隱藏 bug,我排查了 3 天!
          掃碼關(guān)注Java技術(shù)棧公眾號(hào)閱讀更多干貨。

          點(diǎn)擊「閱讀原文」獲取面試題大全~

          瀏覽 67
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日本成人性爱视频 | 乱系列视频在线观看 | 天天碰天天摸 | 天堂中文在线资源库5 | 17.c蜜桃视频红桃视频 |