Highlights of efficient Java programming tools and Java programming tools

Source: Internet
Author: User
Tags coding standards glassfish wildfly apache tomcat soapui continuous integration tools testng netbeans

Highlights of efficient Java programming tools and Java programming tools

Java developers often find ways to write Java code faster and make programming easier. At present, more and more efficient programming tools are emerging on the market. Therefore, the following lists a series of tools, including the efficient tools that most developers have used, are using, or will certainly use in the future. The list includes the integrated development environment, integrated tools, testing and quality tools.

1Integrated Development Environment

Eclipse is the most famous and widely used Java integrated development environment (IDE). It allows developers to integrate language support and other functions into any default package, in addition, there are many custom and extended plug-ins in the Eclipse market.

IntelliJ idea has become a "popular" for developers. It is even more popular than Eclipse, including the free version and Professional Edition. IntelliJ provides coding help and productivity improvement functions for many Java EE frameworks, as well as deployment tools for most application servers.

NetBeans also belongs to the IDE class, allowing developers to quickly and easily develop desktop, mobile, and Web applications. NetBeans is free and open-source, and has a global user and developer community.

JDeveloper is a free integrated development environment provided by Oracle. It provides complete end-to-end development for Oracle Integrated middleware and integrated application products, and supports the entire development lifecycle.

2, Test

JUnit is a unit test framework in Java that is used to write and run reusable tests. It provides assertions for expected test results, test fixtures for shared common test data, and test runners ).


TestNG was developed and inspired by JUnit, but it also has some new features. Therefore, TestNG is more powerful and easy to use, such as annotation (annotations) flexible test configuration, data-driven testing and parameter support, and powerful execution model. It covers unit testing, functions, end-to-end, and integration testing, and supports various tools and plug-ins (such as Eclipse, IDEA, and Maven ).

Mockito is a mocking framework that helps developers write exquisite tests with simple APIs. The test is readable and can produce clear verification errors. Mockito can also be used to inquire about the interaction after execution. Mocks is transparent, so developers can focus on testing selected behaviors.


Arquillian is a Java and JVM testing platform that focuses on integration and functional testing. It removes unit tests and focuses on the interaction of program codes in real-time environments. Arquillian provides a selection of container lifecycle management and typical tests for testing.

3, Integration

Apache Maven is a well-known software project management and integrated tool. Based on the concept of the project Object Model (POM), its information center manages project construction, reports, and documents. Maven provides a unified building system, project information, and best development practice guidance, and supports transparent migration of new features.

Gradle is an open-source automated building system. Gradle can be automatically built, tested, released, and deployed, as well as multiple software packages or other types of projects, such as generating static websites. Gradle combines Ant's capabilities and flexibility, as well as Maven dependency management and conventions to form an efficient build method.

Apache Ant is an open-source Apache project that is licensed to be released by Apache Software. It is a collection of built-in tasks that allow developers to write, assemble, test, and run java applications. It features high flexibility and does not strictly limit the coding conventions or directory layout of Java projects.

Apache Ivy is a popular dependency management tool that focuses on flexibility and simplicity. It is a sub-project of the Apache Ant project, and Ivy is used to solve the project dependency. The external XML file defines the project dependencies and lists the resources required for building the project. Ivy then downloads resources from the artifact Repository (artifactrepository), which is flexible and configurable. Apache Ivy is integrated by Apache Ant. Therefore, it brings the dependency management advantages of Apache Maven to the Apache Ant build file, it is convenient for developers who already use Apache Ant and do not want to migrate to Apache Maven.

4, Application Server

