百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

GitHub上最受欢迎的100个JAVA库,值得学习

toyiye 2024-06-23 19:00 17 浏览 0 评论

TaKiPi网站用数据说话,分析了60678个GitHub上的Library。研究了这些库的导入语句,其中包括Github的前5,216个Java项目使用的11,939个独特的Java库。

前20名Java库

意料外的

Hadoop

Hadoop排在42位,Apache Spark没有在前100名的列表中。Apache Zookeeper到了75位。

Log4j

Log4j的受欢迎程度是Logback的两倍多 - Log4j在16.76%的项目中被使用,超出了Logback的8.45%。

SQL> MongoDB> PostgreSQL

Java SQL连接器在27位,MongoDB在87位,PostgreSQL仅仅在97位。

结论

JUnit是Java Libraries的无可争议的王者 - 64%的Github顶级Java项目导入了JUnit。接下来是Spring前端的spring-test和testng ,这些是我们在前20名列表中看到的前3名Java测试库。

SLF4J是最受欢迎的日志库 - 无论是使用Log4j,Logback还是其他日志记录引擎,拥有超过22%的Github顶级Java项目中1,184个都使用slf4j的日志facade。

前100中的有14个来自Spring框架 - 前100名中最受欢迎的框架(甚至超过前100名中的有12个库入选的apache-commons),以spring-context为最受欢迎的库。

Guava是第4名 ,Google 核心的 Java 常用库,有815个Github顶级Java项目,占15.6%。

apache-commons确实如其名字一下很common。Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。commos-io排在第5位/0} ,另外还有11来自apache-commons的库排在前100之内。

Mockito是最受欢迎的Java模拟测试框架 - 559个项目在使用(10.72%),表明了其使其重要地位,排名第七。

开发者爱使用joda-time - 这并不奇怪。但是能到18位,也是挺有意思的。这个库提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。

更多

#65 - Bukkit - 前100名榜单中唯一的游戏库,Minecraft服务器。

#66 - Jetty

#81 - PowerMock - 它可以用于解决通常被认为是难以甚至不可能测试的测试问题”。

#90 - Google Protobuf - 语言中立的,平台中立的,可扩展的序列化数据的方式。用于通信协议,数据存储等。

#100 - AssertJ - 为Java提供了流式断言。接受来自FEST Assert的迁移。

前100个库按类型分

下面是原始数据

