自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

GitHub 上100個(gè)最受歡迎的Java基礎(chǔ)類庫(kù)

譯文
開(kāi)發(fā) 后端
作為一名整天與既成熟且不斷發(fā)展的Java語(yǔ)言打交道的開(kāi)發(fā)者,面對(duì)的困境之一就是在我們編寫(xiě)代碼的時(shí)候,是使用一些人人談?wù)摰娜藗冃录夹g(shù)呢,還是堅(jiān)持使用一些雖舊但成熟的類庫(kù)?

作為一名整天與既成熟且不斷發(fā)展的Java語(yǔ)言打交道的開(kāi)發(fā)者,面對(duì)的困境之一就是在我們編寫(xiě)代碼的時(shí)候,是使用一些人人談?wù)摰娜藗冃录夹g(shù)呢,還是堅(jiān)持使用一些雖舊但成熟的類庫(kù)?

由于Java應(yīng)用中大部分是商業(yè)用途,因此有的時(shí)候很難輕易將實(shí)際已使用的有哪些框架分離出來(lái)統(tǒng)計(jì)。在一個(gè)開(kāi)源Java框架的發(fā)展過(guò)程中,社區(qū)用戶和貢獻(xiàn)者是該框架能否持續(xù)成功和發(fā)展的關(guān)鍵因素。

我們選取了目前程序員們?cè)谑褂玫?,世界?**的Java項(xiàng)目代碼庫(kù)GitHub去使用基于數(shù)據(jù)的方法去進(jìn)行研究。在我們之前的文章中,我們研究了GitHub中

最多人使用的100個(gè)Javascript、Ruby和Java項(xiàng)目。在本文中,將重點(diǎn)分析Java項(xiàng)目中其中用到了哪些受歡迎的類庫(kù)。

研究方法

在本文中,我們采用如下的方法去進(jìn)行研究:挑選了10000個(gè)深受社區(qū)歡迎的開(kāi)源項(xiàng)目,它們?cè)谏鐓^(qū)中有相對(duì)重要的地位。我們選用了GitHub中大多數(shù)項(xiàng)目中使用的pom.xml去進(jìn)行分類研究,將其中用到的類庫(kù)進(jìn)行分組,其結(jié)果十分有趣味。

調(diào)查結(jié)果

下圖顯示的是調(diào)查結(jié)果圖中,Java開(kāi)源項(xiàng)目中用得最多的類庫(kù)的部分截圖,完整的調(diào)查結(jié)果請(qǐng)參考:

https://docs.google.com/spreadsheet/ccc?key=0Alceaf46X4GPdHhKV0FFSnVpTlA2SkpiaVU0M3BDYXc&usp=sharing#gid=0

下面簡(jiǎn)單進(jìn)行一個(gè)分析歸納和提出一些值得關(guān)注的要點(diǎn):

日志方面的類庫(kù)    使用最多的類庫(kù)是slf4j,有3068個(gè)項(xiàng)目使用它??瓷先itHub上的Java開(kāi)發(fā)者都接受了將具體的日志系統(tǒng)和應(yīng)用解耦的方法,因?yàn)閟l4j其實(shí)上并沒(méi)限制開(kāi)發(fā)者在具體應(yīng)用中使用什么日志引擎,提供了統(tǒng)一的記錄日志的接口,只要按照其提供的方法記錄即可,最終日志的格式、記錄級(jí)別、輸出方式等通過(guò)具體日志系統(tǒng)的配置來(lái)實(shí)現(xiàn),因此可以在應(yīng)用中靈活切換日志系統(tǒng)。當(dāng)然,其中具體的日志系統(tǒng)中使用的最多的依然是log4j――有891個(gè)項(xiàng)目使用它。居亞軍的是Apache的Commons-logging,有334個(gè)項(xiàng)目使用,數(shù)量連log4j的一半也不到,第三位的是sl4j自帶的最簡(jiǎn)單實(shí)現(xiàn)類庫(kù),有174個(gè)項(xiàng)目使用。

Spring    盡管Spring可能一直被人認(rèn)為是更成熟而不是時(shí)髦的框架,但依然在前100位中占據(jù)了近15席(都是Spring相關(guān)的類庫(kù))。Spring是龐大的框架,探究它其中有哪些類庫(kù)是用得最多的是很有趣的事情。除了Spring的核心類庫(kù)外,Spring-test是使用得最多的(有376個(gè)項(xiàng)目使用)。之后是強(qiáng)大的Spring-MVC框架有277個(gè)項(xiàng)目使用,接下來(lái)的是Spring的SpringORM相關(guān)功能的類庫(kù),有218個(gè)項(xiàng)目使用。

