Skip to main content
Jump to: navigation, search



Inter-Process Communication (IPC) for Java allows for an interaction between an application running in a Java virtual machine and its native environment. Although the term IPC is also known to denote communication across system boundaries, this particular implementation is limited to a well-known set of system-local mechanisms. Although the I/O primitives supported by the Java platform already allow for inter-process communication, their non-functional features related to performance or security, are inferior to some of the unsupported IPC mechanisms available on today's operating systems.

IPC Mechanisms

The following mechanisms are under consideration in the context of Java IPC:

  • Signal
  • Semaphore
  • FIFO a.k.a. (Named Pipes)
  • Shared Memory
  • Domain Socket

As this is not about distributed systems, the following mechanisms are not under consideration:

  • RPC (remoting)
  • Socket (UDP or TCP)

Of course, these mechanisms are already supported by the Java platform.


Some interesting reads on related subjects, available on the web:

Back to the top