Can I monitor a Java application that is not J2EE-based?

Yes, if you are using a Sun JVM, and the JMX Remote Agent is enabled. See for more info. Note that when you monitor a non-J2EE JVM, the only available metrics are Heap Size, Heap Usage, JVM Thread Count, and custom JMX attributes.