【Java用法】请使用System.currentTimeMillis()代替new Date().getTime()

简介: 【Java用法】请使用System.currentTimeMillis()代替new Date().getTime()

最近在使用阿里编码规约扫描代码(之前一个老的项目)时,发现代码里有很多使用 new Date().getTime() 来获取时间戳,而没有直接使用 System.currentTimeMillis() 来获取,实在是想不到为什么还会这样写,让我不仅想到,还是写一篇文章说明一下很有必要记录一下。

以下是阿里P3C扫描出来的代码:

其实为什么不推荐使用 new Date().getTime() 来获取时间戳,可以查看JDK源码,其中你会发现,在JDK源码中 new Date() 构造方法里还是调用的 System.currentTimeMillis() 来获取的。你再使用 new Date() 构建一个对象来获取时间戳,是多走了一步,这样效率就会降低(重新new一个Date对象,增加内存开销),虽然这个损耗的时间可以忽略不计,但是累积的多了,性能就会自然而然的下降。

 

完结!

 


相关文章
|
5天前
|
Java 关系型数据库 MySQL
Java反射的常见用法
Java反射的常见用法
|
6天前
|
自然语言处理 Java
Java IO流进阶教程:掌握字节流和字符流的高级用法!
【6月更文挑战第26天】Java IO流助你高效交换数据,包括字节流(InputStream/OutputStream)和字符流(Reader/Writer)的高级技巧。缓冲流(Buffered*)提升读写性能,对象流(Object*Stream)支持对象序列化。字符流的BufferedReader/BufferedWriter优化文本处理,注意字符集如UTF-8用于编码转换。掌握这些,优化IO操作,提升代码质量。
|
8天前
|
Java
Java多线程中notifyAll()方法用法总结
Java多线程中notifyAll()方法用法总结
|
8天前
|
Java
Java中Switch语句用法总结
Java中Switch语句用法总结
|
8天前
|
Java 数据库连接 数据库
java.sql.Timestamp用法总结
java.sql.Timestamp用法总结
|
8天前
|
Java 数据库
java.sql.timestamp用法详解
java.sql.timestamp用法详解
|
8天前
|
安全 Java
Java中System.setProperty()用法
Java中System.setProperty()用法
|
8天前
|
Java 程序员 开发者
java.lang.string用法详解
java.lang.string用法详解
|
11天前
|
存储 Java 机器人
Java中System.setProperty()用法总结
Java中System.setProperty()用法总结
|
18天前
|
Java
深入理解 Java 8 函数式接口:定义、用法与示例详解
深入理解 Java 8 函数式接口:定义、用法与示例详解
13 1