If you are using solarflare, you can use their API to do kernel bypass (I am not using it directly, so can't provide more details). You can also use a messaging broduct like 29West LBM or IBM LLM which support rich functionality over various hardware.
As @eSniff mentioned, the JRE has transferFrom() / transferTo() API which right now is used to expose the sendfile(2) equivalent for the systems that support it. The semantics of the API is defined so it can be transparently implemented to support DMA transfers between any 2 channels.