阅读更多

6顶
2踩

编程语言

原创新闻 盘点最流行的Java工具

2016-08-18 10:27 by 副主编 mengyidan1988 评论(3) 有10933人浏览
最流行的工具并不一定是“最好的”,对于开发来说,什么是最好的,取决于使用场景。然而,当选择工具时,流行程度是不可忽视的一个重要因素,并不是因为工具的流行增加了其价值,而是因为广泛使用的社区带来了无价的资源和支持。

流行的工具更容易学习,因为会有很多人乐意帮助你。如果是开源的话,麻烦就更少了。因为有更多的人在审核代码和进行测试,能考虑到更多的情况。

在很多情况下,都会有一个对立的竞争对手,比如Apache和Nginx——两个web服务器。Apache被使用的更多,但是顶尖的网站使用Nginx更多,也就是说,顶级工程师更加青睐Nginx——在很多情况下,流行度可能是区分工具最重要的一点。

这份列表包含了开发Java应用程序所需要的大部分工具。包括最流行的、次流行的,他们都有强大的社区支持。Java的初学者需要认识一下这些工具,熟悉生态系统。

语言版本

最流行的:Java 8

次流行的:Java 7

Java 8可能是所有版本中被接受最快的。可能是因为,Java 8带来了期待已久的现代语言特性,例如lambda表达式,解决了长久以来Java饱受人们批评的冗长啰嗦的缺点。当然,性能也是一大方面。

虽然现在很多Java应用和主要的应用都是用Java 8写的,但也有很大数量的Java应用依然使用Java 7或6。

我不会蹚Java EE和Spring这趟浑水,因为一谈论这个,总是伴随着很多争吵,在用户数量方面,似乎相当。也有一些第三方开发者两者都用。

数据


编辑器和IDE
最流行的:Eclipse和IntelliJ IDEA(存在争议)

次流行的:Netbeans

Eclipse和Netbeans都是免费、开源的。Eclipse以强大的社区和丰富的插件闻名(开发Eclipse插件非常方便),这让Eclipse平台的扩展性变得很强,但是这个IDE启动比较慢。Netbeans通过整合了Maven和Git等让自己变得与众不同。IntelliJ以性能著称,并且是一款商业产品。它有免费和付费两种版本。

数据


Web Framework

最流行的:AngularJS,SpringMVC

次流行的:Java Server Faces(JSF)

三个调查中的两个都显示Spring MVC的受欢迎度比Java Server Faces(JSF)高,DZone的调查显示Spring MVC和JSF之间不分伯仲。随着JavaScript框架在web方面的发展,也许这些都不再重要了。有一个调查显示,AngularJS相比与纯Java框架,在前端方面更受欢迎。

数据


应用服务器
最流行的:Tomcat

次流行的:Wildfly

很长时间以来,Tomcat都是最流行的Java应用服务器框架。它是一个轻量级框架,在一些其他调查中,Jetty——另一个轻量级应用框架——领先于Wildfly——最流行的Java EE支持的应用服务器。Tomcat在轻量Java应用方面无疑是霸主地位,是微型服务架构方面的最佳选择。

数据


测试框架
单元测试
最流行的:JUnit

名副其实的最佳Java测试框架

模拟
最流行的:Mockito

最受欢迎的Java模拟测试框架。

自动化Web浏览测试
最流行的:Selenium

Selenium只是自动化浏览测试。开发者经常使用这个工具配合其他的测试框架,来测试大型Web应用。

行为驱动开发测试(BDD)测试
最流行的:Cucumber-JVM, Spock

Cucumber最开始只是一个Ruby项目,但是现在已经用各大主流编程语言实现了。Spock支持JVM驱动的语言Groovy,当然也支持Java。Mockito能做的事情它基本上都能做。

数据


版本控制系统
最流行的:Git

次流行的:Subversion

记住,使用Git比仅仅使用Github和简单提交那样更加灵活。现在来看,Git赢得了版本控制大战的胜利,很多Subversion和CVS的用户逐渐开始转向Git。

