You can monitor these kinds of statistics, and more, with Java Management Extensions (JMX). Because the Java Virtual Machine has specific quirks with how memory is utilized (say, separating the memory space into partitions such as heap and non-heap space), just looking at the OS-level resource utilization is not generally adequate. Depending on how you configure, you may either monitor a local process or a Java process running on another system, via a graphical user interface tool such as JConsole (or VisualVM although I cannot get it run properly).
With JMX, you can even write some simple Java program to log selected statistical values periodically on a 24x7 basis and analyse them later offline.
You can refer to this document for an introduction of Java SE management and JMX technology:
- Java SE Monitoring and Management Guide
Or read the JMX specification if you wish to get more in-depth programming knowledge.