2018年冷链百强_在分析了47,251个依赖关系之后,2016年Java图书馆百强

2018年冷链百强

谁在上面,谁在后面? 我们分析了Github上的47,251个依赖关系,并抽取了前100个Java库

对于长周末而言,我们最喜欢的消遣是浏览Github并搜索流行的Java库。 我们决定与您分享乐趣和信息。

我们分析了Github上前3,862个Java项目使用的12,059个独特Java库的47,251个导入语句。 从该列表中,我们提取了前100名,现在我们共享结果。 提示鼓卷。

最受欢迎的20个Java库

前20名

junit 去年获得冠军 ,是Github上最受欢迎的Java库。 Java日志记录API slf4j排名第二,而log4j排名第四。

排名上升的是Google的开源Guava,排名第三。 它包含一系列内部在Google内部诞生的核心Java库。 如果您不熟悉Guava或不确定如何使用它,则可以阅读我们的文章, 其中介绍了每个开发人员都应该知道的Google Guava鲜为人知的一些功能 。

Spring图书馆的兴起

Spring框架作为Java EE的主要竞争对手而在Java社区中变得流行,这种流行也体现在Github中。 在100个最受欢迎的库中,有44个与Spring相关。 这里最有趣的部分是Spring Boot的Swift崛起,它使开发人员可以用最少的样板创建Spring支持的应用程序和服务。 您是否想在尽可能短的时间内启动可用于生产的Java应用程序? 看看我们有关Java Bootstrap的文章:Dropwizard vs. Spring Boot 。

Spring热门图书馆

#13 – springframework.spring-context
#17 – springframework.spring-test
#22 – springframework.spring-webmvc #24 – springframework.spring-core #27 – springframework.spring-web #36 – springframework.spring-jdbc #37 – springframework.spring-orm #38 – springframework.spring-tx #40 – springframework.spring-aop #47 – springframework.spring-context-support #72 – springframework.boot.spring-boot-starter-web #81 – springframework.security.spring-security-web #82 – springframework.security.spring-security-config #88 – springframework.boot.spring-boot-starter-test #99 – springframework.security.spring-security-core

最受欢迎的JSON库

由于Java没有对JSON的本机支持(尽管它几乎使它成为Java 9! ),因此我们想了解一下这些库在Github项目中的流行程度。

您不应该凭封面来评判图书馆。 并非所有JSON库都具有相同的性能,因此为您的环境选择合适的库可能至关重要。 如果您想知道应该使用哪一个,请查看我们最新的JSON基准测试 。

顶级JSON库是…

#14 – fastxml.jackson.core.jackson-databind
#19 – google.code.gson.gson
#43 – json.json #80 – googlecode.json-simple.json-simple #89 – Thoughtworks.xstream.xstream

神奇四侠(值得一提)

有很多有趣的甚至是新的库引起了我们的注意,但是我们决定专注于以下四个方面:

#68 – projectlombok.lombok –该项目旨在减少Java中的样板,用一组简单的注释替换一些最严重的违规者。

#90 – jsoup.jsoup –一个用于处理实际HTML的Java库。 它提供了一个使用DOM操作,CSS和类似于jquery的方法提取和处理数据的API。

#92 – io.netty.netty-all –一种网络应用程序框架,用于快速轻松地开发可维护的高性能协议服务器和客户端。

#98 – dom4j.dom4j –用于处理XML的开源框架。 它与XPath集成在一起,并提供对DOM,JAXP和Java平台的全面支持。

按类型排名前100位的图书馆

topType

魔术背后的数学(或:我们是如何得出清单的)

您可能在问自己,我们如何获得这些信息。 我们首先从Github的排名中挑选出排名靠前的Java项目。 我们获取了这些数据,并提取了使用Maven或Ivy进行依赖管理的项目,以快速访问其pom.xml / ivy.xml依赖,这给我们留下了47,251个数据点。

我们进行了一些疯狂的工作和分析,这给我们留下了12,059个独特的Java库,供Github上排名前3,862的Java项目使用。 根据它们出现在Github项目中的数量,可以很容易地从那里获得前100个库。

如果您想查看我们的原始数据, 可以在此处找到该文件。 尽管这次我们很清醒,但还是欢迎您来看看并确保我们不会错过任何有趣的见解。

最后的想法

当我们将当前的前100名列表与去年的结果进行比较时,我们可以发现较小的库中有一些变动,对Spring和MongoDB的兴起越来越感兴趣。

