Что быстрее - System.currentTimeMillis() или Date().getTime()?

1,00
р.
Что быстрее - System.currentTimeMillis() или Date().getTime()?

Ответ
System.currentTimeMillis() чуть быстрее, чем Date().getTime():
long t = System.currentTimeMillis() for (int i = 0 i < 1000000000 i++) { System.currentTimeMillis() } System.out.println("Elapsed: " + (System.currentTimeMillis() - t))
t = System.currentTimeMillis() for (int i = 0 i < 1000000000 i++) { new Date().getTime() } System.out.println("Elapsed: " + (System.currentTimeMillis() - t))
Результат:
Elapsed: 11623 Elapsed: 11713

А причина этого очень проста, если посмотреть на исходники, то видно, что в конструкторе Date вызывается System.currentTimeMillis() (об этом тут писали):
public Date() { this(System.currentTimeMillis()) }