Apache Tomcat is an open-source Web server and Servlet Container developed by the Apache Software Foundation (ASF. It implements several Java EE specifications, including Java Servlet, JavaServer Pages (JSP), Java EL, and WebSocket, and provides an HTTP Web server environment that can run Java code.

WildFly, formerly known AS JBoss AS or Jboss, is an Application server developed by Jboss and is now under development and maintenance by RedHat. It is written in Java and implements the Java platform and Enterprise Edition (Java EE) specifications. WildFly is a free open-source tool that can run on multiple platforms.

GlassFish started from Sun Microsystems's JavaEE platform and is now an open-source application server project sponsored by Oracle. The supported version is Oracle GlassFish application server. GlassFish is a free software, approved by two free software licenses: general development and publishing license (CDDL) and GNU General Public License (GPL ).

Oracle WebLogic Server is a Java EE application server. It is currently developed by Oracle and used to build and deploy enterprise application Java EE, supports new features such as reducing operating costs, improving performance, enhancing scalability, and supporting Oracle Application combinations.

5Web Application Testing

Apache JMeter is an open-source Apache project. It is actually a Java application designed for load function testing and performance testing. It was originally designed for Web applications, but has now been extended to other test functions. It can test static and dynamic resource performance, simulate one or more server loads to test its strength or analyze the overall performance of different load types.

SoapUI is a free open-source cross-platform functional testing solution. It provides a graphical interface and enterprise-level functionality that allows you to create and execute automated functions, regression, compliance, and load testing. SoapUI provides complete test coverage in a test environment and supports all standard protocols and technologies.

6Quality Analysis

SonarQube is an open-source platform and has become a world leader in code quality management systems. It is well known for its continuous inspection of code quality. In addition to Java, it also supports most languages and can be used for Android development. It integrates with most continuous integration tools. SonarQube generates reports for repeated code, encoding standards, unit tests, code coverage, complex code, potential errors, comments, designs, and architectures.

FindBugs is also an open-source tool released under the license of Lesser GNU Public license. It runs on Java bytecode rather than the source code and can identify and determine the severity of potential errors, such as null pointer reference, infinite recursive loops, Java library and deadlock error usage. It can also be used as a plug-in for Eclipse, NetBeans, and IntelliJ IDEA.

PMD is a source code analyzer. It can detect common programming errors, such as unused variables, empty catch blocks, and unnecessary object creation. It supports CPD and copy and paste detector in addition to most Java languages.

Checkstyle is a development tool that helps programmers to write Java code according to coding standards and automatically starts Java code check. It is highly configurable and supports almost any encoding standard.

7, Version Control

Apache Subversion is a well-known SVN tool. It is a software version and version control system released with an open source license. Currently, it is developed by an Apache Software Foundation project and is part of global developers and user communities.

Git is a free and open-source distributed version control system that can increase the speed and efficiency of large and small transactions. Compared with other configuration management tools, Git features low-cost local branches, convenient temporary storage areas, and multiple workflows. Each Git working directory is a complete version library with tracking capabilities of the complete history and version, independent network access or central server.

8Continuous Integration

Jenkins is an award-winning application that can monitor repetitive work, from creating a software project to running jobs by cron. Its basic function is to continuously establish and test software projects, so that developers can easily integrate changes into projects, making it easier for users to obtain new builds. Jenkins can also monitor the execution of external running tasks, such as cron jobs, even Tasks running on a remote computer.

Apache Continuum is an enterprise-level continuous Integration Server. Features provided include automatic building, release management, role-based permission management, and integration with other popular build tools and source code management systems.

Hudson is a CI tool written in Java and runs on the application server. It supports various SCM tools, such as Subversion and Git. It can execute Apache Ant and Apache Maven projects, as well as any shell scripts and Windows batch processing commands. It monitors the execution of duplicate tasks, such as creating a software project or a job running by cron.

9Java application analysis

YourKitJava analyzer is a technology leader in developing the most innovative smart tools for analyzing Java applications. You can use YourKit solution in both CPU and memory analysis, and analyze large applications with maximum productivity and zero overhead. At the same time, the Java analyzer also has several new analysis innovations that have earned a well-deserved popularity for its professional Java developers in various large and small enterprises.

JProfiler is a commercial Java analysis tool that is very effective in analyzing performance bottlenecks, memory leaks, CPU loads, and solving thread problems, it supports analysis on the same machine or remote machine. You can see a visual representation of the active total byte, instance, thread, class, and garbage collector activity. It can be used as an independent application or as a plug-in the Eclipse software development environment.

10Code coverage Tool

Jacco is an open-source toolkit for measuring and reporting Java code coverage. It is licensed by the Eclipse Public License Protocol and is currently the only byte code overwrite tool that supports Java 8.

Clover is a commercial code coverage tool that provides metrics that allow programmers to better balance programming and testing. It runs in IDE or your continuous integration system, as well as test optimization that accelerates testing.

11Bug Tracking

JIRA is a tracking tool that helps teams plan and build excellent products. Thousands of teams have chosen JIRA to capture and organize issues, allocate jobs, and follow up on team activities. It is a paid tool, but has a 7-day free trial.

Trac is a complete wiki and problem tracking system for software development and development projects. It manages Web software projects in the simplest way. It can also help developers compile excellent software and provide interfaces for Subversion and Git (or other version control systems), integrating wiki and convenient reporting programs. Trac allows the wiki to mark the Problem description and submission information, and creates links and seamless references between bugs, tasks, changes, files, and pages.

12, Document generation tools

Javadoc is a tool used by Oracle to generate html api documents from Java source code. IDE can automatically generate HTML code. Many file editors help users generate Javadoc sources and use Javadoc information as internal references for programmers. Javadoc also provides APIs for creating doclets and taglets, allowing you to further analyze the structure of Java applications.

Document! X is a combination of automated Java document tools and a complete document compiling environment. It can be used to create accurate professional documents for your Java project. It automatically integrates the generated documents into Java IDEs and generates document pages for libraries, namespaces, classes, interfaces, constructors, methods, attributes, and fields.

The above is a series of tools provided for Java developers to improve programming efficiency. Please try it out! For more information, go to the high-efficiency Java programming tool!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.