`
frank1998819
  • 浏览: 764512 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

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

    博客分类:
  • Java
 
阅读更多

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

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

在很多情况下,都会有一个对立的竞争对手,比如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中的设置展开。   

分享到:
评论

相关推荐

    UML建模工具VisualParadigm的十大优势盘点.pdf

    UML建模工具VisualParadigm的十大优势盘点 UML(Unified Modeling Language)是一种标准的建模语言,广泛应用于软件开发、系统设计和业务流程建模等领域。Visual Paradigm是一种功能强大且流行的UML建模工具,它...

    java仓库管理系统源码

    货物管理可能涵盖货物的入库、出库、库存盘点等操作,同时支持对货物信息的分类和检索。客户管理模块可能包括客户信息的存储、查询,以及与客户的交易记录。 在开发过程中,开发者可能还使用了Maven或Gradle作为...

    Java产品管理系统

    1. **后端框架**: 该项目可能采用了Spring Boot框架,这是一个流行的Java微服务框架,用于构建高效、模块化且易于维护的应用程序。 2. **数据持久层**: 可能使用了MyBatis或Hibernate作为ORM(对象关系映射)工具,...

    Java+Swing+Mysql实现仓库管理系统

    2. **Swing**: Swing是Java的一个图形用户界面(GUI)工具包,提供了丰富的组件供开发者构建桌面应用程序。在仓库管理系统中,Swing用于创建用户友好的界面,如按钮、文本框、表格等,使用户能够方便地进行数据输入...

    jinxiaocun.zip_Java进销存_java 进销存_java进销存系统_进销存

    Java进销存系统是基于Java技术开发的...总结,Java进销存系统是一个基于Java技术,集进货、销售和库存管理于一体的高效软件,具备开源、文档齐全、易扩展等优点,对于企业来说是提高管理效率、优化业务流程的有效工具。

    知识盘点 J2EE方面

    这个知识盘点涵盖了J2EE生态中的核心组件和技术,包括EJB(Enterprise JavaBeans)、Spring、Struts2、Hibernate、JavaScript以及JPA(Java Persistence API)。以下是对这些技术的详细解释: 1. EJB(Enterprise ...

    超市管理系统java

    2. **Swing或JavaFX**:Java提供了Swing和JavaFX两个图形用户界面(GUI)工具包,用于构建系统的前端界面,如商品展示、购物车、结账等功能的交互界面。 **数据库相关知识** 1. **JDBC(Java Database Connectivity...

    JAVA仓库管理系统源码.zip

    总的来说,【JAVA仓库管理系统源码】是一个典型的Java后端开发项目,利用了Java的面向对象特性、数据库管理能力以及良好的模块化设计,为仓库管理提供了一套全面的工具。通过深入研究和理解这个系统,开发者可以学习...

    基于java的企业进销存管理系统.zip

    2. Spring框架:Spring是Java领域最流行的框架之一,用于处理企业级应用的复杂性。在进销存系统中,Spring可以用来管理依赖注入、事务控制、数据访问和安全控制等方面。 3. Hibernate或MyBatis:这些是Java的持久层...

    Java 进销存 ERP 管理系统 源码

    【Java 进销存 ERP 管理系统 源码】是一款基于Java技术开发的库存、销售和采购管理的企业资源计划系统(ERP)。这款系统是开发团队经过半个多月的努力,精心打造出来的成果,旨在为企业提供高效、便捷的进销存管理...

    java毕设之Javaweb仓库管理系统项目源码.rar

    6. **Tomcat服务器**:这是一个流行的开源Java Web服务器,用于运行Servlet和JSP应用。 7. **数据库设计**:仓库管理系统通常包括库存、入库、出库、库存盘点等模块,需要设计合理的数据库表结构和关系,例如库存表...

    java+sql企业固定资产管理系统.zip

    4. **Spring框架**:一个流行的Java企业级应用框架,用于处理依赖注入、事务管理、数据访问等。Spring JDBC和MyBatis可能是系统中的数据访问层,用于简化数据库操作。 5. **Hibernate ORM**:另一种常用的Java持久...

    物流管理毕业论文,java语言,sql数据库

    Java是一种流行的、跨平台的编程语言,由Sun Microsystems的詹姆斯·戈斯林博士设计。它的特点是面向对象,具有高度的可移植性和安全性。Java程序在编译后生成字节码,可以在任何支持Java虚拟机(JVM)的平台上运行...

    MF00339-Java固定资产设备管理系统源码.zip

    4. **Hibernate ORM**:Hibernate是一个流行的Java对象关系映射(ORM)工具,用于简化数据库操作。在本系统中,Hibernate可能被用来自动处理数据库的CRUD(创建、读取、更新、删除)操作,减少与SQL的直接交互。 5....

    基于java的超市进销存管理系统

    综上所述,这个基于Java的超市进销存管理系统充分利用了Java的技术优势,结合Maven、MySQL和Tomcat等工具,构建了一个功能完善、易于维护的业务系统。开发者可以根据实际需求进行定制和扩展,以适应不同规模的超市...

    java swing仓库管理系统,Mysql数据库

    Swing是Java的标准GUI库,提供了丰富的组件和工具,用于创建桌面应用程序。在仓库管理系统中,Swing可能被用来构建如主界面、菜单栏、按钮、表格等元素,使得用户可以通过直观的图形界面进行各种操作。例如,通过...

    基于Java课程WEB网站的仓库管理系统设计与实现

    在当今信息化时代,仓库管理系统作为企业运营中的重要一环,已经成为提升效率、降低成本的关键工具。本文将深入探讨如何使用Java技术栈构建一个WEB版的仓库管理系统,涉及的知识点包括Java Web开发、网页设计以及...

    Java项目之springboot医院固定资产系统(源码)

    Spring Boot是Java生态系统中的一个流行框架,它简化了创建独立、生产级别的基于Spring的应用程序。这个系统的核心目标是提高医院对固定资产的管理水平,实现资产数据的信息化,从而提高工作效率,减少资源浪费。 ...

    Java毕业设计-基于springboot开发的医院固定资产系统-附毕设源代码+说明文档.rar

    总之,“基于Spring Boot开发的医院固定资产系统”不仅是一个功能强大的资产管理工具,更是一个优秀的Java毕业设计项目范例。它不仅能够满足医院的实际需求,还能够为学习者提供宝贵的学习和实践机会,帮助他们更好...

Global site tag (gtag.js) - Google Analytics