A collection of efficient Java programming tools

Source: Internet
Author: User

Java developers often find ways to write Java code more quickly, making programming easier. At present, more and more efficient programming tools are emerging in the market. So, here's a summary of a list of tools that most developers have used, are using, or are going to use in the future. This list includes an integrated development environment, integration tools, testing, and quality tools.

1. Integrated development Environment

Eclipse is the most famous and widely used Java integrated development environment (IDE) that allows developers to combine language support and other features into any of the default packages, and the eclipse market has many custom and extended plugins.

IntelliJ has been "sought after" by developers, even more favored than eclipse, with free and Pro editions. [IntelliJ] (http://www.javacodegeeks.com/tutorials/java-tutorials/core-java-tutorials/#IntelliJ idea) for many Java The EE framework provides coding help and productivity enhancements for the framework, 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 that provides complete end-to-end development for Oracle converged middleware and converged application products, supporting the entire development lifecycle.

2. Testing

JUnit is a unit test framework for the Java language that is used to write and run repeatable tests. It provides assertions for testing expected results, provides test fixtures for shared common test data, and test runners to run tests. You can take a look at the JUnit tutorial here.

TestNG was developed by JUnit, but also has some new features, so the testng is more powerful and easier to use, such as annotations (annotations), flexible test configurations, data-driven testing and parameter support, and a powerful execution model. It covers unit testing, functionality, end-to-end, integration testing, and supports a variety of tools and plugins (Eclipse, Idea, MAVEN, etc.). Refer to the article on unit testing and integration testing using Maven Failsafe and TestNG, respectively.

Mockito is a mocking framework that helps developers write beautiful tests with simple APIs. Its tests are readable and can produce clear validation errors. You can also use Mockito to inquire about interactions after they are executed. The mocks is transparent, so developers can focus on testing the selected behavior. More details can be found in Mockito's related articles.

Arquillian is a test platform for Java and the JVM, focusing primarily on integration and functional testing. It removes unit tests and focuses on the interaction of program code in real-time environments. Arquillian is equipped with container lifecycle management and typical Test selection for testing.

3. Integration

Apache maven is a very well-known software project management and synthesis tool. Based on the concept of the Project object Model (POM), its information center manages the construction, reporting, and documentation of the project. MAVEN provides a unified build system, project information, and best-practice guidance for development, and enables transparent migration of new features.

Gradle is an open source automated building system. Gradle can be automatically built, tested, published, deployed, as well as a variety of packages or other types of projects, such as generating static Web sites. Gradle combines ant's capabilities and flexibility, as well as Maven's dependency management and conventions, to create an efficient way to build.

Apache Ant is an open-source Apache project that is released via Apache software licensing. It is made up of a variety of built-in tasks that allow developers to write, assemble, test, and run Java applications. It is characterized by a high degree of 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 subproject of the Apache Ant Project, and Ivy is used to resolve project dependencies. The external XML file defines the project dependencies and lists the required resources for building the project. Ivy then downloads resources from the Artifact Repository (artifact repository), which is flexible and configurable. Apache Ivy is integrated with Apache Apache ant, so the dependency management benefits of Apache Maven are also brought to Apache ant build files for those who already use Apache Ant and do not want to migrate to Apache The developer of MAVEN provides the convenience.

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. To learn more please click here.

WildFly, formerly known as JBoss as or JBoss, is an application server developed by JBoss and is now being developed and maintained by Red Hat. It is written in Java and implements the Java Platform and Enterprise Edition (Java EE) specification. Wildfly is a free open source tool that can be run on multiple platforms.

GlassFish was started by Sun Microsystems's Java EE platform and is now an open-source application server project sponsored by Oracle Corporation. Supported versions are called Oracle GlassFish application servers. GlassFish is free software, approved by two free software licenses: General development and Release license (CDDL) and GNU General Public License (GPL).

Oracle WebLogic Server is a Java EE application Server, currently developed by Oracle to build and deploy enterprise applications Java EE, supporting new features that reduce operational costs, improve performance, enhance scalability, and support Oracle application portfolio.

5. Web Application Testing

Apache JMeter is an open-source Apache project that 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 overall performance under different load types. You can view more details about the JMeter.

Soapui is a free, open-source, cross-platform functional testing solution. It provides a graphical interface and enterprise-class capabilities that allow the creation and execution of automated functions, regression, compliance, and load testing. SOAPUI provides complete test coverage in a test environment and supports all standard protocols and technologies.

6. Quality Analysis

Sonarqube is an open-source platform that has become a world leader in code quality management systems and is known for its continuous inspection of code qualities. In addition to Java, it supports most languages and can be used as an Android developer, integrating most of the continuous integration tools. Sonarqube generates reports for repetitive code, coding standards, unit tests, code overrides, complex code, potential errors, annotations, designs, and schemas.

FindBugs is also an open Source tool, released under the Lesser GNU Public License license. It runs on Java bytecode instead of source code, and can identify and determine the severity of potential errors, such as null pointer references, infinite recursive loops, Java libraries, and incorrect use of deadlocks. At the same time, it can be used as a plugin for Eclipse, Netbeans,intellij idea. You can refer to the FindBugs Eclipse instance.

PMD is a source code parser. It can detect common programming errors such as unused variables, empty catch blocks, unnecessary object creation, and so on. It supports the CPD, copy-paste probe, in addition to most languages including Java.

Checkstyle is a development tool that can help programmers adhere to coding standards to write Java code, will automatically start Java code inspection. It is highly configurable and can support almost any coding standard.

7. Version control

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

Git is a free, open source distributed version control system that improves the speed and efficiency of large and small transactions. Compared to other configuration management tools, Git is characterised by providing inexpensive local branching, convenient staging area, and multiple workflows. Each git working directory is a full repository with full history and full versions of tracking capabilities, independent network access or a central server. You can view more git articles.

8. Continuous Integration

Jenkins is an award-winning application that monitors repetitive work, from building a software project to running a cron job. Its basic function is to constantly build and test software projects, making it easier for developers to integrate changes into projects, making it easier for users to get new builds. Jenkins can also monitor the execution of external running tasks, such as cron jobs, even if it is running on a remote computer.

Apache Continuum is an enterprise-class continuous Integration Server. Features include automated build, release management, role-based rights management, and integration with other popular build tools and source code management systems.

Hudson is a continuous integration (CI) tool written in Java that runs on an application server. It supports a variety of SCM tools, such as subversion, Git, and can execute Apache Ant and Apache Maven projects, as well as any shell scripts and Windows batch commands. It monitors the execution of repetitive tasks, such as establishing a software project or a job run by Cron.

9. Java Application Analysis

The Yourkit Java parser is the technology leader in developing the most innovative smart tools for analyzing Java applications. You can use the Yourkit solution for both CPU and memory analysis, and you can analyze large applications with maximum productivity and 0 overhead. At the same time, the Java parser has several new analytical innovations, which have earned a reputation for professional Java developers in large and small businesses.

Jprofiler is a commercially licensed Java analysis tool that is very effective in analyzing performance bottlenecks, memory leaks, CPU load, and troubleshooting threading issues, and it supports analysis on the same machine or on a remote machine. The user can see a visual representation of the active total bytes, instance, thread, class, and garbage collector activity. It can be used as a standalone application or as a plug-in for the Eclipse Software development environment.

10. Code Coverage Tool

Jacoco is an open source toolkit for measuring and reporting Java code coverage. It is licensed by the Eclipse Public License and is currently the only byte Code overlay 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 under the IDE or your continuous integration system, and also includes test optimizations that speed up testing.

11. Bug Tracking

Jira is a tracking tool that helps teams plan and build great products. Thousands of teams choose Jira to capture and organize problems, assign jobs, and follow up on team activities. It is a paid tool, but there is a 7-day free trial.

Trac is a complete wiki and problem tracking system developed for software development projects to manage web software projects in the most concise way. It can also help developers write good software, provide interfaces to subversion and Git (or other version control systems), and integrate wikis and easy-to-report programs. TRAC allows wikis to be tagged in problem descriptions and submission messages, as well as creating bugs, tasks, changes, links between files and pages, and seamless references.

12. Document Generation Tool

Javadoc is a build tool used by Oracle to generate HTML-formatted API documents from Java source code. The IDE can automatically generate HTML code. Many file editors help users generate Javadoc sources and use Javadoc information as a programmer's internal reference. Javadoc also provides APIs for creating doclets and taglets, allowing you to further analyze the structure of your Java application.

document! X is a combination of automated Java documentation Tools and a complete document authoring environment that can be used to create accurate, professional documentation for your Java project. It automatically integrates the generated documents into Java Ides, while also generating document pages for libraries, namespaces, classes, interfaces, constructors, methods, properties, and fields.

A collection of efficient Java programming tools

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.