Theodora Fragkouli

About Theodora Fragkouli

Theodora has graduated from Computer Engineering and Informatics Department in the University of Patras. She also holds a Master degree in Economics from the National and Technical University of Athens. During her studies she has been involved with a large number of projects ranging from programming and software engineering to telecommunications, hardware design and analysis.

5 tools for Java developers

A way to improve the Java code we write is to work with the best tools. So, let’s check out the 5 most used tools that IDR Solutions suggests to help Java Developers write better code.

FindBugs

FindBugs is an open source program, distributed under the terms of the Lesser GNU Public license and operates on Java bytecode rather than source code. It can identify potential errors in the code of Java programs, such as null pointer dereferences, infinite recursive loops, bad uses of the Java libraries and deadlocks.

FindBugs is mainly used for identifying serious defects in large applications and is capable of determining the severity of potential errors and are classified in ranks(scariest, scary, troubling, of concern). It is available as plug-in for Eclipse, NetBeans, IntelliJ IDEA. It can be used from the command line or within ant, eclipse, maven, netbeans and emacs.

Apache Ant

Apache Ant is an open source Apache project, released under the Apache Software License. It uses XML but is implemented in Java and is mainly used for Java projects. It consists of built-in tasks that allow developers to compile, assemble, test and run Java applications.

Ant can also be used in building non Java applications, such as C or C++ applications andgenerally in types of process which can be described in terms of targets and tasks. It is flexible and does not put restrictions on coding conventions or directory layouts for Java projects. It is available for Eclipse, NetBeans, and IntelliJ IDEA.

JProfiler

JProfiler is a commercially licensed Java profiling tool developed by ej-technologies GmbH, mainly designed for use with Java EE and Java SE applications.It can be very useful when developers need to analyze performance bottlenecks, memory leaks, CPU loads and resolve threading issues.

It supports both local and remote profiling, that is analysis of applications running on the same machine or remote machines. It can profile the information in both cases, so users can see live through a visual representation showing the load in terms of active and total bytes, instances, threads, classes, and garbage collector activites.

JProfiler it can be either a stand-alone application or a plug-in for the Eclipse, NetBeans, and IntelliJ IDEA and Orcale JDeveloper software development environments. It is also available as part of application server integration in Adobes Coldfusion and Glassfish.

Bash

Bash is a UNIX shell, or command language interpreter, written for the GNU Project as a free software replacement for the Bourne shell. It is used as a command processor, typically running in a text window, and allows for type commands which cause actions. It reads commands from a file and supports filename wildcarding, piping, command substitution, variables. It can control structures for condition-testing and iteration. It is particularly useful as it allows for the automation of some tasks using Bash scripts.

Sonarqube

SonarQube is an open source platform that has become a world leader in code quality management systems, and is well known for its Continuous Inspection of code quality.

Appart from Java it also supports C/C++, C#, PHP, Flex, Groovy, JavaScript, Python, PL/SQL, and COBOL. It can be used as part of Android development. It integrates with Maven, Ant, Gradle and other continuous integration tools. It reports on duplicated code, coding standards, unit tests, code coverage, complex code, potential bugs, comments and design and architecture.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

4 Responses to "5 tools for Java developers"

  1. Andy says:

    Nice list, and I mostly agree. What’s missing, even though it’s kind of obvious, is using an excellent IDE like IntelliJ, Eclipse or NetBeans. One of the greatest strengths of Java are in my eyes these tools (or actually swiss army knifes).

    Also I can recommend YourKit as Java Profiler. Commercial as well (not affiliated) but really simple to use and providing heaps of tools and insights.

  2. Philipp says:

    Hello,
    why do you have Apache Ant in your list?
    In the last 5 years I have never used Ant in different Java projects? Maven? Gradle?
    Why do you mention FindBugs? When using Sonarcube, you use Findbugs on the serverside already!
    And if you using IntelliJ (@Andy: I agree. THE BEST IDE for Java) you see most of the common mistakes as yellow or even red errors already.

    So my list would be:
    IntelliJ, Git, Jenkins, Sonarqube

    • Andy says:

      Philipp, I have to say, that I gave maven a try – but never really found a way to work around its quirks. We actually use Ant + Ivy in our projects and are quite happy. Of course Gradle and SBT are more modern, but Ant gets the job done as well. So it’s more or less a personal choice. I think IntelliJ supports them all quite well..

  3. Abhishek says:

    Apache Ant is really useful. We also use Ant + ivy in our projects, and its great

Leave a Reply


seven − 4 =



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below:
Close