mic*_*con 38 java memory-management date
我需要获得系统日期,Java提供new Date().getTime().
但我需要避免新的对象分配(我正在使用嵌入式系统).如何在不分配新Date对象的情况下获取系统时间?
Jon*_*eet 59
正如jzd所说,你可以使用System.currentTimeMillis.如果你需要在一个Date对象,但不希望创建一个新的 Date对象,你可以使用Date.setTime重用现有的Date对象.就个人而言,我讨厌Date可变的事实,但在这种特殊情况下,它可能对你有用.同样,Calendar有一个setTimeInMillis方法.
如果可能的话,最好只保留它作为一个long.如果您只需要有效的时间戳,那么这将是最好的方法.
Mar*_*iot 11
你可以用System.currentTimeMillis().
至少在OpenJDK中,Date使用它在封面下.
调用System是一个原生的JVM方法,所以我们不能肯定地说没有分配发生的事情,尽管这里似乎不太可能.
使用System.currentTimeMillis()或System.nanoTime().