40 essential Java resources

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

Jackson is a JSON parser. Aims to be fast, correct, lightweight, and ergonomic for developers.

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.

Justas Markus is the co-founder & chief operating officer of Refe. He's a traveler, blogger, athlete and entrepreneur. Catch up with Justas on Twitter More articles by Justas Markus
Home CSS Deals HTML HTML5 Java JavaScript jQuery Miscellaneous Mobile MySQL News PHP Resources Security Snippet Tools Tutorial Web Development Web Services WordPress