Это делается операционной системой, а не JVM. Он использует таблицу маршрутизации, чтобы определить, какой интерфейс может маршрутизировать к месту назначения, которое вы пытаетесь достичь, и использовать его.
Если у вас есть несколько интерфейсов, которые могут маршрутизировать к указанному месту назначения, теоретически вы должны быть в состоянии выбрать, какой адрес источника вы будете использовать, но я не знаю, можете ли вы на самом деле --- возможно, связывание до подключения будет делать? Но тогда, поскольку у вас не будет доступа к таблице маршрутизации, как вы решаете, какие интерфейсы могут достигать места назначения?