数据


持续集成
最流行的:Jenkins

次流行的:No CI server

在这方面也有一个明显的巨头。Jenkins灵活的插件系统,在过去的五年间逐渐控制了这个领域。其余Jenkins的竞争对手中,更多的人选择No CI server。接下来是Bamboo。

数据


数据库
最流行的:OracleDB

次流行的:MySQL

在所有这些工具中,数据库可谓是最取决于使用场景的。取决于你要创建的应用的不同,你可能需要一个轻量的键值对存储数据库,或者存储很多列的数据库。对于大多数的应用来说,一般的数据库就能满足需求,这就是为什么这两种数据库可以排名前列的原因。

Oracle是这篇文章中为数不多的商业软件,这意味着,它有很多“企业级”特性。如果你偏爱开源软件的话,强烈推荐MySQL和SQLite。

数据


对象关系映射
最流行的:The Java Persistence API (JPA) / Hibernate

次流行的:The Java Database Connectivity API (JDBC)

Hibernate太流行了,多年前就在Java Persistence API成了标准。

数据


静态代码分析
最流行的:FindBugs

次流行的:SonarQube

这两个工具非常不同,所以很难比较。FindBug是一个简单的静态代码分析工具,SonarQube是一个全平台的代码质量分析、语法检查、代码度量的工具。

数据


语法检查
最流行的:Checkstyle

次流行的:Eclipse

大型的Java IDE都有这个功能,但是如果你需要特定的程序专门进行类型检查,Checkstyle是一个不错的选择。

数据


人工仓库管理
最流行的:Sonatype Nexus

次流行的:JFrog Artifactory

很多开发者并不使用人工仓库管理JARs,WARs,库和应用。但是如果想这么做的话,Nexus是最好的选择。两者都是商业软件,Apache Archiva是一个开源的选择。

数据


控制反转
最流行的:Spring Framework DI

次流行的:Google Guice

Spring framework在控制反转方面做的很不错,但是Google的开发者也做了一个不错的工具。Dagger在这方面的用户并不很多,但是正在逐渐流行起来,尤其是安卓开发方面。Pokémon Go使用的也是它。

数据


性能分析
Java性能总览
最流行的:VisualVM

次流行的:No profiler

有相当一部分的开发者并不使用性能分析工具(也许他们有专业的性能优化团队来做)。YourKit也是替代VisualVM的一个不错选择。

载入测试
最流行的:JMeter

次流行的:LoadRunner

除了这两款工具之外,还有很多做载入性能测试的工具,所以在使用之前,最好做好充分的市场调研。JMeter是开源软件,LoadRunner是商业软件。商业软件的好处是服务广泛,可以在云端运行测试。

数据


编译自动化和依赖管理
最流行的:Maven

次流行的:Gradle

Maven无疑占据了领导地位,但是Gradle的使用也很广泛,它还是安卓的标准编译工具。

数据
  • RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.12)
  • DZone Guide to the Java Ecosystem, 2015 edition (chart 4)

日志库
最流行的:Log4j

次流行的日志库尚不明确,这方面的调查比较少。这篇文章的内容场景围绕流行的日志库和Java中的设置展开。
6
2
评论 共 3 条 请登录后发表评论
3 楼 javer 2016-08-22 17:42
iteye人气严重下滑啊,转到oschina后,评论明显不如这里 http://www.oschina.net/news/76317/popular-java-tools?from=20160821
2 楼 CurrentJ 2016-08-19 15:03
logback
1 楼 枕梁一梦 2016-08-18 11:40
不错的文章,了解一下开发测试的各方面都有哪些工具可以选择

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JAVA基础—盘点最流行的Java工具

    最流行的工具并不一定是“最好的”,对于开发来说,什么是最好的,取决于使用场景。然而,当选择工具时,流行程度是不可忽视的一个重要因素,并不是因为工具的流行增加了其价值,而是因为广泛使用的社区带来了无价的...

  • 盘点当下最流行的 Java 工具

    最流行的工具并不一定是“最好的”,对于开发来说,什么是最好的,取决于使用场景。然而,当选择工具时,流行程度是不可忽视的一个重要因素,并不是因为工具的流行增加了其价值,而是因为广泛使用的社区带来了无价的...

  • 盘点最流行的Java工具(转)

    最流行的工具并不一定是“最好的”,对于开发来说,什么是最好的,取决于使用场景。然而,当选择工具时,流行程度是不可忽视的一个重要因素,并不是因为工具的流行增加了其价值,而是因为广泛使用的社区带来了无价的...

  • 盘点最流行的Java工具 (转)

    最流行的工具并不一定是“最好的”,对于开发来说,什么是最好的,取决于使用场景。然而,当选择工具时,流行程度是不可忽视的一个重要因素,并不是因为工具的流行增加了其价值,而是因为广泛使用的社区带来了无价的...

  • java 类型转换 效率_盘点16个有用的Java工具类,显著提升工作效率!

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。一. org.apache.commons.io....

  • 盘点13种流行的数据处理工具

    导读:我们来看一些流行的数据处理工具。作者:所罗伯·斯里瓦斯塔瓦(Saurabh Shrivastava)、内拉贾利·斯里瓦斯塔夫(Neelanjali Srivastav)来源:大数据D...

  • 5大Java流行技术盘点,2020年“钱”程无忧!

    随着大数据的快速发展,应用范围超广的Java编程语言越来越被看好...Git一直是世界上最受欢迎的Java工具之一,也是Java开发人员最杰出的工具之一。Git是一个开源工具,是一种出色的分布式版本控制解决方案。可以利用Git

  • 盘点2021年流行报表开发工具【测评】

    报表——这一产物便应运而生,现在市面上流行的报表工具类产品也是层出不穷。 慧都科技响应“全面加强知识产权保护,推动构建新发展格局”号召,为企业数字化建设、软件创新提供全方位的服务,并且慧都科技联合各...

  • 盘点10个最难回答的Java面试题

    这是我收集的10个最棘手的Java面试问题列表。这些问题主要来自 Java 核心部分 ,不涉及 Java EE 相关问题。你可能知道这些棘手的 Java 问题的答案,或者觉得这些不足以挑战你的 Java 知识,但这些问题都是容易在各种 ...

  • 报表 java_java报表工具 开源排行榜Top5

    本文就来盘点java 报表工具 开源排行榜前5名,看看到底有哪一些是比较常见的开源java 报表工具。1、JasperReport这也是比较流行的一种java 报表工具 开源。它经过gaba的编写之后,能够支持各种不一样的数据源,而且...

  • 盘点阿里巴巴 15 款开发者工具

    阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。 由于开发者涉及的技术领域众多,...

  • 盘点Java技术在生活中的10大应用

    没有见过用Java编写的游戏、桌面系统、办公软件?如果你是一个初学者或者只是刚刚开始学习Java,你或许会疑虑,Java到底是在哪里被运用了呢?如何正确的在现实世界中运用Java? 当你在安装Java在你的桌面时会得到答案...

  • YOLO算法-城市电杆数据集-496张图像带标签-电杆.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

  • (177406840)JAVA图书管理系统毕业设计(源代码+论文).rar

    JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代

  • (35734838)信号与系统实验一实验报告

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

  • YOLO算法-椅子检测故障数据集-300张图像带标签.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

  • 基于小程序的新冠抗原自测平台小程序源代码(java+小程序+mysql+LW).zip

    系统可以提供信息显示和相应服务,其管理新冠抗原自测平台小程序信息,查看新冠抗原自测平台小程序信息,管理新冠抗原自测平台小程序。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

  • YOLO算法-俯视视角草原绵羊检测数据集-4133张图像带标签-羊.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

  • (171674830)PYQT5+openCV项目实战:微循环仪图片、视频记录和人工对比软件源码

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

Global site tag (gtag.js) - Google Analytics