It's down to the implementation. It's unlikely that your JVM supports leap seconds.
From java.util.Date
documentation:
Although the Date class is intended to reflect coordinated universal
time (UTC), it may not do so exactly, depending on the host
environment of the Java Virtual Machine. Nearly all modern operating
systems assume that 1 day = 24 × 60 × 60 = 86400 seconds in all cases.
In UTC, however, about once every year or two there is an extra
second, called a "leap second." The leap second is always added as the
last second of the day, and always on December 31 or June 30. For
example, the last minute of the year 1995 was 61 seconds long, thanks
to an added leap second. Most computer clocks are not accurate enough
to be able to reflect the leap-second distinction.
(Out of interest, and not connected at all with Java, Google NTP servers stretch the seconds in a day that has a leap second, so the extra time is allocated linearly across the seconds in that day.)