但是,在查看大多数Java开发人员时,他们在选择Github库方面非常一致。 考虑到使用这些库的现有项目数量将在2017年及以后继续使用,这并不令人感到意外。

如果您已经选择了库,但仍在寻找最终的工具,我们将为您提供完美的建议。 查看主要版本发布后Java开发人员使用的前15种工具 。

翻译自: https://www.javacodegeeks.com/2016/05/top-100-java-libraries-2016-analyzing-47251-dependencies.html

2018年冷链百强

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

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

相关文章

计算机键盘标注,电脑键盘上怎么打√和×

用电脑键盘上打出√和两个符号的方法1、在输入法开启状态下,鼠标右键点击输入法状态栏上面的“软键盘图标”,然后选择“数学符号”(直接右击打不开就先左击再右击)。2、在数学符号的软键盘面板上直接用鼠标点击“√和”就好(光标要定位在需要输入的地方)…

web服务优化与健壮性改进_创建健壮的微服务架构所涉及的组件

web服务优化与健壮性改进在本文中,我们将简要学习构建强大的微服务应用程序所需的各种软件组件。 在简要了解每个架构组件之前,我们将陈述设计微服务架构时出现的一般查询。 1.微服务架构组件 每当我们创建微服务应用程序时,我们都会想到以下…

owin 怎么部署在云中_使用Boxfuse轻松在云中运行Spring Boot应用程序

owin 怎么部署在云中几天前,我开始构建一个将使用REST API检索和存储数据的iOS应用。 该REST API将是我也必须构建的服务器应用程序。 由于我熟悉Java和Spring ,因此决定使用Spring Boot作为框架。 为了能够在我的iPhone上使用它,如果我可以在…

用python画时序图源代码_使用python实现画AR模型时序图

背景: 用python画AR模型的时序图。 结果:代码: import numpy as np import matplotlib.pyplot as plt """ AR(1)的时序图:x[t]a*x[t-1]e """ num 2000 e np.random.rand(num) x np.empty(num) &…

python模块使用_一文让你学会所有的python模块使用

部分高等技能:为了削减一个编译模块的大年夜小,你可以在 Python 敕令行中应用 -O 或者 -OO。-O 参数删除了断言语句,-OO 参数删除了断言语句和 __doc__ 字符串。 因为某些法度榜样依附于这些变量的可用性,你应当只在肯定无误的场合应用这一选…

rest web服务_在WildFly的REST Web服务中与Jackson的双向关系

rest web服务这是使用Jackson的REST Web服务中Java实体之间的双向关系的示例。 假设我们在两个实体Parent和Child之间存在双向关系。 使用MySQL工作台为这两个表生成SQL模式文件。 DROP SCHEMA IF EXISTS bidirectional_schema ; CREATE SCHEMA IF NOT EXISTS bidirectional…

【开源项目】基于Directx屏幕录制

#include<d3d9.h> #include<iostream> #pragma comment(lib,"d3d9.lib") using namespace std; //截取全屏 void CaptureScreen(void *data) {//1 创建directx3d对象static IDirect3D9 *d3d nullptr;if (!d3d){d3d Direct3DCreate9(D3D_SDK_VERSION);…

git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划

作者 | 光子俊来源 | CSDN博客出品 | CSDN(ID:CSDNnews)Git介绍Git是目前世界上最先进的分布式版本控制系统&#xff0c;可以为我们管理项目、构建工程、多人协作提供便利&#xff0c;作为一个爱技术的你可以是必须要掌握的呀&#xff01;&#xff01;&#xff01;Git安装(inst…

Win7system登录打开计算机,Windows7系统system文件丢失导致开机黑屏如何解决

最近有windows7系统用户在开机的时候遇到了黑屏的问题&#xff0c;却提示“因以下文件的损坏或丢失&#xff0c;Windows无法启动windows/system32/config/system”的错误&#xff0c;导致无法开机&#xff0c;针对Windows7系统system文件丢失导致开机黑屏问题&#xff0c;本文就…

javafx阴影_JavaFX技巧来节省内存! 属性和可观察对象的阴影场

javafx阴影在 JavaFX的世界中&#xff0c; Properties API允许UI开发人员将值绑定到UI控件。 这种功能出奇的简单&#xff0c;但是当对象模型经常使用属性时&#xff0c;应用程序可能会很快耗尽内存。 我通常会编写两个单独的对象&#xff0c;例如pojo类和表示模型对象。 此技术…

