什么是更快的方法?
System.currentTimeMillis()
或
new Date().getTime()?
是否有更快的解决方案来了解已用时间?
答案 0 :(得分:9)
如果你这样做
new Date()
它调用
/**
* Allocates a <code>Date</code> object and initializes it so that
* it represents the time at which it was allocated, measured to the
* nearest millisecond.
*
* @see java.lang.System#currentTimeMillis()
*/
public Date() {
this(System.currentTimeMillis());
}
所以它调用System.currentTimeMillis()并创建一个你立刻扔掉的对象。
如果你很幸运,逃脱分析将删除冗余对象,性能将大致相同。
但是,我不会假设Escape Analysis会启动并只是调用
long start = System.currentTimeMillis();
// do something
long time = System.currentTimeMillis() - start;
注意: