If you have a server with oracle on it, and you also have a JVM on the same machine, so that the oracle routines can use it (so far am I close??) Then when the remote clients request data from Oracle, it will go to the JVM on the oracle server, do it's thing, and send back the requested information.
Actually, even if the request came from a remote machine with a JVM running, and an application on the remote JVM sent the request, Oracle doesn't really KNOW that it was a JVM that sent the request, in only knows that "something" asked for data. So it would use the local JVM and life is good
.