yum install -y 是什么意思_为什么你应该在docker 中使用gosu?

为什么要使用gosu&#xff1f;Docker容器中运行的进程&#xff0c;如果以root身份运行话会有安全隐患&#xff0c;该进程拥有容器内的全部权限&#xff0c;更可怕的是如果有数据卷映射到宿主机&#xff0c;那么通过该容器就能操作宿主机的文件夹了&#xff0c;一旦该容器的进程…

openshift_Openshift源中的高可用性Drools无状态服务

openshift嗨&#xff0c;大家好&#xff01; 在这篇博客文章中&#xff0c;我想举一个简单的示例&#xff0c;展示使用Openshift 3&#xff08;Docker和Kubernetes&#xff09;扩展我们的Drools Stateless服务有多么容易。 我将展示如何通过按需提供新实例来扩展我们的服务&…

ibm服务器芯片架构,IBM x366 服务器技术详解

背景资料IBM eServer x366 提供了突破性的 4 路性能&#xff0c;采用机架优化的 3U服务器设计&#xff0c;结合了源自大型机灵感的 eServer X3技术的高可用性&#xff0c;具有最新 64 位Intel Xeon MP 处理器带来的 64位性能&#xff0c;可创建面向商业企业应用程序、虚拟化及 …

python antlr_使用ANTLR在5分钟内用Java解析任何语言:例如Python

python antlr我喜欢出于多种目的处理代码&#xff0c;例如静态分析或自动重构。 对我来说&#xff0c;有趣的部分是推理从抽象语法树&#xff08;AST&#xff09;构建的模型。 为此&#xff0c;您需要一种从源文件中获取AST的方法。 可以使用ANTLR轻松完成此操作&#xff0c;并…

rostcm6情感分析案例分析_卷积情感分析

这是一个面向小白(比如&#xff0c;本人)的关于情感分析的系列教程 [1]。老鸽子整理了“4 - Convolutional Sentiment Analysis.ipynb”中的内容。本文任务&#xff1a;使用卷积神经网络(CNN)来实现句子分类。简介CNN用于分析图像&#xff0c;包含一个或多个卷积层&#xff0c;…

java jigsaw_60秒内使用Java 9的Project Jigsaw的JavaFX HelloWorld

java jigsaw到目前为止&#xff0c;您可能已经听说过Java 9的新模块系统&#xff0c;即项目Jigsaw。 如果您不了解Java 9的新模块系统&#xff0c;则应该访问Mark Reinhold的论文“模块系统的状态” 。 另外&#xff0c;您应该在nipafx上查看 Nicolai Parlog的优秀博客&#xf…

opencv python 多帧降噪算法_OpenCV-Python中用于视频跟踪的Meanshift和Camshift算法介绍...

学习目标在本章中&#xff0c;我们将学习用于跟踪视频中对象的Meanshift和Camshift算法。MeanshiftMeanshift背后的直觉很简单&#xff0c;假设你有点的集合。(它可以是像素分布&#xff0c;例如直方图反投影)。你会得到一个小窗口(可能是一个圆形)&#xff0c;并且必须将该窗口…

vue.jsr入门_JSR-308和Checker框架为jOOQ 3.9添加了更多类型安全性

vue.jsr入门Java 8引入了JSR-308&#xff0c;它为Java语言添加了新的注释功能。 最重要的是&#xff1a;键入注释。 现在可以像下面这样设计怪物了&#xff1a; 比注解更疯狂的是类型注解。 在数组上。 谁认为这是有效的Java代码&#xff1f; pic.twitter.com/M9fSRRerAD — …

数组索引必须为正整数或逻辑值_Office 365函数新世界——动态数组

革新一个旧的函数体系&#xff0c;无外乎从这么几个方面入手&#xff0c;函数的运行效率、函数的编写方式以及扩展新的函数功能。今天咱们就学习一下&#xff0c;看看365新函数是如何通过这三个方面打破旧函数条条框框的。365函数系列推出了一个新的概念&#xff0c;叫做动态数…

【Android OpenGL ES 开发 (零)】创建一个新的工程

创建符合要求的AndroidApp 使用Android Studio开发&#xff0c;Android Studio下载地址 1.先创建Native C 2.项目相关添加 3.使用C11标准 学习使用JNI为Java提供API 1.在cpp中定义相关接口&#xff0c;格式如下 2.外部调用这个API 把so改成自己想要的名字 1.需要在cmake文件…