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 http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html 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.