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

高效Java编程工具集锦(转)

 
阅读更多

ava 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用、正在使用或将来一定会用到的高效工具。这份列表名单包括集成开发环境、集成工具、测试和质量工具等。 

1、集成开发环境 

Eclipse是最有名也最广泛使用的Java集成开发环境(IDE),允许开发者结合语言支持和其他功能到任何的默认包中,而且Eclipse市场有许多定制和扩展的插件。 

IntelliJ已经引起了开发者的“追捧”,甚至比Eclipse还受宠,有免费版和专业版。[IntelliJ](http://www.javacodegeeks.com/tutorials/java-tutorials/core-java-tutorials/#IntelliJ IDEA)为众多Java EE框架提供了针对框架的编码帮助和提升生产效率的功能,还有大多数应用服务器的部署工具。 

NetBeans的也属于IDE类,允许开发者快速、简便地开发桌面应用、移动应用和Web应用。NetBeans是免费开源的,还拥有全球性的用户和开发者社区。 

JDeveloper是Oracle提供的一个免费的集成开发环境,它为Oracle融合中间件和融合应用产品提供完整的端到端开发,支持整个开发生命周期。 

2、测试 

JUnit是一个Java语言的单元测试框架,用于编写和运行可重复的测试。它为测试预期结果提供断言,为共享的常用测试数据提供测试装置(test fixtures),以及运行测试的测试者(test runners)。可以在这里看一下JUnit的教程。 

TestNG是受到了JUnit的启发开发而成,但同时还具有一些新功能,所以相对而言,TestNG更加强大也更便于使用,如注解(annotations)、灵活的测试配置、数据驱动的测试和参数支持,以及强大的执行模型。它涵盖了单元测试、功能、端到端、集成测试,支持各种工具和插件(Eclipse、IDEA、Maven等)。具体内容可以参考分别使用 Maven Failsafe 与 TestNG 进行单元测试与集成测试的文章。 

Mockito是一个mocking框架,帮助开发者编写具有简洁API的精美测试。其测试的可读性很好,并能产生清晰的验证错误。使用Mockito还能在执行后可以对交互进行问询。Mocks是透明的,所以开发者可以专注于测试选定的行为。更多详情可以参考mockito的相关文章。 

Arquillian是一个Java和JVM的测试平台,主要侧重于集成和功能测试。它去掉了单元测试,重点关注真正实时环境下的程序代码的相互作用。Arquillian为测试配备了容器生命周期管理和典型测试精选。 

3、集成 

[urlhttp://maven.apache.org/=""]Apache Maven[/url]是一个非常著名的软件项目管理和综合工具。基于项目对象模型(POM)的概念,它的信息中心管理着项目的构建、报告和文档。Maven提供了一个统一的构建系统、项目信息和最佳的开发实践指导,并且支持新功能的透明迁移。 

Gradle是一个开源的自动化构建系统。Gradle可以自动构建、测试、发布、部署,还有多种软件包或其他类型项目,如生成静态网站。Gradle结合了Ant的能力和灵活性,以及Maven的依赖管理和约定,形成了一种高效的构建方式。 

Apache Ant是一个开源的Apache项目,经Apache软件许可发布。它由多种内置任务而成,允许开发者编写、装配、测试和运行java应用程序。它的特点是高度灵活,不会严格限制Java项目的编码惯例或目录布局。 

Apache Ivy是一种流行的依赖管理工具,注重灵活性和简单性。它是Apache Ant项目的一个子项目,而Ivy用来解决项目依赖项。外部的XML文件定义项目依赖项,并列出构建项目的所需资源。然后Ivy从artifact 存储库(artifact repository)中下载资源,它具有良好的灵活性和可配置性。Apache Ivy 是由Apache Apache Ant集成的,因此将使Apache Maven的依赖管理优势也带到Apache Ant构建文件中,为那些已经使用Apache Ant且不想迁移到Apache Maven的开发者提供了便利。 

4、应用服务器 

Apache Tomcat是一个开源的Web服务器和Servlet容器,由Apache软件基金会(ASF)开发。它实现了几个Java EE规范,包括Java Servlet、JavaServer Pages(JSP)、Java EL和WebSocket,提供了一个可以运行Java代码的HTTP Web服务器环境。想要了解更多请[urlhttp://www.javacodegeeks.com/tutorials/java-tutorials/enterprise-java-tutorials/#Tomcat=""]点击[/url]。 

[urlhttp://wildfly.org/=""]WildFly[/url],其前身是[urlhttp://jbossas.jboss.org/=""]JBoss AS[/url]或Jboss,是一个由Jboss开发的应用服务器,现在由红帽在开发维护。它是用Java编写的,并且实现了Java平台和企业版(Java EE)规范。WildFly是可以在多个平台上运行的免费开源工具。 

GlassFish是由Sun Microsystems的Java EE平台起步,现在由Oracle公司赞助的开源应用服务器项目。支持的版本叫做Oracle GlassFish应用服务器。 GlassFish是免费软件,经两个免费的软件许可证批准:通用开发与发布许可(CDDL)和GNU通用公共许可证(GPL)。 

Oracle WebLogic服务器是一个Java EE应用服务器,目前由Oracle公司开发,用于构建和部署企业应用Java EE,支持降低运营成本、提高性能、增强可扩展性和支持Oracle应用组合等的新特性。 

5、Web应用测试 

Apache JMeter是开源的Apache项目,实际上是一个专为负载功能测试和性能测试的Java应用。它最初的设计是用于Web应用,但现在已扩展到其他测试功能。它可以测试静态和动态资源性能,模拟一个或多个服务器负载来测试它的强度或者分析不同负载类型下的整体性能。可以查看关于Jmeter的更多详情。 

SoapUI是一个免费的开源跨平台的功能测试解决方案。它提供了一个图形界面和企业级功能,允许创建和执行自动化功能、回归、符合性和负载测试。SoapUI在一个测试环境下提供了完整的测试覆盖率,而且支持所有的标准协议和技术。 

6、质量分析 

SonarQube是一个开源的平台,现已成为代码质量管理系统的世界领先者,并且因代码质量的持续检查为众人所知。除了Java外,它还支持大多数的语言,而且可以用作Android开发,它集成了大多数的持续集成工具。SonarQube会为重复代码、编码标准、单元测试、代码覆盖、复杂代码、潜在错误、注释、设计和架构而产生报告。 

FindBugs也是开源的工具,在Lesser GNU Public license许可下发布。它运行在Java字节码上而不是源代码,可以识别和确定潜在错误的严重程度,如空指针引用、无限递归循环、Java库和死锁的错误使用。同时,它还可以作为Eclipse、NetBeans,IntelliJ IDEA的插件。可以参考FindBugs Eclipse实例。 

PMD是一个源代码分析器。它可以检测到常见的编程错误,如未使用的变量、空的catch块、不必要的对象创建等等。它支持除了包括Java的大多数语言,还包含CPD、复制粘贴探测器。 

Checkstyle的是一个开发工具,可以帮助程序员坚持按编码标准来编写Java代码,会自动启动Java代码检查。它的配置性很强,能支持几乎任何的编码标准。 

7、版本控制 

Apache Subversion是众所周知的SVN工具,是一个软件版本和版本控制系统,在一个开源许可下发布。目前,它是由一个Apache软件基金会的项目开发,也是全球性开发者和用户社区的一部分。 

Git是一个免费开源的分布式版本控制系统,能够提高大小事务的速度和效率。相对于其他的配置管理工具,Git的特色在于提供廉价的局部分支、便利的暂存区和多个工作流。每个Git工作目录是一个完整的版本库,有完整历史和完整版本的跟踪能力、独立的网络接入或中央服务器。可以查看更多Git的文章。 

8、持续集成 

Jenkins是一个屡获殊荣的应用程序,能够监视重复的工作,从建立一个软件项目到由cron运行的作业。它的基本功能是不断建立和测试软件项目,使得开发者能更容易地将变更集成到项目中,使用户更容易获得新的构建。Jenkins还可以监控外部运行任务的执行,如cron jobs,即使是运行在远程计算机上的任务。 

Apache Continuum是一个企业级持续集成服务器。提供的特性包括:自动构建、发布管理、基于角色的权限管理,以及能与其它流行构建工具和源代码管理系统相集成。 

Hudson是一个用Java编写的持续集成(CI)工具,在应用服务器上运行。它支持各种SCM工具,如Subversion、Git,可以执行Apache Ant和Apache Maven项目,以及任意shell脚本和Windows批处理命令。它监视重复任务的执行,如建立一个软件项目或由cron运行的作业。 

9、Java 应用分析 

在为分析Java应用开发最创新的智能工具方面,YourKit Java分析器是技术的领头羊。你可以在CPU和内存分析上都使用YourKit解决方案,还可以以最大生产率和零开销来分析大型应用。同时,Java分析器还有几个刚提出的分析创新,为其在各大小型企业的专业Java开发者获得了当之无愧的人气。 

JProfiler是商业许可的Java分析工具,对于分析性能瓶颈、内存泄漏、CPU负载和解决线程问题等方面非常有效,它支持在同一台机器或远程机器上进行分析。用户可以看到活跃的总字节、实例、线程、类和垃圾回收器活动的可视化表示。它可以作为一个独立应用使用,也可以作为Eclipse软件开发环境的插件。 

10、代码覆盖工具 

JaCoco是衡量和报告Java代码覆盖率的一个开源工具包。它是由Eclipse公共许可协议许可,是目前唯一能支持Java 8的字节代码覆盖工具。 

Clover是一个商业的代码覆盖工具,它提供的指标可以让程序员更好地平衡编程和测试。它在IDE或你的持续集成系统下运行,还包括能加快测试速度的测试优化。 

11、Bug跟踪 

JIRA是帮助团队规划和构建优秀产品的跟踪工具。成千上万的团队选择JIRA来捕捉和组织问题、分配工作、跟进团队活动。它是付费工具,但有一个7天的免费试用期。 

Trac是一个针对软件开发项目开发的完善wiki和问题的跟踪系统,以最简洁的方式对Web软件项目进行管理。它还可以帮助开发人员编写优秀的软件,提供了对Subversion和Git(或其他版本控制系统)的接口,集成了wiki和便捷报告程序。Trac允许wiki在问题描述和提交信息中标记,还创建了bug、任务、变更、文件和页面之间的链接和无缝引用。 

12、文档生成工具 

Javadoc是Oracle公司用来从Java源代码中生成HTML格式API文档的生成工具。IDE可以自动生成HTML代码。许多文件编辑器帮助用户生成Javadoc源,并将Javadoc信息当作程序员的内部参考。Javadoc也提供了用于创建doclets和taglets的API,让你能够进一步分析Java应用的结构。 

Document! X是自动化的Java文档工具和完整的文档编写环境的结合体,可以用来为你的Java项目创建准确的专业文档。它会自动将生成的文档集成在Java IDEs中,同时还能给库、命名空间、类、接口、构造函数、方法、属性和字段生成文档页面。 

以上就是为Java开发者提供的一系列可以提高编程效率的工具,尽情试用吧!以后,妈妈再也不用担心你的“高效开发”了! 

编译自:convenient reporting facilities; 
译者:王鹏,就职于OneAPM; 

分享到:
评论

相关推荐

    Java编程精选集锦(附源代码)

    Java编程精选集锦是一份全面且深入的Java学习资源,旨在帮助那些已经对Java有基本了解的开发者进一步提升他们的技能。这份集锦包含了各种实际应用中的编程实例,旨在通过实践来增强理论知识的理解。以下是对这份资料...

    JAVA 编程精选集锦

    Java编程精选集锦.pdf 这份资源“JAVA编程精选集锦”显然是一份关于Java编程的综合教程或参考资料,其中可能涵盖了Java语言的核心概念、语法、API使用以及编程实践等多个方面。Java是一种广泛应用的面向对象的编程...

    Java编程精选集锦

    **Java编程精选集锦**是一本致力于深入探讨Java编程技术的书籍,涵盖了广泛的主题和实践案例,旨在帮助读者提升在Java开发领域的技能和理解。书中的实例源代码提供了丰富的实践素材,让读者能够亲手操作,加深对编程...

    Java编程精选集锦[科学出版社][2003]

    《Java编程精选集锦》是2003年由科学出版社出版的一部关于Java编程的权威指南,这本书无疑是Java初学者和进阶者的重要参考资料。它涵盖了Java语言的基础知识、核心特性以及高级应用,旨在帮助读者深入理解Java编程,...

    Java经典项目集锦

    【Java经典项目集锦】是Java编程学习的重要资源集合,涵盖了多个Java开发的经典案例和实践项目,旨在帮助Java初学者和进阶者深入理解和应用Java技术。这些项目不仅能够提升编程技能,还能够锻炼实际问题解决能力,...

    Java编程精选集锦,含有很多具体的实例小程序

    本资源“Java编程精选集锦”汇集了多个具体的实例小程序,旨在为初学者和有经验的开发者提供丰富的学习材料,加深对Java语言的理解。 在Java编程中,基础知识点包括: 1. **语法基础**:Java的语法与C++类似,但...

    JAVA案例开发集锦pdf

    《JAVA案例开发集锦》是一本专注于Java编程实践的资源集合,它包含了多个精心设计的实例,旨在帮助读者深入理解Java语言的特性和应用。这本书的内容涵盖了从基础语法到高级特性,从简单程序到复杂系统的设计,是学习...

    Java实用编程技术集锦

    这部"Java实用编程技术集锦"正是针对这一强大语言的深入剖析,旨在帮助读者全面掌握Java编程技术,并提升至高手水平。 1. **基础篇** - **变量与数据类型**:Java提供了多种数据类型,包括基本类型和引用类型。...

    JAVA案例开发集锦

    这些基础案例对于巩固Java编程技能至关重要,无论你是初学者还是有经验的开发者,都能从中受益。 最后,Spring框架是Java开发中的一个明星,尤其在现代企业级应用中占据主导地位。Spring提供了依赖注入、AOP(面向...

    JAVA 重点 难点集锦

    总之,这份"JAVA 重点 难点集锦"涵盖了Java编程的各个方面,是每个Java技术人员必备的学习资源,无论你是初学者还是经验丰富的开发者,都能从中受益匪浅。通过深入学习和实践,你将能更好地驾驭Java这一强大的编程...

    java面试题集锦

    Java是一种广泛使用的面向对象的编程语言,以其跨...通过深入学习并掌握以上知识点,无论是在面试还是日常开发中,都能使你在Java编程领域更加得心应手。这份"java面试题集锦"无疑是你提升技能、准备面试的宝贵资源。

    JAVA学习书籍_java案例开发集锦

    在深入探讨《JAVA学习书籍_java案例开发集锦》这一资源之前,我们首先需要理解JAVA作为一门编程语言的核心价值。JAVA,由Sun Microsystems的詹姆斯·高斯林于1995年发布,是一种广泛应用于企业级应用、移动应用、...

    JAVA技术 资料集锦

    11. **Java 8及更高版本的新特性**:例如Lambda表达式、Stream API、Optional类等,这些新特性使得Java更加简洁高效。 12. **工具使用**:IDEA、Eclipse等集成开发环境的使用,Git版本控制,Maven或Gradle构建工具...

    JAVA案例开发集锦.rar

    《JAVA案例开发集锦》是针对Java编程语言的一份综合性的学习资料,旨在通过实际案例帮助开发者深化对Java的理解和应用。这份压缩包文件包含了"JAVA案例开发集锦.pdf",预计其中涵盖了丰富的实例和详细解析,是Java...

    java开发案例集锦

    Java开发案例集锦是一本专为Java初学者和进阶者设计的实践教程,它涵盖了Java编程语言的多个重要方面,旨在通过实例帮助读者深入理解并掌握Java编程的核心概念和技术。这本书的特点在于其丰富的代码实现,让理论知识...

    达内it培训 java培训电子书 内部资料 系列20 JAVA经典项目集锦 pdf

    这份PDF文档旨在帮助学员提升Java编程技能,通过实际项目的演练,将理论知识与实战经验相结合,从而在软件开发领域更加得心应手。 一、Java基础 在Java的学习过程中,基础尤为重要。这份资料可能涵盖了变量、数据...

    Java案例开发集锦

    这本书深入浅出地讲解了Java编程的各种技巧,通过实例帮助读者理解和掌握核心概念。 在Java开发中,了解并熟练运用各种案例是提升编程能力的重要途径。书中的案例可能包括但不限于以下知识点: 1. **基础语法与...

Global site tag (gtag.js) - Google Analytics