The most useful coding tools are ones that not only improve our code, but also our productivity. When it comes to Java there are dozens of useful tools that perform both functions.
Whatever task you have at hand, there’s a Java orientated tool to help you out. Today I’ve gathered together a list of my favourites.
JAVA PROFILER
Java Profiler UI helps you resolve performance bottlenecks, pin down memory leaks and understand threading issues.
CLOVER
Clover provides the metrics of writing code that does stuff and code that tests stuff. Clover runs in your IDE or your continuous integration system, and includes test optimization to make your tests run faster, and fail more quickly.
JD-GUI
JD-GUI is a decompiler. Standalone graphics utility that displays source codes of “.class” files.
JCLARITY
jClarity offers two products – one is for performance monitoring called Illuminate and second one is census for focused on garbage collection logs and analysis.
SNAPPY
Snappy Compression/decompression library from Google Code. A great resource when speed is a requirement.
JACKSON
SPARK
Spark is a web application framework for java programmers. Spark focuses on being as simple and straight-forward as possible, without the need for cumbersome configuration, to enable very fast web application development in pure Java with minimal effort.
VISUALVM
VisualVM utilizes various available technologies like jvmstat, JMX, the Serviceability Agent (SA), and the Attach API to get the data and automatically uses the fastest and most lightweight technology to impose minimal overhead on monitored applications.
SONARQUBE
Sonarqube is a platform to manage code quality. It’s a web-based application which rules, alerts, thresholds, exclusions and settings.
BINTRAY
Bintray gives developers full control over how they store, publish, download, promote and distribute software with advanced features that fully automate the software distribution process.
JUNIT
JUnit is a framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.
GRADLE
Gradle is an automated build, test, publish, and deploy solution that also generates documentation.
TAKIPI
Takipi gives a static and dynamic code analysis technology to analyze code events in real time. The technology’s focus is large-scale Java and Scala code bases.
LIBRATO
Librato is a hosted service for monitoring and managing cloud applications, Librato can create custom dashboards in seconds without a need to set up or deploy any software.
PLUMBR
Plumbr is for performance monitoring with automated root cause detection. Plumbr exposes the underlying problems down to the single line of code causing the issue.
ECLIPSE
Eclipse is a open-source integrated development environment. If you could have just one tool for Java development, Eclipse would be a good choice.
INTELLIJ
IntelliJ provides similar features to Eclipse, with a smooth, developer-friendly experience.
YOURKIT
Yourkit combines analysis capabilities, on-demand profiling during both development and production, free embedding into production, and seamless IDE and application server integration.
SPLUNK
Splunk captures, indexes and correlates real-time data in a searchable repository from which it can generate graphs, reports, alerts, dashboards and visualizations.
PROILER
Profiler by NetBeans provides important information about the runtime behaviour of an application. Imposing relatively little overhead, the NetBeans Profiler tracks thread state, CPU performance, and memory usage.
PROFILER4J
Profiler4j is a dedicated CPU profiler Java which is user friendly and supports remote profiling and can be configured “on the fly”.
MOCKITO
Mockito is a mock library, an open-source testing framework that enables the creation, verification, and stubbing of mocks.
JETTY
Jetty is a Java HTTP (Web) server and Java Servlet container.
HIBERNATE
Hibernate is a object-relational mapper. Implements the Java persistence API.
PATTY
Patty is another profiler which uses JVMTI and native bytecode instrumentation for the analysis of the heap, reachable objects, execution time, garbage collection efficiency, code coverage and thread contention.
GCVIEWER
GCViewer is a open sourced tool which can be used to visualize data produced by the Java VM options using the vmflags -verbose:gc and -Xloggc:.
FINDBUGS
FindBugs is a static code analyzer. Classifies potential errors in code as scariest, scary, troubling, or “of concern.” Available as a standalone GUI or as a plugin for Eclipse, NetBeans, IntelliJ, Gradle, Hudson, and Jenkins.
JENKINS
Jenkins is a continuous integration tool. Customizable with more than 1000 plugins.
GUAVA
Guava is a utility library. Contains core libraries that Google relies on in Java-based projects: collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O, and so forth.
RUXIT
Ruxit automatically monitors your applications, analyzes problems, and notifies you when something goes wrong.
DRIPSTAT
DripStat is a Java/Scala performance monitoring service.
SPRING BOOT
Spring Boot includes a number of additional features to help you monitor and manage your application when it’s pushed to production.
GUICE
Guice is a lightweight dependency injection/inversion of Control (IoC) framework, from Google.
PINGDOM
Pingdom is a service that tracks the uptime, downtime, and performance of websites.
JRAT
JRat is the analysis toolkit you must use. With this tool, you can identify potential problem areas that can impact application performance.
APACHE JMETER
Apache JMeter is a testing tool that will measure functional behaviour and also the performance of your websites, databases, web services etc.
PAGERDUTY
PagerDuty is an operations performance platform delivering visibility and actionable intelligence across the entire incident lifecycle.
DUCKWARE
Duckware specializes in shareware Java applets and applications.
JIP
JIP is a high performance, low overhead profiler that is written entirely in Java.
Post a Comment