I want to find out the amount of memory available in the Java Virutal Machine. I tried:
<< Jlink`;InstallJava;runtime = JavaNew["java.lang.Runtime"];runtime@freeMemory
but it throws an error:
JavaNew::argx0: "There is no constructor for class java.lang.Runtime that
takes zero arguments."
However, the similar code:
dataObject = JavaNew["java.util.Date"];dataObject@toString
can print the result, although
toString doesn't have arguments either.
What happens in Java? I noticed in the Java API that
freeMemory is public native long freeMemory().
The difference is:
toString is public String toString() and
freeMemory is native. I found native's full name is Java Native Interface,but I don't have any idea to solve this.
So how to use
totalMemory() etc. with JLink?