The issues that C faces in terms of memory correctness do not occur in Java. You can use tools like `perf` on a Java program, and I don't see why you couldn't use valgrind for natively compiled Java programs.
For debugging and observability, tell me if C (or any other platform) has anything resembling JFR for the JVM.
For debugging and observability, tell me if C (or any other platform) has anything resembling JFR for the JVM.