There is no difference. One is a level of indirection for the other.
In most implementations, System.gc() merely calls Runtime.gc().
And of course, you have to throw in the ambiguity in the API Spec. just to confuse people, otherwise, it just wouldn't be
Java now, would it?.