Вы можете прочитать исходный код, чтобы понять, как они работают, хотя я подозреваю, что есть некоторые вариации для каждой ОС, на которые я бы не стал полагаться.
Я думаю, что, вероятно, более полезно понять ПОЧЕМУ использовать один против другого. Использование new ServerSocket(0)
проще в небольшой области, но может привести к странным привязкам / зависимостям в зависимости от тестируемой системы.
Если, например, вы пытаетесь запустить полный веб-приложение и запустить тесты на селен, я бы порекомендовал решение maven. Попытка предоставить серверный сокет в контейнер сервлета будет либо трудной и хрупкой, либо потенциально невозможной.
С другой стороны, для очень ограниченного теста типа сокета, подход new ServerSocket(0)
, вероятно, проще.