OrgLibraryTypeProjects who use it% of Projects
junitjunitTesting334564.13%
org.slf4jslf4j-apiLogging118422.70%
log4jlog4jLogging87616.79%
com.google.guavaguavaUtilities81515.63%
commons-iocommons-ioUtilities65912.63%
org.slf4jslf4j-log4j12Logging64112.29%
org.mockitomockito-allMocks55910.72%
commons-langcommons-langUtilities4949.47%
javax.servletservlet-apiJava Extension4448.51%
ch.qos.logbacklogback-classicLogging4418.45%
org.springframeworkspring-contextUtilities3887.44%
org.mockitomockito-coreMocks3787.25%
org.apache.httpcomponentshttpclientWeb3606.90%
org.springframeworkspring-testTesting3586.86%
org.apache.commonscommons-lang3Utilities3536.77%
commons-codeccommons-codecUtilities3486.67%
commons-loggingcommons-loggingLogging3476.65%
joda-timejoda-timeUtilities3266.25%
org.testngtestngTesting3246.21%
org.slf4jjcl-over-slf4jLogging3246.21%
org.codehaus.jacksonjackson-mapper-aslParsing3045.83%
org.springframeworkspring-coreUtilities2975.69%
com.google.code.gsongsonParsing2955.66%
com.fasterxml.jackson.corejackson-databindParsing2935.62%
org.springframeworkspring-webmvcWeb2805.37%
com.google.androidandroidAndroid2544.87%
mysqlmysql-connector-javaDB2504.79%
org.springframeworkspring-webWeb2474.74%
commons-collectionscommons-collectionsUtilities2434.66%
org.hamcresthamcrest-allTesting2384.56%
org.springframeworkspring-beansUtilities2204.22%
org.slf4jslf4j-simpleLogging2104.03%
org.springframeworkspring-jdbcDB2023.87%
commons-clicommons-cliParsing1983.80%
org.easymockeasymockMocks1963.76%
com.h2databaseh2DB1963.76%
com.fasterxml.jackson.corejackson-coreParsing1893.62%
org.codehaus.jacksonjackson-core-aslParsing1883.60%
org.springframeworkspring-ormDB1853.55%
javax.servletjavax.servlet-apiJava Extension1813.47%
org.hamcresthamcrest-libraryTesting1803.45%
org.apache.hadoophadoop-coreDB1793.43%
commons-httpclientcommons-httpclientWeb1743.34%
org.springframeworkspring-txDB1713.28%
org.springframeworkspring-aopAOP1713.28%
org.hibernatehibernate-validatorDB1693.24%
org.hibernatehibernate-entitymanagerDB1673.20%
org.elasticsearchelasticsearchDB1673.20%
javax.servletjstlJava Extension1663.18%
org.hibernatehibernate-coreDB1663.18%
org.jsonjsonParsing1623.11%
commons-dbcpcommons-dbcpDB1593.05%
org.hamcresthamcrest-coreTesting1583.03%
org.apache.mavenmaven-plugin-apiBuild1432.74%
com.google.injectguiceUtilities1412.70%
commons-fileuploadcommons-fileuploadWeb1402.68%
com.google.code.findbugsjsr305Testing1342.57%
org.hsqldbhsqldbDB1332.55%
javax.mailmailJava Extension1322.53%
org.springframeworkspring-context-supportUtilities1312.51%
ch.qos.logbacklogback-coreLogging1312.51%
commons-beanutilscommons-beanutilsUtilities1312.51%
org.aspectjaspectjrtAOP1312.51%
com.fasterxml.jackson.corejackson-annotationsParsing1282.45%
org.bukkitbukkitGaming1272.43%
org.eclipse.jettyjetty-serverWeb1242.38%
javax.validationvalidation-apiJava Extension1222.34%
cglibcglib-nodepMocks1202.30%
org.apache.httpcomponentshttpcoreWeb1172.24%
javax.injectjavax.injectJava Extension1162.22%
cglibcglibMocks1142.19%
com.googlecode.json-simplejson-simpleParsing1132.17%
xercesxercesImplParsing1132.17%
org.apache.velocityvelocityWeb1112.13%
org.apache.zookeeperzookeeperWeb1102.11%
javax.servlet.jspjsp-apiJava Extension1082.07%
org.springframework.securityspring-security-configWeb1072.05%
org.aspectjaspectjweaverAOP1062.03%
org.codehaus.groovygroovy-allGroovy1052.01%
org.springframework.securityspring-security-webWeb1031.97%
org.powermockpowermock-module-junit4Mocks1021.96%
org.apache.maven.scmmaven-scm-provider-gitexeBuild1011.94%
org.springframework.securityspring-security-coreWeb1011.94%
commons-configurationcommons-configurationUtilities961.84%
org.apache.hadoophadoop-commonDB951.82%
org.codehaus.plexusplexus-utilsUtilities951.82%
org.mongodbmongo-java-driverDB941.80%
org.slf4jlog4j-over-slf4jLogging941.80%
org.apache.lucenelucene-coreDB941.80%
com.google.protobufprotobuf-javaUtilities921.76%
org.eclipse.jettyjetty-servletWeb921.76%
org.javassistjavassistAOP921.76%
org.slf4jjul-to-slf4jLogging911.74%
org.powermockpowermock-api-mockitoMocks911.74%
org.slf4jslf4j-jdk14Logging911.74%
com.sun.jerseyjersey-serverWeb891.71%
postgresqlpostgresqlDB871.67%
org.apache.httpcomponentshttpmimeWeb871.67%
com.thoughtworks.xstreamxstreamParsing861.65%
org.assertjassertj-coreTesting861.65%

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码