TDD相關(guān)有  3068個(gè)項(xiàng)目使用JUnit。這表明測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的方式已經(jīng)占據(jù)Java項(xiàng)目的半壁江山??瓷先ト绻荍ava程序員,則在開(kāi)發(fā)程序的時(shí)候單元測(cè)試是必不可少的了。要值得注意的是,在測(cè)試框架中,并不是只有JUnit稱霸,另外一個(gè)不錯(cuò)的測(cè)試框架TestNG,有331個(gè)項(xiàng)目在使用。

Mockito  Mockito是一個(gè)很流行的mock測(cè)試框架,獲得的413個(gè)項(xiàng)目的青睞。EasyMock緊隨其后,有231個(gè)項(xiàng)目在使用。

Google Guava工具類庫(kù) 目前,越來(lái)越多的開(kāi)發(fā)者喜歡使用Google Guava類庫(kù),其中有4.8%的項(xiàng)目在使用。

Apache Commons工具類庫(kù)    接下來(lái)我們留意到Apache旗下的開(kāi)源工具類庫(kù)Apache Common,它也是在Java語(yǔ)言中使用十分廣泛的工具類庫(kù)。Commons-io和Commons-langz占據(jù)了前10位,分別有519個(gè)和504的項(xiàng)目在使用它們,十分流行。

在Apache的Commons工具類庫(kù)系列中,其中有13個(gè)在前100位中出現(xiàn)。Google的Guava類庫(kù),也提供類似的功能,得到了483個(gè)項(xiàng)目的支持。

下圖為按照類型去統(tǒng)計(jì)的使用最多的Java類庫(kù):

SQL & NoSQL. 隨著NoSQL最近這幾年成為最火熱的話題,則必須考察既使用關(guān)系數(shù)據(jù)庫(kù)也使用NoSQL的項(xiàng)目數(shù)。其中統(tǒng)計(jì)數(shù)據(jù)表明,Mysql有225個(gè)項(xiàng)目在使用,Hibernate ORM盡管本身不是數(shù)據(jù)庫(kù),但有181個(gè)項(xiàng)目用到Hibernate技術(shù)。

Hadoop 在調(diào)查數(shù)據(jù)中我們發(fā)現(xiàn),其中有168個(gè)項(xiàng)目涉及到Hadoop,這比本身在成熟的關(guān)系數(shù)據(jù)庫(kù)之一Postgre SQL的票數(shù)要多(121個(gè)項(xiàng)目使用Postgre SQL)。

ElasticSearch,. 另外一項(xiàng)大數(shù)據(jù)技術(shù),在調(diào)查樣本中發(fā)現(xiàn)有110個(gè)項(xiàng)目使用,另外很驚訝發(fā)現(xiàn)在Ruby中有1085個(gè)項(xiàng)目使用的sqlite數(shù)據(jù)庫(kù),在Java這邊卻不能進(jìn)入前100位。

Android.在GitHub的本次調(diào)查中,發(fā)現(xiàn)有228個(gè)項(xiàng)目通過(guò)Maven在使用Android。盡管目前在GitHub上的移動(dòng)應(yīng)用比例不是太多,但可以顯示出Java依然是服務(wù)端編程語(yǔ)言的老大。
 

原文鏈接:http://java.dzone.com/articles/github%e2%80%99s-10000-most-popular

責(zé)任編輯:陳四芳 來(lái)源: 51CTO
相關(guān)推薦

2019-02-19 15:13:27

JavaGitHub

2013-04-11 09:44:35

CSSGithub

2018-04-06 09:25:10

GitHub Java測(cè)試工具

2017-07-28 11:25:40

GitHub庫(kù)框架

2023-09-19 15:04:02

Github開(kāi)源

2021-01-08 10:25:51

編程面試項(xiàng)目

2016-02-02 10:56:50

2019-07-05 10:03:05

UbuntuLinux應(yīng)用

2017-10-10 13:29:54

AI工具 庫(kù) 平臺(tái)

2015-08-26 10:15:11

OSCONDockerDocker技巧

2013-07-22 15:38:08

Java大師底層

2010-02-06 15:41:08

ibmdwJava

2015-07-21 15:22:16

Java 開(kāi)發(fā)CMS 系統(tǒng)

2014-05-30 10:11:33

Linux 命令

2015-04-28 13:51:52

開(kāi)源云項(xiàng)目IaaSPaaS

2023-09-11 06:43:38

崗位ITDevOps

2018-07-05 09:06:02

2022-01-28 08:27:50

JavaScript項(xiàng)目TypeScript

2017-07-25 09:53:37

Python庫(kù)機(jī)器學(xué)習(xí)

2019-07-09 06:45:26

UbuntuLinux應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)