Geomajas profiling project is a simple application profiling system that can be used to continuously gather profiling information in a running application. It allows you to get the number of invocations and total/average time. Profiling data can also be grouped to allow total time to be split up over different groups. There is utility code to use this for JDBC access profiling, and JMX integration for accessing the data which is gathered and reset the counters.
CmdOption is a simple annotation-driven command line parser toolkit for Java 5 applications. Everything you need is (at least one) simple configuration object. Each field and method annotated with an CmdOption annotation will be processed. Based on this config, CmdOption is able to parse any command line, guaranteeing the declared specification. The result is directly stored in the given config object. When errors occur, CmdOption gives a meaningful error message. Generated output and validation/error message can be localized.
Funcito is a Java library which simplifies access to your favorite functional programming APIs by wrapping Java methods as the function-type objects defined in those libraries. Rather than creating another functional programming API, Funcito makes it easy to define function-type objects which wrap existing methods. As a result, your code has less noise and clutter of anonymous inner classes, annotations, etc. Your code remains safe for automated refactoring, since there are no String-based reflection or forced naming conventions. The supported frameworks are Google Guava, Jedi, Functional Java, Play! Framework 2, and collections-generic.
The Geomajas API project contains some annotations that can be used to indicate which parts (which classes and which (public) methods or fields) are considered as the API. This is particularly useful for projects where you want to mark the API without the need to refactor everything to interfaces and factories.
kongcurrent provides an easy-to use helper to assist debugging issues which cause exceptions under concurrent access. It was inspired by a problem in which a non-thread-safe Map object held by a third party framework was accidentally shared between threads, causing a ConcurrentModificationException. The helper (a "monitor") creates a proxied version of an object implementing some interface. The proxy can track invocations of the objects' methods and can report on potential concurrent access on the object. This can be used to help find code paths which concurrently access the object through its interface methods. By design, the helper is extensible, and can be adapted to more specific needs.