AppDynamics an application performance management solution for mission-critical Java applications. It can organize user requests and business transactions, monitor business transaction health, identify and diagnose slow requests, identify and diagnose errors, and drill down. It is built from the ground up for highly distributed service-oriented environments. It has fast root cause diagnostics at the method/class level, but creates no more than 2% overhead, even in high-volume production deployments. It can not only manage applications, but dynamically scale them in cloud and virtual environments.
Unlike other Java to Objective-C solutions, Java-Objective-C Bridge doesn't require any code generation of class stubs. It allows you to use any Objective-C libraries and frameworks from Java without having to write any native code. In addition to being able to use Objective-C objects, it allows you to pass Java objects to the objective-c runtime as delegates, so that you can write an entire Cocoa application in Java. The bridge provides 3 levels of abstraction. At the lowest level, it provides wrappers around the Objective-C runtime functions. At a slightly higher level of abstraction, it provides a procedural API to send messages to the Objective-C runtime. At the highest level of abstraction, it provides a Proxy class that serves as a wrapper around any Objective-C object that allows you to work with it in Java almost the same as if you were in Objective-C.