Java debug using socket vs shared memory

Shared memory will be faster :-)

The only advantage of sockets on same machine I can think of is that you have the same, universal debugging protocol, so when you deploy your app to a remote server the only visible change will be the ip.


What are the advantages of using Socket transport (...)?

The advantage of using Socket transport on the same machine is to ignore incompatibilities between the IDE JDK and the application's (or web-application) JDK.

Example:

Connect to a application that run on JDK32-bit will fail if the IDE is running a JDK64-bit using shared memory. In this case:

  • You MUST use Socket on the same machine.