Java 同步后的时钟偏移

Java 同步后的时钟偏移,java,synchronization,clock,Java,Synchronization,Clock,我正在尝试将我的系统时钟与NTP或其他等效时间源同步,如“tick.usno.navy.mil”。我首先使用Windows Internet时间设置和“与Internet时间服务器同步”更新。然后,我尝试用Java中的代码ping同一台服务器进行验证: public static void main(String[] args) { try { NTPUDPClient client = new NTPUDPClient(); client.open();

我正在尝试将我的系统时钟与NTP或其他等效时间源同步,如“tick.usno.navy.mil”。我首先使用Windows Internet时间设置和“与Internet时间服务器同步”更新。然后,我尝试用Java中的代码ping同一台服务器进行验证:

public static void main(String[] args)
{
    try {
        NTPUDPClient client = new NTPUDPClient();
        client.open();
        // use host name or IP address of target NTP server
        InetAddress hostAddr = InetAddress.getByName("tick.usno.navy.mil");
        TimeInfo info = client.getTime(hostAddr);
        info.computeDetails(); // compute offset/delay if not already done
        Long offsetValue = info.getOffset();
        Long delayValue = info.getDelay();
        String delay = (delayValue == null) ? "N/A" : delayValue.toString();
        String offset = (offsetValue == null) ? "N/A" : offsetValue.toString();

        System.out.println(" Roundtrip delay(ms)=" + delay
                        + ", clock offset(ms)=" + offset); // offset in ms

    } catch (IOException e) {
        e.printStackTrace();
    }

}
不可避免地,我会得到这样的结果:

Roundtrip delay(ms)=47, clock offset(ms)=-441
那么,为什么我在同步后立即得到时钟偏移量呢?每次互联网同步后,偏移量相当一致,所以我倾向于认为我的计算机在同步时有+/-1秒的错误?这是真的吗?还有别的事吗