1. 程式人生 > >Java中使用new Date()和System.currentTimeMillis()獲取當前時間戳的區別(轉)(Java進階-性能提升)

Java中使用new Date()和System.currentTimeMillis()獲取當前時間戳的區別(轉)(Java進階-性能提升)

使用 get csdn 比較 his new mem ava 輸出

在開發過程中,通常很多人都習慣使用new Date()來獲取當前時間,使用起來也比較方便,同時還可以獲取與當前時間有關的各方面信息,例如獲取小時,分鐘等等,而且還可以格式化輸出,包含的信息是比較豐富的。但是有些時候或許你並不需要獲取那麽多信息,你只需要關心它返回的毫秒數就行了,例如getTime()。為了獲取這個時間戳,很多人也喜歡使用new Date().getTime()去獲取,咋一看沒什麽問題,但其實沒這個必要。其實看一下Java的源碼就知道了:

public Date()
{
    this(System.currentTimeMillis());
}

已經很明顯了,new Date()所做的事情其實就是調用了System.currentTimeMillis()。如果僅僅是需要或者毫秒數,那麽完全可以使用System.currentTimeMillis()去代替new Date(),效率上會高一點。況且很多人喜歡在同一個方法裏面多次使用new Date(),通常性能就是這樣一點一點地消耗掉,這裏其實可以聲明一個引用。

參考:

http://blog.csdn.net/sunhuaqiang1/article/details/49867085(以上內容轉自此篇文章)

http://blog.csdn.net/column/details/java1989.html(他的其它Java進階文章)

Java中使用new Date()和System.currentTimeMillis()獲取當前時間戳的區別(轉)(Java進階-性能提升)