阅读更多

6顶
2踩

编程语言

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

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

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

在很多情况下,都会有一个对立的竞争对手,比如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在你的桌面时会得到答案...

  • tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl

    tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl

  • tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl

    tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl

  • 基于java的ssm停车位短租系统程序答辩PPT.pptx

    基于java的ssm停车位短租系统程序答辩PPT.pptx

  • tornado-6.4b1-cp38-abi3-musllinux_1_1_x86_64.whl

    tornado-6.4b1-cp38-abi3-musllinux_1_1_x86_64.whl

  • 基于java的招生管理系统答辩PPT.pptx

    基于java的招生管理系统答辩PPT.pptx

  • 课设毕设基于SpringBoot+Vue的医学电子技术线上翻转课堂系统源码可运行.zip

    本压缩包资源说明,你现在往下拉可以看到压缩包内容目录 我是批量上传的基于SpringBoot+Vue的项目,所以描述都一样;有源码有数据库脚本,系统都是测试过可运行的,看文件名即可区分项目~ |Java|SpringBoot|Vue|前后端分离| 开发语言:Java 框架:SpringBoot,Vue JDK版本:JDK1.8 数据库:MySQL 5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat 开发软件: idea/eclipse(推荐idea) Maven包:Maven3.3.9+ 系统环境:Windows/Mac

  • 基于java的农机电招平台答辩PPT.pptx

    基于java的农机电招平台答辩PPT.pptx

Global site tag (gtag.js) - Google Analytics